mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-06-19 04:59:43 +08:00
- 新增标签展示元素配置,支持单行、双行布局和元素排序 - 在设置面板提供标签展示入口并持久化用户配置 - 标签右键菜单增加标签设置入口并优化悬浮信息展示 - 关闭外部 SQL 文件标签前检测未保存草稿并支持保存后关闭
45 lines
1.2 KiB
TypeScript
45 lines
1.2 KiB
TypeScript
const drafts = new Map<string, string>();
|
|
|
|
const toTabId = (value: unknown): string => String(value ?? '').trim();
|
|
|
|
export const setQueryTabDraft = (tabId: string, content: string): void => {
|
|
const id = toTabId(tabId);
|
|
if (!id) return;
|
|
drafts.set(id, String(content ?? ''));
|
|
};
|
|
|
|
export const getQueryTabDraft = (tabId: string, fallback = ''): string => {
|
|
const id = toTabId(tabId);
|
|
if (!id || !drafts.has(id)) {
|
|
return fallback;
|
|
}
|
|
return drafts.get(id) ?? fallback;
|
|
};
|
|
|
|
export const clearQueryTabDraft = (tabId: string): void => {
|
|
const id = toTabId(tabId);
|
|
if (!id) return;
|
|
drafts.delete(id);
|
|
};
|
|
|
|
export const hasQueryTabDraft = (tabId: string): boolean => {
|
|
const id = toTabId(tabId);
|
|
return Boolean(id && drafts.has(id));
|
|
};
|
|
|
|
export const setSQLFileTabDraft = (tabId: string, content: string): void => {
|
|
setQueryTabDraft(tabId, content);
|
|
};
|
|
|
|
export const getSQLFileTabDraft = (tabId: string, fallback = ''): string => {
|
|
return getQueryTabDraft(tabId, fallback);
|
|
};
|
|
|
|
export const clearSQLFileTabDraft = (tabId: string): void => {
|
|
clearQueryTabDraft(tabId);
|
|
};
|
|
|
|
export const hasSQLFileTabDraft = (tabId: string): boolean => {
|
|
return hasQueryTabDraft(tabId);
|
|
};
|