From b3e9bbaeaa5e21cb333823555e114f49f9afff51 Mon Sep 17 00:00:00 2001 From: Soybean Date: Sat, 27 Apr 2024 02:00:51 +0800 Subject: [PATCH] perf(projects): perf judgement the fixed tab --- src/store/modules/tab/shared.ts | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/store/modules/tab/shared.ts b/src/store/modules/tab/shared.ts index a6acbf01..5a287002 100644 --- a/src/store/modules/tab/shared.ts +++ b/src/store/modules/tab/shared.ts @@ -16,17 +16,24 @@ export function getAllTabs(tabs: App.Global.Tab[], homeTab?: App.Global.Tab) { const filterHomeTabs = tabs.filter(tab => tab.id !== homeTab.id); - const fixedTabs = filterHomeTabs - .filter(tab => tab.fixedIndex !== undefined && tab.fixedIndex !== null) - .sort((a, b) => a.fixedIndex! - b.fixedIndex!); + const fixedTabs = filterHomeTabs.filter(isFixedTab).sort((a, b) => a.fixedIndex! - b.fixedIndex!); - const remainTabs = filterHomeTabs.filter(tab => tab.fixedIndex === undefined || tab.fixedIndex === null); + const remainTabs = filterHomeTabs.filter(tab => !isFixedTab(tab)); const allTabs = [homeTab, ...fixedTabs, ...remainTabs]; return updateTabsLabel(allTabs); } +/** + * Is fixed tab + * + * @param tab + */ +function isFixedTab(tab: App.Global.Tab) { + return tab.fixedIndex !== undefined && tab.fixedIndex !== null; +} + /** * Get tab id by route * @@ -177,7 +184,7 @@ export function extractTabsByAllRoutes(router: Router, tabs: App.Global.Tab[]) { * @param tabs */ export function getFixedTabs(tabs: App.Global.Tab[]) { - return tabs.filter(tab => tab.fixedIndex !== undefined && tab.fixedIndex !== null); + return tabs.filter(isFixedTab); } /**