mirror of
https://github.com/soybeanjs/soybean-admin.git
synced 2025-09-22 03:26:38 +08:00
perf(projects): perf judgement the fixed tab
This commit is contained in:
parent
c89e00d194
commit
b3e9bbaeaa
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user