fix: dir tree

This commit is contained in:
tao.chen
2026-08-13 12:12:58 +08:00
parent 3094a47298
commit 532f0d6c91
2 changed files with 15 additions and 8 deletions
@@ -109,7 +109,7 @@ type State = {
createFolder: (name: string, parentPath: string) => Promise<void>;
deleteScript: (script: ScriptItem) => Promise<void>;
deleteDirectory: (path: string) => Promise<void>;
toggleExpanded: (path: string) => Promise<void>;
toggleExpanded: (path: string, loadPath?: string) => Promise<void>;
loadChildren: (parentPath: string) => Promise<void>;
toggleScriptLock: (script: ScriptItem) => Promise<void>;
openPublishDialog: (script: ScriptItem) => void;
@@ -292,7 +292,7 @@ export const useScriptWorkspaceStore = create<State>((set, get) => {
}
},
toggleExpanded: async (path) => {
toggleExpanded: async (path, loadPath) => {
const state = get();
const isOpen = state.expandedPaths.has(path);
const next = new Set(state.expandedPaths);
@@ -301,8 +301,9 @@ export const useScriptWorkspaceStore = create<State>((set, get) => {
} else {
next.add(path);
// group key (`__group__<owner_id>`) 不是 workspace 路径,不调 loadChildren
if (!path.startsWith("__group__") && !state.loadedChildPaths.has(path)) {
void get().loadChildren(path);
const actualLoadPath = loadPath ?? path;
if (!actualLoadPath.startsWith("__group__") && !state.loadedChildPaths.has(actualLoadPath)) {
void get().loadChildren(actualLoadPath);
}
}
set({ expandedPaths: next });