mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-07-01 18:11:33 +08:00
✨ feat(editor): 完善 SQL 编辑与数据编辑交互
- 结果区状态按 SQL Tab 独立保存,快捷键可恢复手动隐藏面板 - 对象设计保留完整字段类型和可空信息,完善兼容驱动 DDL 元数据 - 数据编辑新增手动/自动提交设置和自动提交倒计时 - 修复 schema 视图定位时找不到左侧树节点的问题
This commit is contained in:
@@ -2021,7 +2021,9 @@ const QueryEditor: React.FC<{ tab: TabData; isActive?: boolean }> = ({ tab, isAc
|
||||
const setSqlFormatOptions = useStore(state => state.setSqlFormatOptions);
|
||||
const queryOptions = useStore(state => state.queryOptions);
|
||||
const setQueryOptions = useStore(state => state.setQueryOptions);
|
||||
const [isResultPanelVisible, setIsResultPanelVisible] = useState(Boolean(queryOptions?.showQueryResultsPanel));
|
||||
const [isResultPanelVisible, setIsResultPanelVisible] = useState(
|
||||
() => tab.resultPanelVisible === true
|
||||
);
|
||||
const shortcutOptions = useStore(state => state.shortcutOptions);
|
||||
const activeShortcutPlatform = getShortcutPlatform(isMacLikePlatform());
|
||||
const runQueryShortcutBinding = useMemo(
|
||||
@@ -2045,19 +2047,19 @@ const QueryEditor: React.FC<{ tab: TabData; isActive?: boolean }> = ({ tab, isAc
|
||||
[activeShortcutPlatform],
|
||||
);
|
||||
useEffect(() => {
|
||||
setIsResultPanelVisible(Boolean(queryOptions?.showQueryResultsPanel));
|
||||
}, [queryOptions?.showQueryResultsPanel]);
|
||||
setIsResultPanelVisible(tab.resultPanelVisible === true);
|
||||
}, [tab.id, tab.resultPanelVisible]);
|
||||
const updateResultPanelVisibility = useCallback((visible: boolean) => {
|
||||
setIsResultPanelVisible(visible);
|
||||
setQueryOptions({ showQueryResultsPanel: visible });
|
||||
}, [setQueryOptions]);
|
||||
updateQueryTabDraft(tab.id, { resultPanelVisible: visible });
|
||||
}, [tab.id, updateQueryTabDraft]);
|
||||
const toggleResultPanelVisibility = useCallback(() => {
|
||||
setIsResultPanelVisible((previousVisible) => {
|
||||
const nextVisible = !previousVisible;
|
||||
setQueryOptions({ showQueryResultsPanel: nextVisible });
|
||||
updateQueryTabDraft(tab.id, { resultPanelVisible: nextVisible });
|
||||
return nextVisible;
|
||||
});
|
||||
}, [setQueryOptions]);
|
||||
}, [tab.id, updateQueryTabDraft]);
|
||||
const autoFetchVisible = useAutoFetchVisibility();
|
||||
|
||||
const currentSavedQuery = useMemo(() => {
|
||||
|
||||
Reference in New Issue
Block a user