import { MainModuleConfig } from '../types/modules-types'; import { MenubarDataConfig, MenubarObjects } from '../types/menubar-types'; export class MenubarData { private static modules: MenubarDataConfig[] = []; public static addMenubarData(data: MenubarDataConfig): void { this.modules.push(data); } public static getMainModules(): MainModuleConfig[] { let mainModules: MainModuleConfig[] = []; for (let m of MenubarData.modules) { mainModules.push(m.mainModule); } return mainModules; } public static getMenubarDataByModuleName(moduleName: string): MenubarDataConfig { let target: MenubarDataConfig; for (let m of MenubarData.modules) { if (moduleName == m.mainModule.moduleName) { target = m; break; } } return target; } public static getMenubarDataByModulePath(modulePath: string): MenubarDataConfig { let target: MenubarDataConfig; for (let m of MenubarData.modules) { if (modulePath === m.mainModule.moduleRoutingPath) { target = m; break; } } return target; } public static getLevelThreeObjectByPath(objectPath: String): MenubarObjects { let target: MenubarObjects; for (let m of MenubarData.modules) { for (let L1 of m.levelOne) { for (let L2 of L1.levelTwo) { for (let L3 of L2.levelThree) { if (objectPath === L3.objectRoutingPath.split('/')[1]) { target = L3; break; } } } } } return target; } }