perf(projects): perf judgement the fixed tab

This commit is contained in:
Soybean 2024-04-27 02:00:51 +08:00
parent c89e00d194
commit b3e9bbaeaa

View File

@ -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 filterHomeTabs = tabs.filter(tab => tab.id !== homeTab.id);
const fixedTabs = filterHomeTabs const fixedTabs = filterHomeTabs.filter(isFixedTab).sort((a, b) => a.fixedIndex! - b.fixedIndex!);
.filter(tab => tab.fixedIndex !== undefined && tab.fixedIndex !== null)
.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]; const allTabs = [homeTab, ...fixedTabs, ...remainTabs];
return updateTabsLabel(allTabs); 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 * Get tab id by route
* *
@ -177,7 +184,7 @@ export function extractTabsByAllRoutes(router: Router, tabs: App.Global.Tab[]) {
* @param tabs * @param tabs
*/ */
export function getFixedTabs(tabs: App.Global.Tab[]) { export function getFixedTabs(tabs: App.Global.Tab[]) {
return tabs.filter(tab => tab.fixedIndex !== undefined && tab.fixedIndex !== null); return tabs.filter(isFixedTab);
} }
/** /**