MCPcopy Create free account
hub / github.com/bytebase/bytebase / rebuildTreeImpl

Function rebuildTreeImpl

frontend/src/views/sql-editor/Sheet/context.ts:661–692  ·  view source on GitHub ↗
(view: SheetViewMode)

Source from the content-addressed store, hash-verified

659};
660
661const rebuildTreeImpl = (view: SheetViewMode) => {
662 const filter = useSheetContextStore.getState().filter;
663 const folderContext = getFolderContext(view);
664
665 const folderPaths = new Set<string>();
666 const worksheetsByFolder = new Map<string, WorksheetLikeItem[]>();
667
668 for (const worksheet of sheetLikeItemsForView(view)) {
669 for (const path of getPathesForWorksheet(view, worksheet)) {
670 folderPaths.add(path);
671 }
672 const pwd = getPwdForWorksheet(view, worksheet);
673 if (!worksheetsByFolder.has(pwd)) worksheetsByFolder.set(pwd, []);
674 worksheetsByFolder.get(pwd)!.push(worksheet);
675 }
676
677 folderContext.mergeFolders(folderPaths);
678
679 const root: WorksheetFolderNode = {
680 ...rootTreeNodeFor(view),
681 label: rootLabelFor(view),
682 key: folderContext.rootPath,
683 };
684 const tree = buildTree(
685 view,
686 root,
687 worksheetsByFolder,
688 filter.onlyShowStarred
689 );
690 useSheetContextStore.getState().setViewSheetTree(view, tree);
691 getEvents(view).emit("on-built", { viewMode: view });
692};
693
694const rebuildTreeDebounced: Partial<Record<SheetViewMode, () => void>> = {};
695const getRebuildTreeFn = (view: SheetViewMode): (() => void) => {

Callers 3

getRebuildTreeFnFunction · 0.85
fetchSheetListForFunction · 0.85
bindWatchersFunction · 0.85

Calls 11

getFolderContextFunction · 0.85
sheetLikeItemsForViewFunction · 0.85
getPathesForWorksheetFunction · 0.85
getPwdForWorksheetFunction · 0.85
rootTreeNodeForFunction · 0.85
rootLabelForFunction · 0.85
addMethod · 0.80
buildTreeFunction · 0.70
getEventsFunction · 0.70
setMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected