import { Type } from '@angular/core'; import { RdTopbarItem } from './rdTopbarItem'; import { RdModule } from './rdModule'; import { RdFooterItem } from "./rdFooterItem"; import { RdQuickSidebarItem } from './rdQuickSidebarItem'; export interface CustomPageItem { path: string; component: Type; } export class RdMain extends RdModule { name; loginPage; customPages: Array = []; pageNotFoundComponent; modules: RdModule[] = []; localizations = { default: "en" }; /* delegates */ loginDelegate(username, password, rememberMe, captcha, callback) { callback(true); } loginCustomerDelegate(username, password, rememberMe, captcha, token, callback) { callback(true); } loginCustomerSecDelegate(referansNo, identifierSec, password, rememberMe, captcha, token, callback) { callback(true); } loginSupplierDelegate(etso, email, token, rememberMe, captcha, callback) { callback(true); } checkLoginDelegate(callback) { callback(true); } logoutDelegate(callback) { callback(true); } exportDelegate(params, callback) { callback(true); } sideBarDelegateOnLogin(response, callback) { callback(true); } sideBarDelegateOnNewTabOrReload() { } gridWithProviderSortingDelegate(src, column, increment, sortingByType) { } linkHoverDelegate(serno, callback) { callback(true) } /* end */ /* functions for framework */ getSidebar() { var sidebar = []; var modules: RdModule[] = []; modules = modules.concat(this.modules); for (var mod of modules) { sidebar.push(mod.sidebar); } return sidebar; } getModuleByName(name) { return this.modules[0]; } getSideBarItems(moduleName) { let mod = this.getModuleByName(moduleName); return mod.sidebar.subItems } getSidebarAuthControl(moduleName) { let mod = this.getModuleByName(moduleName); return mod.sideBarAuthControl } getTopbarItems(): typeof RdTopbarItem[] { var topbarItems: typeof RdTopbarItem[] = []; var modules: RdModule[] = []; modules = modules.concat(this.modules); for (var mod of modules) { topbarItems = topbarItems.concat(mod.topbar); } return topbarItems; } getFooterItems(): typeof RdFooterItem[] { var footerItems: typeof RdFooterItem[] = []; var modules: RdModule[] = []; modules = modules.concat(this.modules); for (var mod of modules) { footerItems = footerItems.concat(mod.footer); } return footerItems; } getQuickSidebarItems(): typeof RdQuickSidebarItem[] { var quickSidebarItems: typeof RdQuickSidebarItem[] = []; var modules: RdModule[] = []; modules = modules.concat(this.modules); for (var mod of modules) { quickSidebarItems = quickSidebarItems.concat(mod.quickSidebar); } return quickSidebarItems; } getTopbarSearchItem(): typeof RdTopbarItem { var topbarSearchItem: typeof RdTopbarItem; var modules: RdModule[] = []; modules = modules.concat(this.modules); for (var mod of modules) { topbarSearchItem = mod.topbarSearchItem } return topbarSearchItem; } /* end */ }