UNPKG

106 kBSource Map (JSON)View Raw
1{"version":3,"file":"soushians-layout.js.map","sources":["ng://@soushians/layout/lib/actions/layout.ts","ng://@soushians/layout/lib/reducers/layout.reducer.ts","ng://@soushians/layout/lib/actions/toolbar.ts","ng://@soushians/layout/lib/reducers/toolbar.reducer.ts","ng://@soushians/layout/lib/reducers/index.ts","ng://@soushians/layout/lib/layout.config.ts","ng://@soushians/layout/lib/services/layout-configuration.service.ts","ng://@soushians/layout/lib/dumb-components/main-menu/main-menu.component.ts","ng://@soushians/layout/lib/dumb-components/search-box/search-box.component.ts","ng://@soushians/layout/lib/dumb-components/logo-container/logo-container.component.ts","ng://@soushians/layout/lib/dumb-components/toolbar-menu/toolbar-menu.component.ts","ng://@soushians/layout/lib/dumb-components/footer/footer.component.ts","ng://@soushians/layout/lib/dumb-components/title/title.component.ts","ng://@soushians/layout/lib/dumb-components/main/main.component.ts","ng://@soushians/layout/lib/layout.effects.ts","ng://@soushians/layout/lib/dumb-components/toolbar-menu-theme-b/toolbar-menu-theme-b.ts","ng://@soushians/layout/lib/layout.module.ts","ng://@soushians/layout/lib/models/layout-outlets.enum.ts"],"sourcesContent":["import { Action } from \"@ngrx/store\";\r\nimport { LayoutModuleConfigModel } from \"../layout.config\";\r\n\r\nexport const OPEN_SIDENAV = \"[Layout] Open Sidenav\";\r\nexport const CLOSE_SIDENAV = \"[Layout] Close Sidenav\";\r\n\r\nexport enum LayoutActionTypes {\r\n\tUPDATE_LAYOUT_CONFIG = \"[Layout] UPDATE_LAYOUT_CONFIG\",\r\n\tDO_SIGNOUT = \"[Layout] do signout\",\r\n\tTITLE_CHANGED = \"[LAYOUT] TITLE_CHANGED\",\r\n\tCHANGE_LAYOUT = \"[Layout] Change Layout\",\r\n\tCHANGE_MAIN_SIDENAVE_MODE = \"[Layout] Change main sidenav mode\",\r\n\tOPEN_SECOND_SIDEBAR = \"[Layout] Open Second Sidebar\",\r\n\tCLOSE_SECOND_SIDEBAR = \"[Layout] Close Second Sidebar\",\r\n\tCHANGE_SECOND_SIDENAV_MODE = \"[Layout] Change second sidenav mode\",\r\n\tFULLSCREEN = \"[Layout] FULLSCREEN\",\r\n\tEXIT_FULLSCREEN = \"[Layout] EXIT_FULLSCREEN\",\r\n\tTOGGLE_FULLSCREEN = \"[Layout] TOGGLE_FULLSCREEN\"\r\n}\r\n\r\nexport class UpdateLayoutConfigAction implements Action {\r\n\treadonly type = LayoutActionTypes.UPDATE_LAYOUT_CONFIG;\r\n\tconstructor(public payload: Partial<LayoutModuleConfigModel>) {}\r\n}\r\nexport class OpenSidenavAction implements Action {\r\n\treadonly type = OPEN_SIDENAV;\r\n}\r\n\r\nexport class CloseSidenavAction implements Action {\r\n\treadonly type = CLOSE_SIDENAV;\r\n}\r\n\r\nexport class ChangeLayout implements Action {\r\n\treadonly type = LayoutActionTypes.CHANGE_LAYOUT;\r\n\tconstructor(public name: \"with-margin\" | \"without-margin\" | \"default\") {}\r\n}\r\n\r\nexport class ChangeSideNavMode implements Action {\r\n\treadonly type = LayoutActionTypes.CHANGE_MAIN_SIDENAVE_MODE;\r\n\tconstructor(public mode: \"over\" | \"push\" | \"side\") {}\r\n}\r\nexport class ChangeSecondSidenavMode implements Action {\r\n\treadonly type = LayoutActionTypes.CHANGE_SECOND_SIDENAV_MODE;\r\n\tconstructor(public mode: \"over\" | \"push\" | \"side\") {}\r\n}\r\nexport class DoSignoutAction implements Action {\r\n\treadonly type = LayoutActionTypes.DO_SIGNOUT;\r\n}\r\n\r\nexport class TitleChangedAction implements Action {\r\n\treadonly type = LayoutActionTypes.TITLE_CHANGED;\r\n\tconstructor(public title: string) {}\r\n}\r\nexport class OpenSecondSidenavAction implements Action {\r\n\treadonly type = LayoutActionTypes.OPEN_SECOND_SIDEBAR;\r\n}\r\n\r\nexport class CloseSecondSidenavAction implements Action {\r\n\treadonly type = LayoutActionTypes.CLOSE_SECOND_SIDEBAR;\r\n}\r\nexport class FullscreenAction implements Action {\r\n\treadonly type = LayoutActionTypes.FULLSCREEN;\r\n}\r\nexport class ExitFullscreenAction implements Action {\r\n\treadonly type = LayoutActionTypes.EXIT_FULLSCREEN;\r\n}\r\nexport class ToggleFullscreenAction implements Action {\r\n\treadonly type = LayoutActionTypes.TOGGLE_FULLSCREEN;\r\n}\r\nexport type Actions =\r\n\t| UpdateLayoutConfigAction\r\n\t| OpenSidenavAction\r\n\t| CloseSidenavAction\r\n\t| ChangeSideNavMode\r\n\t| ChangeLayout\r\n\t| DoSignoutAction\r\n\t| TitleChangedAction\r\n\t| OpenSecondSidenavAction\r\n\t| CloseSecondSidenavAction\r\n\t| FullscreenAction\r\n\t| ExitFullscreenAction\r\n\t| ChangeSecondSidenavMode\r\n\t| ToggleFullscreenAction;\r\n","import * as layout from \"../actions/layout\";\r\nimport { Action } from \"@ngrx/store\";\r\n\r\nexport interface State {\r\n\tshowMainSidenav?: boolean;\r\n\tshowSecondSideNav?: boolean;\r\n\tsecondSideNavMode?: \"over\" | \"push\" | \"side\";\r\n\tmainSideNavMode?: \"over\" | \"push\" | \"side\";\r\n\tmenuItems?: {\r\n\t\troute: string;\r\n\t\ticon: string;\r\n\t\troles: string[];\r\n\t\ttitle: string;\r\n\t}[];\r\n\tshowLeftNavBar?: boolean;\r\n\tstickyLeftNavBar?: boolean;\r\n\tlayoutMode?: \"with-margin\" | \"without-margin\" | \"default\";\r\n\ttitle?: string;\r\n\tsignoutAction: Action;\r\n\tfullscreen: boolean;\r\n}\r\n\r\nconst initialState: State = {\r\n\tshowMainSidenav: false,\r\n\tshowSecondSideNav: false,\r\n\tsecondSideNavMode: \"over\",\r\n\tmainSideNavMode: \"over\",\r\n\tshowLeftNavBar: false,\r\n\tstickyLeftNavBar: false,\r\n\tlayoutMode: \"default\",\r\n\ttitle: \"\",\r\n\tmenuItems: [],\r\n\tsignoutAction: {} as Action,\r\n\tfullscreen: false\r\n};\r\n\r\nexport function Reducer(state = initialState, action: layout.Actions): State {\r\n\tswitch (action.type) {\r\n\t\tcase layout.LayoutActionTypes.UPDATE_LAYOUT_CONFIG:\r\n\t\t\tconst _state = {};\r\n\t\t\tObject.keys(action.payload).forEach(k => {\r\n\t\t\t\tif (k in state) _state[k] = action.payload[k];\r\n\t\t\t});\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\t..._state\r\n\t\t\t};\r\n\t\tcase layout.CLOSE_SIDENAV:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tshowMainSidenav: false\r\n\t\t\t};\r\n\r\n\t\tcase layout.OPEN_SIDENAV:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tshowMainSidenav: true\r\n\t\t\t};\r\n\r\n\t\tcase layout.LayoutActionTypes.TITLE_CHANGED:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\ttitle: action.title\r\n\t\t\t};\r\n\t\tcase layout.LayoutActionTypes.CHANGE_LAYOUT:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tlayoutMode: action.name\r\n\t\t\t};\r\n\r\n\t\tcase layout.LayoutActionTypes.CHANGE_MAIN_SIDENAVE_MODE:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmainSideNavMode: action.mode\r\n\t\t\t};\r\n\r\n\t\tcase layout.LayoutActionTypes.CLOSE_SECOND_SIDEBAR:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tshowSecondSideNav: false\r\n\t\t\t};\r\n\r\n\t\tcase layout.LayoutActionTypes.OPEN_SECOND_SIDEBAR:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tshowSecondSideNav: true\r\n\t\t\t};\r\n\t\tcase layout.LayoutActionTypes.CHANGE_SECOND_SIDENAV_MODE:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tsecondSideNavMode: action.mode\r\n\t\t\t};\r\n\t\tcase layout.LayoutActionTypes.FULLSCREEN:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tfullscreen: true\r\n\t\t\t};\r\n\t\tcase layout.LayoutActionTypes.EXIT_FULLSCREEN:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tfullscreen: false\r\n\t\t\t};\r\n\t\t// case layout.LayoutActionTypes.TOGGLE_FULLSCREEN:\r\n\t\t// \treturn {\r\n\t\t// \t\t...state,\r\n\t\t// \t\tfullscreen: state.fullscreen === true ? false : true\r\n\t\t// \t};\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport const getShowSidenav = (state: State) => state.showMainSidenav;\r\nexport const getTitle = (state: State) => state.title;\r\nexport const getShowMainSidenav = (state: State) => state.showMainSidenav;\r\nexport const getMainSideNavMode = (state: State) => state.mainSideNavMode;\r\nexport const getLayoutMode = (state: State) => state.layoutMode;\r\nexport const getShowSecondSidebarStatus = (state: State) => state.showSecondSideNav;\r\nexport const getSecondSidebarMode = (state: State) => state.secondSideNavMode;\r\nexport const getFullscreenMode = (state: State) => state.fullscreen;\r\n","import { Action } from \"@ngrx/store\";\r\n\r\nexport enum ToolbarActionTypes {\r\n\tCOMPORTABLE = \"[Layout][TOOLBAR] COMPORTABLE\",\r\n\tCOMPACT = \"[Layout][TOOLBAR] COMPACT\",\r\n\tSUMMARY = \"[Layout][TOOLBAR] SUMMARY\",\r\n\tENABLE_COMFORTABLE_MODE = \"[Layout][TOOLBAR] ENABLE_COMFORTABLE_MODE\",\r\n\tDISBALE_COMFORTABLE_MODE = \"[Layout][TOOLBAR] DISBALE_COMFORTABLE_MODE\",\r\n\tVISIBLE = \"[Layout][TOOLBAR] VISIBLE\",\r\n\tINVISIBLE = \"[Layout][TOOLBAR] INVISIBLE\"\r\n}\r\n\r\nexport class ChangeToolbatToComfortableModeAction implements Action {\r\n\treadonly type = ToolbarActionTypes.COMPORTABLE;\r\n}\r\nexport class ChangeToolbatToCompactModeAction implements Action {\r\n\treadonly type = ToolbarActionTypes.COMPACT;\r\n}\r\nexport class ChangeToolbatToSummaryModeAction implements Action {\r\n\treadonly type = ToolbarActionTypes.SUMMARY;\r\n}\r\nexport class EnableComfortableModeAction implements Action {\r\n\treadonly type = ToolbarActionTypes.ENABLE_COMFORTABLE_MODE;\r\n}\r\nexport class DisableComfortableModeAction implements Action {\r\n\treadonly type = ToolbarActionTypes.DISBALE_COMFORTABLE_MODE;\r\n}\r\nexport class VisibleToolbarAction implements Action {\r\n\treadonly type = ToolbarActionTypes.VISIBLE;\r\n}\r\nexport class InvisibleToolbarAction implements Action {\r\n\treadonly type = ToolbarActionTypes.INVISIBLE;\r\n}\r\nexport type ToolbarActions =\r\n\t| ChangeToolbatToComfortableModeAction\r\n\t| ChangeToolbatToCompactModeAction\r\n\t| ChangeToolbatToSummaryModeAction\r\n\t| EnableComfortableModeAction\r\n\t| DisableComfortableModeAction\r\n\t| VisibleToolbarAction\r\n\t| InvisibleToolbarAction;\r\n","import { ToolbarActionTypes, ToolbarActions } from \"../actions\";\r\n\r\nexport interface State {\r\n\tmode: \"comfortable\" | \"compact\" | \"summary\" | \"hide\";\r\n\tenableComfortableMode: boolean;\r\n\tcomfortableModeHaveBeenDone: boolean;\r\n\tvisibility: boolean;\r\n}\r\n\r\nconst initialState: State = {\r\n\tmode: \"compact\",\r\n\tenableComfortableMode: false,\r\n\tcomfortableModeHaveBeenDone: false,\r\n\tvisibility: true\r\n};\r\n\r\nexport function Reducer(state = initialState, action: ToolbarActions): State {\r\n\tswitch (action.type) {\r\n\t\tcase ToolbarActionTypes.COMPACT:\r\n\t\t\tif (!state.visibility)\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tmode: \"hide\"\r\n\t\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmode: \"compact\"\r\n\t\t\t};\r\n\t\tcase ToolbarActionTypes.COMPORTABLE:\r\n\t\t\tif (!state.visibility)\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tmode: \"hide\"\r\n\t\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmode: state.enableComfortableMode ? \"comfortable\" : \"compact\"\r\n\t\t\t};\r\n\t\tcase ToolbarActionTypes.SUMMARY:\r\n\t\t\tif (!state.visibility)\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tmode: \"hide\"\r\n\t\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmode: \"summary\"\r\n\t\t\t};\r\n\t\tcase ToolbarActionTypes.ENABLE_COMFORTABLE_MODE:\r\n\t\t\tif (!state.visibility)\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tmode: \"hide\"\r\n\t\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tenableComfortableMode: true\r\n\t\t\t};\r\n\t\tcase ToolbarActionTypes.DISBALE_COMFORTABLE_MODE:\r\n\t\t\tif (!state.visibility)\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tmode: \"hide\"\r\n\t\t\t\t};\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmode: \"compact\",\r\n\t\t\t\tenableComfortableMode: false\r\n\t\t\t};\r\n\t\tcase ToolbarActionTypes.VISIBLE:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmode: \"compact\",\r\n\t\t\t\tvisibility: true\r\n\t\t\t};\r\n\t\tcase ToolbarActionTypes.INVISIBLE:\r\n\t\t\treturn {\r\n\t\t\t\t...state,\r\n\t\t\t\tmode: \"hide\",\r\n\t\t\t\tvisibility: false\r\n\t\t\t};\r\n\t\tdefault:\r\n\t\t\treturn state;\r\n\t}\r\n}\r\n\r\nexport const getToolbarMode = (state: State) => state.mode;\r\n","import { createSelector, createFeatureSelector, MemoizedSelector } from \"@ngrx/store\";\r\n\r\nimport * as layout from \"./layout.reducer\";\r\nimport * as fromToolbar from \"./toolbar.reducer\";\r\n\r\nexport interface LayoutState {\r\n\tlayout: layout.State;\r\n\ttoolbar: fromToolbar.State;\r\n}\r\n\r\nexport const LayoutReducers = {\r\n\tlayout: layout.Reducer,\r\n\ttoolbar: fromToolbar.Reducer\r\n};\r\nexport interface FeatureState {\r\n\tlayout: LayoutState;\r\n\ttoolbar: fromToolbar.State;\r\n}\r\n\r\n//#region selectors\r\n\r\nexport const selectLayoutState = createFeatureSelector<LayoutState>(\"layout\");\r\n\r\n//#endregion\r\n\r\nexport const getLayout = createSelector(selectLayoutState, (state: LayoutState) => state.layout);\r\n\r\nexport const getTitle = createSelector(getLayout, layout.getTitle);\r\n\r\nexport const getShowMainSidenav = createSelector(getLayout, layout.getShowMainSidenav);\r\n\r\nexport const getMainSideNavMode = createSelector(getLayout, layout.getMainSideNavMode);\r\n\r\nexport const getLayoutMode = createSelector(getLayout, layout.getLayoutMode);\r\n\r\nexport const getShowSecondSidebarStatus = createSelector(getLayout, layout.getShowSecondSidebarStatus);\r\nexport const getSecondSidebarMode = createSelector(getLayout, layout.getSecondSidebarMode);\r\nexport const getFullscreenMode = createSelector(getLayout, layout.getFullscreenMode);\r\n\r\n//#region toolbar\r\n\r\nexport const getLayoutToolbar = createSelector(selectLayoutState, (state: LayoutState) => state.toolbar);\r\nexport const getLayoutToolbarMode = createSelector(getLayoutToolbar, fromToolbar.getToolbarMode);\r\n\r\n//#endregion\r\n","import { InjectionToken } from \"@angular/core\";\r\n\r\nimport { Action } from \"@ngrx/store\";\r\n\r\nexport interface LayoutModuleConfigModel {\r\n\tshowMainSidenav?: boolean;\r\n\tshowSecondSideNav?: boolean;\r\n\tsecondSideNavMode?: \"over\" | \"push\" | \"side\";\r\n\tmainSideNavMode?: \"over\" | \"push\" | \"side\";\r\n\tmenuItems?: {\r\n\t\troute: string;\r\n\t\ticon: string;\r\n\t\troles: string[];\r\n\t\ttitle: string;\r\n\t}[];\r\n\tshowLeftNavBar?: boolean;\r\n\tstickyLeftNavBar?: boolean;\r\n\tlayoutMode?: \"with-margin\" | \"without-margin\" | \"default\";\r\n\ttitle?: string;\r\n\tsignoutAction?: Action;\r\n\tmenu_item_authorization_operator?: ([routes, user]: [any, any]) => any[];\r\n\ttheme?: string; // \"theme_A\" | \"theme_B\";\r\n}\r\n\r\nconst menu_item_authorization_operator = function ([routes, user]) {\r\n\tif (!user.Roles) return [];\r\n\tif (user.Roles.length == 0) {\r\n\t\treturn [];\r\n\t} else {\r\n\t\treturn routes.filter(route => user.Roles.some(userRole => route.roles.indexOf(userRole) > -1));\r\n\t}\r\n};\r\nexport const MODULE_DEFAULT_CONFIG: LayoutModuleConfigModel = {\r\n\ttheme: \"theme_B\",\r\n\tshowMainSidenav: false,\r\n\tshowSecondSideNav: true,\r\n\tsecondSideNavMode: \"over\", // | \"push\" | \"side\",\r\n\tmainSideNavMode: \"over\", // | \"push\" | \"side\",\r\n\tshowLeftNavBar: false,\r\n\tstickyLeftNavBar: false,\r\n\tlayoutMode: \"with-margin\", // | \"without-margin\" | \"default\",\r\n\ttitle: \"\",\r\n\tmenuItems: [\r\n\t\t{\r\n\t\t\troute: \"/\",\r\n\t\t\ticon: \"multiline_chart\",\r\n\t\t\troles: [\"Admin\", \"User\"],\r\n\t\t\ttitle: \"صفحه اصلی\"\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/configs\",\r\n\t\t\ticon: \"settings\",\r\n\t\t\troles: [\"Admin\"],\r\n\t\t\ttitle: \"تنظیمات\"\r\n\t\t},\r\n\t\t{\r\n\t\t\troute: \"/source\",\r\n\t\t\ticon: \"device_hub\",\r\n\t\t\troles: [\"Admin\"],\r\n\t\t\ttitle: \"آدرس سرویس ها\"\r\n\t\t}\r\n\t],\r\n\tsignoutAction: {} as Action,\r\n\tmenu_item_authorization_operator\r\n};\r\n\r\nexport const MODULE_CONFIG_TOKEN = new InjectionToken<LayoutModuleConfigModel>(\"LayoutModuleConfigModel\");\r\n","import { Injectable, Inject } from \"@angular/core\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\r\n\r\nimport { getConfigs } from \"@soushians/config\";\r\n\r\nimport { MODULE_CONFIG_TOKEN, MODULE_DEFAULT_CONFIG } from \"../layout.config\";\r\nimport { UpdateLayoutConfigAction } from \"../actions\";\r\nimport { LayoutModuleConfigModel } from \"../layout.config\";\r\nimport { FeatureState } from \"../reducers\";\r\n\r\n@Injectable({\r\n\tprovidedIn: \"root\"\r\n})\r\nexport class LayoutConfigurationService {\r\n\t// private _config: LayoutConfigModel;\r\n\tprivate _config: LayoutModuleConfigModel;\r\n\tget config() {\r\n\t\treturn this._config;\r\n\t}\r\n\tconfig$ = new BehaviorSubject<LayoutModuleConfigModel>(this._config);\r\n\r\n\tconstructor(@Inject(MODULE_CONFIG_TOKEN) configFile, private store: Store<FeatureState>) {\r\n\t\tthis._config = Object.assign({}, MODULE_DEFAULT_CONFIG, configFile);\r\n\t\tthis.config$.next(this._config);\r\n\t\tthis.store\r\n\t\t\t.select(getConfigs)\r\n\t\t\t.map(configs => configs.find(config => config.Name == \"layout_config\"))\r\n\t\t\t.subscribe(config => {\r\n\t\t\t\tif (!config) return;\r\n\t\t\t\tthis.store.dispatch(new UpdateLayoutConfigAction(config.Config));\r\n\t\t\t\tthis._config = Object.assign({}, this._config, config.Config);\r\n\t\t\t\tthis.config$.next(this._config);\r\n\t\t\t});\r\n\t}\r\n}\r\n","import { Component, Output, EventEmitter, Input, ViewChild, ElementRef } from \"@angular/core\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { trigger, state, style, transition, animate } from \"@angular/animations\";\r\n\r\nimport { responseStatusTypes } from \"@soushians/shared\";\r\nimport { SigninService } from \"@soushians/authentication\";\r\n\r\nimport { FeatureState } from \"../../reducers\";\r\nimport { LayoutConfigurationService } from \"../../services/layout-configuration.service\";\r\nimport { map, combineLatest } from \"rxjs/operators\";\r\nimport { getAccountInfo, UserModel } from \"@soushians/user\";\r\n\r\n@Component({\r\n\tselector: \"ngs-layout-main-menu\",\r\n\ttemplate: `<mat-list class=\"main-menu-container\">\r\n <div *ngIf=\"authenticated | async\">\r\n <a *ngFor=\"let item of routes$ | async\" (click)=\"closeSidebar.emit()\" routerLinkActive=\"active\" mat-list-item [routerLink]=\"[item.route]\">\r\n <mat-icon mat-list-icon>{{item.icon}}</mat-icon>\r\n <span mdLine>{{item.title}}</span>\r\n </a>\r\n </div>\r\n</mat-list>`,\r\n\tstyles: [`.active{background:rgba(0,0,0,.15)}.mat-list-item.active mat-icon{color:#0072ae}a.mat-list-item.child{margin-right:20px}#clearUserMenuItem{position:absolute;left:13px;top:13px}`],\r\n\tanimations: [\r\n\t\ttrigger(\"childMenu\", [\r\n\t\t\tstate(\r\n\t\t\t\t\"inactive\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t// transform: 'scale(1)',\r\n\t\t\t\t\theight: \"0px\",\r\n\t\t\t\t\topacity: \"0\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"active\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t// transform: 'scale(1.1)',\r\n\t\t\t\t\theight: \"48px\",\r\n\t\t\t\t\topacity: \"1\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition(\"inactive => active\", animate(\"100ms ease-in\")),\r\n\t\t\ttransition(\"active => inactive\", animate(\"100ms ease-out\"))\r\n\t\t]),\r\n\t\ttrigger(\"menuItem\", [\r\n\t\t\tstate(\r\n\t\t\t\t\"inactive\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\theight: \"48px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"active\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\theight: \"100px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition(\"inactive => active\", animate(\"100ms ease-in\")),\r\n\t\t\ttransition(\"active => inactive\", animate(\"100ms ease-out\"))\r\n\t\t])\r\n\t]\r\n})\r\nexport class MainMenuComponent {\r\n\t@Output() closeSidebar = new EventEmitter();\r\n\t@Input() authenticated: Observable<boolean>;\r\n\tuser$: Observable<UserModel>;\r\n\tcustomerStatus$: Observable<responseStatusTypes>;\r\n\troutes$: Observable<any>;\r\n\r\n\t@ViewChild(\"customerMobileInput\") customerMobileInput: ElementRef;\r\n\tconstructor(\r\n\t\tprivate store: Store<FeatureState>,\r\n\t\tpublic signinService: SigninService,\r\n\t\tpublic configurationService: LayoutConfigurationService\r\n\t) {\r\n\t\tthis.user$ = this.store.select(getAccountInfo);\r\n\t\tthis._observe_on_layout_config_and_filter_routes();\r\n\t}\r\n\t_observe_on_layout_config_and_filter_routes() {\r\n\t\tthis.routes$ = this.configurationService.config$.pipe(\r\n\t\t\tmap(config => config.menuItems),\r\n\t\t\tcombineLatest(this.user$),\r\n\t\t\tmap(this.configurationService.config$.getValue().menu_item_authorization_operator)\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-search-box',\r\n template: `<div class=\"search-box\">\r\n <!--<td-search-box class=\"search-box-container\" backIcon=\"arrow_back\" placeholder=\"جستجو\" [showUnderline]=\"false\" [debounce]=\"500\" [alwaysVisible]=\"false\"\r\n (searchDebounce)=\"searchInputTerm = $event\" (search)=\"searchInputTerm = $event\" (clear)=\"searchInputTerm = ''\">\r\n </td-search-box>-->\r\n</div>`,\r\n styles: [``]\r\n})\r\nexport class SearchBoxComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}","import { Component, ViewChild, AfterViewInit, ElementRef } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\r\nimport { LayoutConfigurationService } from \"../../services/layout-configuration.service\";\r\n\r\n@Component({\r\n\tselector: \"app-logo-container\",\r\n\ttemplate: `\r\n<!--<img class=\"logoTypeAnimation\" src='../../../assets/images/logo-type.png' />-->`,\r\n\tstyles: [`.logoAnimation{height:36px;cursor:pointer;z-index:2}#background{position:absolute;top:0;right:0;width:300px;height:70px}`]\r\n})\r\nexport class LogoContainerComponent {\r\n\ttoolbarAnimationState: string;\r\n\r\n\tconstructor(private sdf: LayoutConfigurationService) {}\r\n}\r\n","import { Component, Input, HostListener, Inject } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Location } from \"@angular/common\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { from } from \"rxjs/observable/from\";\r\nimport { DOCUMENT } from \"@angular/platform-browser\";\r\nimport { fromEvent } from \"rxjs/observable/fromEvent\";\r\nimport { of } from \"rxjs/observable/of\";\r\nimport { trigger, state, transition, style, animate } from \"@angular/animations\";\r\n\r\nimport { UserModel, getAccountInfo } from \"@soushians/user\";\r\n\r\nimport * as fromLayout from \"../../reducers\";\r\nimport {\r\n\tDoSignoutAction,\r\n\tOpenSecondSidenavAction,\r\n\tCloseSecondSidenavAction,\r\n\tCloseSidenavAction,\r\n\tOpenSidenavAction,\r\n\tChangeToolbatToComfortableModeAction,\r\n\tChangeToolbatToCompactModeAction,\r\n\tChangeToolbatToSummaryModeAction\r\n} from \"../../actions\";\r\nimport { FeatureState, getShowSecondSidebarStatus, getLayoutToolbar } from \"../../reducers\";\r\n\r\nimport { LayoutConfigurationService } from \"../../services/layout-configuration.service\";\r\nimport { State as toolbarState } from \"../../reducers/toolbar.reducer\";\r\nimport { map, combineLatest } from \"rxjs/operators\";\r\n\r\n@Component({\r\n\tselector: \"layout-toolbar\",\r\n\ttemplate: `<mat-toolbar [@toolbarAnimation]=\"toolbarAnimationState\">\r\n <mat-toolbar-row id=\"firstToolbar\">\r\n <!-- <div id=\"background\"></div> -->\r\n <img [@logoAnimation]=\"logoAnimationState\" id=\"logo\" routerLink='/' src='assets/images/shatel-logo.png' />\r\n\r\n <button type=\"button\" *ngIf='showSidebarMenu && false' (click)=\"toggleMainSidebar()\" mat-icon-button fxFlex=\"nogrow\" fxLayoutAlign=\"center center\">\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <span [@titleAnimation]=\"titleAnimationState\" id='app-name'>\r\n {{app_config?.Config.AppTitle}}\r\n </span>\r\n <app-title fxFlex fxLayoutAlign=\"start center\"></app-title>\r\n <app-search-box fxFlex fxLayoutAlign=\"end center\"></app-search-box>\r\n\r\n\r\n <button *ngIf=\"!displayName\" mat-button routerLink=\"auth/signin\">\r\n ورود\r\n </button>\r\n <button *ngIf=\"!displayName\" mat-button routerLink=\"auth/signup\">\r\n ثبت نام\r\n </button>\r\n <button *ngIf=\"displayName\" mat-icon-button [matMenuTriggerFor]=\"toolbarMenu1\">\r\n <mat-icon>account_circle</mat-icon>\r\n </button>\r\n <mat-menu #toolbarMenu1 class=\"rtl-dir\">\r\n <div id=\"acccountName\">\r\n {{displayName}}\r\n </div>\r\n <button routerLink='/user/panel' mat-menu-item class=\"rtl-dir\">\r\n <mat-icon>fingerprint</mat-icon>\r\n <span>\r\n مدیریت کاربری\r\n </span>\r\n </button>\r\n <button (click)='signout()' mat-menu-item class=\"rtl-dir\">\r\n <mat-icon>exit_to_app</mat-icon>\r\n <span>خروج</span>\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button type=\"button\" (click)=\"toggleSecondSidebar()\" fxFlex=\"nogrow\" fxLayoutAlign=\"center center\">\r\n <mat-icon>notifications</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)='goback()'>\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n\r\n </mat-toolbar-row>\r\n <mat-toolbar-row>\r\n <div id=\"secondToolbar\" [@menuAnimation]=\"menuAnimationState\">\r\n <router-outlet name=\"ngs-layout-before-toolbar-menu\"></router-outlet>\r\n <button mat-button *ngFor=\"let menu of menuItems$ | async\" routerLinkActive=\"active\" [routerLink]=\"[menu.route]\">\r\n <!-- <mat-icon mat-list-icon>{{menu.icon}}</mat-icon> -->\r\n <span>{{menu.title}}</span>\r\n </button>\r\n <router-outlet name=\"ngs-layout-after-toolbar-menu\"></router-outlet>\r\n </div>\r\n </mat-toolbar-row>\r\n</mat-toolbar>`,\r\n\tstyles: [`mat-toolbar{background-color:#fff!important;top:0;box-shadow:rgba(0,0,0,.5) 1px 1px 3px!important}#secondToolbar{transition:none;position:absolute}#secondToolbar button{opacity:.6;font-family:iran-sans-bold,sans-serif!important;font-size:.65em!important}#secondToolbar.active{opacity:1}#logo{transition:none;position:absolute}#app-name{padding-right:8px;font-family:iran-sans-bold,sans-serif!important}button.rtl-dir{direction:rtl!important}#acccountName{display:block;text-align:right;padding-right:20px;font-size:14px;font-weight:bolder}`],\r\n\tanimations: [\r\n\t\ttrigger(\"logoAnimation\", [\r\n\t\t\tstate(\r\n\t\t\t\t\"comfortable\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\twidth: \"90px\",\r\n\t\t\t\t\theight: \"90px\",\r\n\t\t\t\t\ttop: \"50px\",\r\n\t\t\t\t\tright: \"calc(50% - 50px)\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"compact\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\twidth: \"36px\",\r\n\t\t\t\t\theight: \"36px\",\r\n\t\t\t\t\ttop: \"13px\",\r\n\t\t\t\t\tright: \"13px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"summary\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\twidth: \"36px\",\r\n\t\t\t\t\theight: \"36px\",\r\n\t\t\t\t\ttop: \"76px\",\r\n\t\t\t\t\tright: \"10px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"hide\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\twidth: \"0\",\r\n\t\t\t\t\theight: \"0\",\r\n\t\t\t\t\ttop: \"76px\",\r\n\t\t\t\t\tright: \"10px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition(\"comfortable => compact\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"comfortable => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => comfortable\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"compact => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => compact\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => summary\", animate(\"800ms ease-in\")),\r\n\t\t\t// transition(\"comfortable => summary\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => compact\", animate(\"400ms ease-out\")),\r\n\t\t\ttransition(\"summary => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => summary\", animate(\"400ms ease-out\"))\r\n\t\t]),\r\n\t\ttrigger(\"menuAnimation\", [\r\n\t\t\tstate(\r\n\t\t\t\t\"comfortable\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tright: \"50%\",\r\n\t\t\t\t\ttransform: \"translateX(50%)\",\r\n\t\t\t\t\tbottom: \"25px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"compact\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tright: \"45px\",\r\n\t\t\t\t\ttransform: \"translateX(0)\",\r\n\t\t\t\t\tbottom: \"13px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"summary\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tright: \"75px\",\r\n\t\t\t\t\ttransform: \"translateX(0)\",\r\n\t\t\t\t\tbottom: \"14px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"hide\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tright: \"75px\",\r\n\t\t\t\t\ttransform: \"translateX(0)\",\r\n\t\t\t\t\tbottom: \"14px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition(\"comfortable => compact\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"comfortable => hide\", animate(\"400ms ease-in\")),\r\n\t\t\ttransition(\"hide => comfortable\", animate(\"600ms ease-in\")),\r\n\t\t\ttransition(\"compact => hide\", animate(\"400ms ease-in\")),\r\n\t\t\ttransition(\"hide => compact\", animate(\"600ms ease-in\")),\r\n\t\t\ttransition(\"summary => hide\", animate(\"400ms ease-in\")),\r\n\t\t\ttransition(\"hide => summary\", animate(\"600ms ease-in\")),\r\n\t\t\t// transition(\"comfortable => summary\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => compact\", animate(\"400ms ease-out\")),\r\n\t\t\ttransition(\"summary => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => summary\", animate(\"400ms ease-in\"))\r\n\t\t]),\r\n\t\ttrigger(\"titleAnimation\", [\r\n\t\t\tstate(\r\n\t\t\t\t\"comfortable\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t\"margin-right\": \"0px\",\r\n\t\t\t\t\t\"font-size\": \"larger\",\r\n\t\t\t\t\t\"font-weight\": \"bolder\",\r\n\t\t\t\t\ttransform: \"translateX(50%)\",\r\n\t\t\t\t\tright: \"calc(50%)\",\r\n\t\t\t\t\tbottom: \"75px\",\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\tpadding: 0\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"compact\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t\"margin-right\": \"0px\",\r\n\t\t\t\t\t\"font-size\": \"16px\",\r\n\t\t\t\t\t\"font-weight\": \"bolder\",\r\n\t\t\t\t\ttransform: \"translateX(0)\",\r\n\t\t\t\t\tright: \"60px\",\r\n\t\t\t\t\tbottom: \"79px\",\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\tpadding: 0\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"summary\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t\"margin-right\": \"0px\",\r\n\t\t\t\t\t\"font-size\": \"16px\",\r\n\t\t\t\t\t\"font-weight\": \"bolder\",\r\n\t\t\t\t\ttransform: \"translateX(0)\",\r\n\t\t\t\t\tright: \"60px\",\r\n\t\t\t\t\tbottom: \"79px\",\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\tpadding: 0\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"hide\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t\"margin-right\": \"0px\",\r\n\t\t\t\t\t\"font-size\": \"1px\",\r\n\t\t\t\t\t\"font-weight\": \"bolder\",\r\n\t\t\t\t\ttransform: \"translateX(0)\",\r\n\t\t\t\t\tright: \"60px\",\r\n\t\t\t\t\tbottom: \"79px\",\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\tpadding: 0\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition(\"comfortable => compact\", animate(\"850ms ease-out\")),\r\n\t\t\ttransition(\"comfortable => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => comfortable\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"compact => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => compact\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => summary\", animate(\"800ms ease-in\")),\r\n\t\t\t// transition(\"comfortable => summary\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => compact\", animate(\"400ms ease-out\")),\r\n\t\t\ttransition(\"summary => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => summary\", animate(\"400ms ease-in\"))\r\n\t\t]),\r\n\t\ttrigger(\"toolbarAnimation\", [\r\n\t\t\tstate(\r\n\t\t\t\t\"comfortable\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t// backgroundColor: \"rgba(119,181,63,1)\",\r\n\t\t\t\t\tbackgroundColor: \"rgba(256,256,256,1)\",\r\n\t\t\t\t\tcolor: \"rgba(30,30,30,1)\",\r\n\t\t\t\t\theight: \"33vh\",\r\n\t\t\t\t\ttop: \"0\",\r\n\t\t\t\t\tboxShadow: \"1px 1px 3px rgba(0,0,0,0)\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"compact\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tbackgroundColor: \"rgba(256,256,256,1)\",\r\n\t\t\t\t\theight: \"128px\",\r\n\t\t\t\t\ttop: \"0\",\r\n\t\t\t\t\tboxShadow: \"1px 1px 3px rgba(0,0,0,0.5)\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"summary\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tbackgroundColor: \"rgba(256,256,256,1)\",\r\n\t\t\t\t\theight: \"128px\",\r\n\t\t\t\t\ttop: \"-64px\",\r\n\t\t\t\t\tboxShadow: \"1px 1px 3px rgba(0,0,0,0.5)\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"hide\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tbackgroundColor: \"rgba(256,256,256,1)\",\r\n\t\t\t\t\theight: \"128px\",\r\n\t\t\t\t\ttop: \"-128px\",\r\n\t\t\t\t\tboxShadow: \"1px 1px 3px rgba(0,0,0,0.5)\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition(\"comfortable => compact\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"comfortable => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => comfortable\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"compact => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => compact\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => summary\", animate(\"800ms ease-in\")),\r\n\t\t\t// transition(\"comfortable => summary\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => compact\", animate(\"400ms ease-out\")),\r\n\t\t\ttransition(\"summary => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => summary\", animate(\"400ms ease-in\"))\r\n\t\t])\r\n\t]\r\n})\r\nexport class ToolbarMenuComponent {\r\n\tshowSecondSidenav: Observable<boolean>;\r\n\t@Input() showSidebarMenu;\r\n\t@Input(\"app-config\") app_config;\r\n\t@Input() user: UserModel;\r\n\t@Input() displayName: string;\r\n\tuser$: Observable<UserModel>;\r\n\tshowMainSidenav: Observable<boolean>;\r\n\ttoolbarAnimationState: \"comfortable\" | \"compact\" | \"summary\" | \"hide\" = \"compact\";\r\n\tmenuAnimationState: \"comfortable\" | \"compact\" | \"summary\" | \"hide\" = \"compact\";\r\n\tlogoAnimationState: \"comfortable\" | \"compact\" | \"summary\" | \"hide\" = \"compact\";\r\n\ttitleAnimationState: \"comfortable\" | \"compact\" | \"summary\" | \"hide\" = \"compact\";\r\n\tmenuItems$: Observable<any[]>;\r\n\tlastScroll: number;\r\n\tconfig: toolbarState;\r\n\tconfig$: Observable<toolbarState>;\r\n\tanchorsMode = false;\r\n\tconstructor(\r\n\t\t@Inject(DOCUMENT) private document: any,\r\n\t\tprivate _location: Location,\r\n\t\tprivate store: Store<FeatureState>,\r\n\t\tpublic configurationService: LayoutConfigurationService\r\n\t) {\r\n\t\tthis.user$ = this.store.select(getAccountInfo);\r\n\t\tthis.store.dispatch(new ChangeToolbatToComfortableModeAction());\r\n\t\tthis.config$ = this.store.select(getLayoutToolbar);\r\n\t\tthis.config$.subscribe(config => (this.config = config));\r\n\t\tthis.lastScroll = this.document.body.scrollTop;\r\n\t\tthis.showSecondSidenav = this.store.select(getShowSecondSidebarStatus);\r\n\t\tthis.showMainSidenav = this.store.select(fromLayout.getShowMainSidenav);\r\n\t\tthis.store.select(fromLayout.getLayoutToolbarMode).subscribe(state => {\r\n\t\t\tsetTimeout(() => (this.menuAnimationState = state), 1);\r\n\t\t\tsetTimeout(() => (this.logoAnimationState = state), 1);\r\n\t\t\tsetTimeout(() => (this.titleAnimationState = state), 1);\r\n\t\t\tsetTimeout(() => (this.toolbarAnimationState = state), 1);\r\n\t\t});\r\n\t\tthis._observe_on_layout_config_and_filter_routes();\r\n\r\n\t\tfromEvent(this.document.body, \"scroll\").subscribe(() => {\r\n\t\t\tconst scrolledAmount = this.document.body.scrollTop;\r\n\t\t\tconst scrollToTop =\r\n\t\t\t\tscrolledAmount - this.lastScroll < 0 && this.document.body.scrollHeight - scrolledAmount < 300;\r\n\t\t\t// let scrollToTop = scrolledAmount - this.lastScroll < 0;\r\n\t\t\tthis.lastScroll = this.document.body.scrollTop;\r\n\t\t\tif (!this.config.visibility) return;\r\n\t\t\tif (scrolledAmount == 0) {\r\n\t\t\t\tif (this.config.mode == \"comfortable\") return;\r\n\t\t\t\tthis.store.dispatch(new ChangeToolbatToComfortableModeAction());\r\n\t\t\t} else if (scrolledAmount < 200 || scrollToTop) {\r\n\t\t\t\tif (this.config.mode == \"compact\") return;\r\n\t\t\t\tthis.store.dispatch(new ChangeToolbatToCompactModeAction());\r\n\t\t\t} else {\r\n\t\t\t\tif (this.config.mode == \"summary\") return;\r\n\t\t\t\tthis.store.dispatch(new ChangeToolbatToSummaryModeAction());\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t@HostListener(\"body:scroll\", [])\r\n\tonWindowScroll() {\r\n\t\t// of(1)\r\n\t}\r\n\tsignout() {\r\n\t\tthis.store.dispatch(new DoSignoutAction());\r\n\t}\r\n\tgoback() {\r\n\t\tthis._location.back();\r\n\t}\r\n\ttoggleSecondSidebar() {\r\n\t\tlet action;\r\n\t\tthis.showSecondSidenav.subscribe(state => {\r\n\t\t\taction = state ? new CloseSecondSidenavAction() : new OpenSecondSidenavAction();\r\n\t\t});\r\n\t\tthis.store.dispatch(action);\r\n\t}\r\n\ttoggleMainSidebar() {\r\n\t\tlet action;\r\n\t\tthis.showMainSidenav.subscribe(state => {\r\n\t\t\taction = state ? new CloseSidenavAction() : new OpenSidenavAction();\r\n\t\t});\r\n\t\tthis.store.dispatch(action);\r\n\t}\r\n\t_observe_on_layout_config_and_filter_routes() {\r\n\t\tthis.menuItems$ = this.configurationService.config$.pipe(\r\n\t\t\tmap(config => config.menuItems),\r\n\t\t\tcombineLatest(this.user$),\r\n\t\t\tmap(this.configurationService.config$.getValue().menu_item_authorization_operator)\r\n\t\t);\r\n\t}\r\n}\r\n","import { Component, OnInit, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n\tselector: \"app-footer\",\r\n\ttemplate: `<div fxLayoutAlign=\"center center\" class=\"footer-text\">\r\n {{app_config?.Config.FooterCopyright}}\r\n</div>`,\r\n\tstyles: [`:host{border-top:1px solid #e5e5e5;padding:8px;overflow:hidden}.footer-text{position:relative;top:12px}`]\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\t@Input(\"app-config\") app_config;\r\n\r\n\tconstructor() {}\r\n\r\n\tngOnInit() {}\r\n}\r\n","import { Component } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Location } from \"@angular/common\";\r\n\r\nimport { TitleChangedAction } from \"../../actions\";\r\nimport { FeatureState, getTitle } from \"../../reducers\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { Route, Router, NavigationEnd } from \"@angular/router\";\r\n\r\n@Component({\r\n\tselector: \"app-title\",\r\n\ttemplate: `<div id=\"title\">\r\n {{title$ | async}}\r\n</div>`,\r\n\tstyles: [`#title{margin-right:-30px;font-weight:bolder;font-size:13px;padding:18px 40px}`]\r\n})\r\nexport class TitleComponent {\r\n\ttitle$: Observable<string>;\r\n\tmapper: { (val: NavigationEnd): string }[];\r\n\r\n\tconstructor(private store: Store<FeatureState>, private router: Router) {\r\n\t\tthis.mapper = [];\r\n\t\t// this.mapper.push((event: NavigationEnd) => {\r\n\t\t// return (event.url.endsWith('profile-edit')) ? 'ویرایش اطلاعات کاربری' : null;\r\n\t\t// });\r\n\t\t// this.mapper.push((event: NavigationEnd) => {\r\n\t\t// return (event.url.endsWith('success-payment-report')) ? 'گزارش پرداخت های موفق' : null;\r\n\t\t// });\r\n\t\t// this.mapper.push((event: NavigationEnd) => {\r\n\t\t// return (event.url.endsWith('failed-login-report')) ? 'گزارش خطاها' : null;\r\n\t\t// });\r\n\t\t// this.mapper.push((event: NavigationEnd) => {\r\n\t\t// return (event.url.endsWith('active-session-info')) ? 'جزئیات بسته فعال' : null;\r\n\t\t// });\r\n\t\t// this.mapper.push((event: NavigationEnd) => {\r\n\t\t// return (event.url.endsWith('session-detail-report')) ? 'جزئیات اتصال' : null;\r\n\t\t// });\r\n\t\t// this.mapper.push((event: NavigationEnd) => {\r\n\t\t// return (event.url.endsWith('daily-session-report')) ? 'گزارش تجمیعی روزانه' : null;\r\n\t\t// });\r\n\t\t// this.mapper.push((event: NavigationEnd) => {\r\n\t\t// return (event.url.endsWith('monthly-session-report')) ? 'گزارش تجمیعی ماهانه' : null;\r\n\t\t// });\r\n\t\t// this.mapper.push((event: NavigationEnd) => {\r\n\t\t// return (event.url.startsWith('/packages/user-packages')) ? 'لیست پکیج ها' : null;\r\n\t\t// });\r\n\t\t// this.mapper.push((event: NavigationEnd) => {\r\n\t\t// return (event.url.endsWith('/change-password')) ? 'تغییر کلمه عبور' : null;\r\n\t\t// });\r\n\r\n\t\tthis.title$ = this.store.select(getTitle);\r\n\r\n\t\tthis.router.events.subscribe(event => {\r\n\t\t\tif (event instanceof NavigationEnd) {\r\n\t\t\t\tvar title = \"\";\r\n\t\t\t\tthis.mapper.forEach(mapper => {\r\n\t\t\t\t\tlet res = mapper(event);\r\n\t\t\t\t\tif (res) {\r\n\t\t\t\t\t\ttitle = res;\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.store.dispatch(new TitleChangedAction(\"/ \" + title || \"\"));\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import { Component, ElementRef, ViewChild, AfterViewInit, OnDestroy, Input, HostBinding } from \"@angular/core\";\r\nimport { Router, NavigationEnd } from \"@angular/router\";\r\nimport { Observable } from \"rxjs/Observable\";\r\n// import { BehaviorSubject } from \"rxjs/BehaviorSubject\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { SwPush } from \"@angular/service-worker\";\r\nimport { BehaviorSubject } from \"rxjs\";\r\nimport { MatSidenav, MatSidenavContainer } from \"@angular/material\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nimport { ConfigModel, getAppConfig } from \"@soushians/config\";\r\nimport { UserModel } from \"@soushians/user\";\r\n\r\nimport {\r\n\tFeatureState,\r\n\tgetShowMainSidenav,\r\n\tgetMainSideNavMode,\r\n\tgetShowSecondSidebarStatus,\r\n\tgetSecondSidebarMode,\r\n\tgetLayoutMode,\r\n\tgetLayoutToolbarMode,\r\n\tgetFullscreenMode\r\n} from \"../../reducers\";\r\n\r\nimport {\r\n\tChangeToolbatToComfortableModeAction,\r\n\tCloseSecondSidenavAction,\r\n\tChangeSecondSidenavMode,\r\n\tOpenSecondSidenavAction,\r\n\tCloseSidenavAction,\r\n\tChangeSideNavMode,\r\n\tOpenSidenavAction,\r\n\tChangeLayout\r\n} from \"../../actions\";\r\nimport { LayoutConfigurationService } from \"../../services/layout-configuration.service\";\r\nimport { UserFacadeService } from \"@soushians/user\";\r\nimport { trigger, state, transition, animate, style } from \"@angular/animations\";\r\n\r\n@Component({\r\n\tselector: \"layout-main\",\r\n\ttemplate: `<div #mainSideNav [ngClass]=\"toolbarAnimationState | async\" [class.fullscreen]=\"isFullscreen$ | async\">\r\n <!-- <mat-progress-bar *ngIf='progressStatus$ | async' color=\"primary\" mode=\"query\"></mat-progress-bar> -->\r\n <layout-toolbar *ngIf=\"theme == 'theme_A'\" [user]=\"user$ | async\" [displayName]=\"displayName$ | async\" [showSidebarMenu]='showSidebarMenu | async' [app-config]=\"app_config\"></layout-toolbar>\r\n <layout-toolbar-b *ngIf=\"theme == 'theme_B'\" [user]=\"user$ | async\" [displayName]=\"displayName$ | async\" [showSidebarMenu]='showSidebarMenu | async' [app-config]=\"app_config\"></layout-toolbar-b>\r\n \r\n <mat-sidenav-container id=\"layout-sidnav\" [className]=\"layoutMode | async\">\r\n <mat-sidenav [mode]=\"mainSidenavMode | async\" [opened]='showMainSidenav | async' #sidebar (closedStart)=\"onSidebarClosedStart()\">\r\n <mat-nav-list>\r\n <ngs-layout-main-menu [authenticated]='showSidebarMenu' (closeSidebar)=\"sidebar.close()\" (click)=\"onSecondSidebarClosedStart()\"></ngs-layout-main-menu>\r\n </mat-nav-list>\r\n </mat-sidenav>\r\n <!-- <mat-sidenav [mode]=\"secondSidenavMode | async\" [opened]='showSecondSidenav | async' (closedStart)=\"onSecondSidebarClosedStart()\"\r\n position=\"end\" #second_sidebar class=\"second_sidebar\">\r\n <mat-nav-list fxLayout='column'>\r\n </mat-nav-list>\r\n </mat-sidenav> -->\r\n <div fxFlexLayout='column' id=\"app-main-container\" fxLayoutAlign='center center'>\r\n <div fxFlex='0 0 100'>\r\n <router-outlet></router-outlet>\r\n <footer [@mode]=\"mode$ | async\" ruleAnchor=\"layout_footer\">\r\n <router-outlet name=\"footer_A\"></router-outlet>\r\n <router-outlet name=\"footer_B\"></router-outlet>\r\n <app-footer [app-config]=\"app_config\"></app-footer>\r\n </footer>\r\n </div>\r\n </div>\r\n </mat-sidenav-container>\r\n</div>`,\r\n\tstyles: [`#purchase-fab-button{position:fixed;bottom:23px;left:31px}md-progress-bar{position:absolute!important}.with-margin #app-main-container{margin-top:25px;padding-right:25px;padding-left:25px}.second_sidebar{width:380px}.more-detail{margin:8px;box-sizing:border-box;padding:10px;text-align:center;width:96%;border:1px solid #dedede;outline:0;cursor:pointer;transition:.3s}.more-detail:hover{background:#eee}footer{border-top:1px solid #e5e5e5;margin-top:25px;background-color:#f1f1f1}`],\r\n\tanimations: [\r\n\t\ttrigger(\"mode\", [\r\n\t\t\tstate(\"visible\", style({ transform: \"scaleY(1) translateY(0)\" })),\r\n\t\t\tstate(\"invisible\", style({ height: \"0\", transform: \"scaleY(0) translateY(100%)\" })),\r\n\t\t\ttransition(\"visible => invisible\", [animate(\"1000ms\")]),\r\n\t\t\ttransition(\"invisible => visible\", [animate(\"1000ms\")])\r\n\t\t])\r\n\t]\r\n})\r\nexport class NgsLayoutMainComponent {\r\n\t@Input(\"app-config\") app_config: ConfigModel<any>;\r\n\tmode$: Observable<\"visible\" | \"invisible\">;\r\n\ttheme: string;\r\n\tuser$: Observable<UserModel>;\r\n\tdisplayName$: Observable<string>;\r\n\tisFullscreen$: Observable<boolean>;\r\n\tprogressStatus$: Observable<boolean>;\r\n\tshowSidebarMenu = new BehaviorSubject(true);\r\n\t// user$: Observable<UserModel>;\r\n\tshowMainSidenav: Observable<boolean>;\r\n\tmainSidenavMode: Observable<\"side\" | \"over\" | \"push\">;\r\n\tlayoutMode: Observable<\"with-margin\" | \"without-margin\" | \"default\">;\r\n\twidth = 100;\r\n\tshowSecondSidenav: Observable<boolean>;\r\n\tsecondSidenavMode: Observable<\"side\" | \"over\" | \"push\">;\r\n\ttoolbarAnimationState: Observable<string>;\r\n\t@ViewChild(\"mainSideNav\") mainSideNav: ElementRef;\r\n\t@HostBinding(\"class.theme_A\") theme_A: boolean;\r\n\t@HostBinding(\"class.theme_B\") theme_B: boolean;\r\n\tconstructor(\r\n\t\tprivate store: Store<FeatureState>,\r\n\t\tprivate router: Router,\r\n\t\tprivate configService: LayoutConfigurationService,\r\n\t\tprivate translateService: TranslateService,\r\n\t\tprivate userFacadeService: UserFacadeService\r\n\t) {\r\n\t\tthis._set_i18n_resource();\r\n\t\tthis.configService.config$.subscribe((config) => {\r\n\t\t\tdebugger;\r\n\t\t\tthis.theme = config.theme;\r\n\t\t\tthis.theme_A = config.theme == \"theme_A\";\r\n\t\t\tthis.theme_B = config.theme == \"theme_B\";\r\n\t\t});\r\n\t\tthis.store.dispatch(new ChangeSideNavMode(\"push\"));\r\n\t\tthis.user$ = this.store.select((s) => (s as any).user.user.data);\r\n\t\tthis.displayName$ = this.userFacadeService.getDisplayName();\r\n\t\tthis.showMainSidenav = this.store.select(getShowMainSidenav);\r\n\t\tthis.mainSidenavMode = this.store.select(getMainSideNavMode);\r\n\t\tthis.toolbarAnimationState = this.store.select(getLayoutToolbarMode);\r\n\r\n\t\tthis.isFullscreen$ = this.store.select(getFullscreenMode);\r\n\t\tthis.mode$ = this.isFullscreen$.map((mode) => (mode ? \"invisible\" : \"visible\"));\r\n\r\n\t\t//#region manage second sidebar\r\n\t\tthis.store.dispatch(new ChangeSecondSidenavMode(\"push\"));\r\n\t\tthis.showSecondSidenav = this.store.select(getShowSecondSidebarStatus);\r\n\t\tthis.secondSidenavMode = this.store.select(getSecondSidebarMode);\r\n\t\t//#endregion manage second sidebar\r\n\r\n\t\tthis.layoutMode = this.store.select(getLayoutMode);\r\n\r\n\t\tthis.router.events.filter((data) => data instanceof NavigationEnd).subscribe((event) => {\r\n\t\t\tconst hideSituations = [\r\n\t\t\t\t(event as NavigationEnd).urlAfterRedirects == \"/auth/signin\",\r\n\t\t\t\t(event as NavigationEnd).urlAfterRedirects == \"/auth/signup/register\",\r\n\t\t\t\t(event as NavigationEnd).urlAfterRedirects == \"/auth/signup/verification\",\r\n\t\t\t\t(event as NavigationEnd).urlAfterRedirects == \"/user/password/reset\"\r\n\t\t\t];\r\n\t\t\tif (hideSituations.some((i) => i)) this.showSidebarMenu.next(false);\r\n\t\t\telse this.showSidebarMenu.next(true);\r\n\t\t});\r\n\t}\r\n\r\n\t// ngAfterViewInit() {\r\n\t// \tthis.store.dispatch(new ChangeLayout(\"with-margin\"));\r\n\t// }\r\n\r\n\tonSecondSidebarClosedStart() {\r\n\t\tthis.store.dispatch(new CloseSecondSidenavAction());\r\n\t}\r\n\r\n\tonSidebarClosedStart() {\r\n\t\tthis.store.dispatch(new CloseSidenavAction());\r\n\t}\r\n\r\n\t/**\r\n\t * private methods\r\n\t */\r\n\t_set_i18n_resource() {\r\n\t\tthis.translateService.setTranslation('en', {\r\n\t\t\t__Signin: 'Signin',\r\n\t\t\t__Signup: 'Signup'\r\n\t\t});\r\n\t\tthis.translateService.setTranslation('fa', {\r\n\t\t\tSignin: 'ورود',\r\n\t\t\tSignup: 'ثبت نام'\r\n\t\t});\r\n\t}\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport \"rxjs/add/operator/map\";\r\nimport \"rxjs/add/operator/mergeMap\";\r\nimport \"rxjs/add/operator/do\";\r\nimport \"rxjs/add/operator/catch\";\r\nimport \"rxjs/add/observable/empty\";\r\nimport { Action, Store } from \"@ngrx/store\";\r\nimport { Actions, Effect } from \"@ngrx/effects\";\r\nimport { RouterAction } from \"@ngrx/router-store\";\r\nimport { switchMap, map, catchError, tap, withLatestFrom } from \"rxjs/operators\";\r\n\r\nimport { DoSignoutAction } from \"@soushians/authentication\";\r\n\r\nimport {\r\n\tLayoutActionTypes,\r\n\tInvisibleToolbarAction,\r\n\tVisibleToolbarAction,\r\n\tExitFullscreenAction,\r\n\tFullscreenAction\r\n} from \"./actions\";\r\nimport { FeatureState, getFullscreenMode } from \"./reducers\";\r\n\r\n@Injectable()\r\nexport class LayoutEffects {\r\n\tconstructor(private actions$: Actions, private router: Router, private store: Store<FeatureState>) {}\r\n\r\n\t@Effect() DoSignout$ = this.actions$.ofType(LayoutActionTypes.DO_SIGNOUT).pipe(map(() => new DoSignoutAction()));\r\n\r\n\t@Effect()\r\n\tfullscreen$ = this.actions$.ofType(LayoutActionTypes.FULLSCREEN).pipe(map(() => new InvisibleToolbarAction()));\r\n\r\n\t@Effect()\r\n\texit_fullscreen$ = this.actions$\r\n\t\t.ofType(LayoutActionTypes.EXIT_FULLSCREEN)\r\n\t\t.pipe(map(() => new VisibleToolbarAction()));\r\n\r\n\t@Effect()\r\n\tfullscren_toolbar$ = this.actions$.ofType(LayoutActionTypes.TOGGLE_FULLSCREEN).pipe(\r\n\t\twithLatestFrom(this.store.select(getFullscreenMode)),\r\n\t\tmap(([ action, toolbarMode ]) => {\r\n\t\t\tif (toolbarMode) return new ExitFullscreenAction();\r\n\t\t\telse return new FullscreenAction();\r\n\t\t})\r\n\t);\r\n}\r\n","import { Component, Input, HostListener, Inject } from \"@angular/core\";\r\nimport { BehaviorSubject } from \"rxjs/BehaviorSubject\";\r\nimport { Store } from \"@ngrx/store\";\r\nimport { Location } from \"@angular/common\";\r\nimport { Observable } from \"rxjs/Observable\";\r\nimport { from } from \"rxjs/observable/from\";\r\nimport { DOCUMENT } from \"@angular/platform-browser\";\r\nimport { fromEvent } from \"rxjs/observable/fromEvent\";\r\nimport { of } from \"rxjs/observable/of\";\r\nimport { trigger, state, transition, style, animate } from \"@angular/animations\";\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\nimport { UserModel, getAccountInfo } from \"@soushians/user\";\r\n\r\nimport * as fromLayout from \"../../reducers\";\r\nimport {\r\n\tDoSignoutAction,\r\n\tOpenSecondSidenavAction,\r\n\tCloseSecondSidenavAction,\r\n\tCloseSidenavAction,\r\n\tOpenSidenavAction,\r\n\tChangeToolbatToComfortableModeAction,\r\n\tChangeToolbatToCompactModeAction,\r\n\tChangeToolbatToSummaryModeAction\r\n} from \"../../actions\";\r\nimport { FeatureState, getShowSecondSidebarStatus, getLayoutToolbar } from \"../../reducers\";\r\n\r\nimport { LayoutConfigurationService } from \"../../services/layout-configuration.service\";\r\nimport { State as toolbarState } from \"../../reducers/toolbar.reducer\";\r\nimport { map, combineLatest } from \"rxjs/operators\";\r\n\r\n@Component({\r\n\tselector: \"layout-toolbar-b\",\r\n\ttemplate: `<mat-toolbar dir=\"rtl\" color=\"primary\" [@toolbarAnimation]=\"toolbarAnimationState\">\r\n <mat-toolbar-row dir=\"rtl\" id=\"firstToolbar\">\r\n <!-- <div id=\"background\"></div> -->\r\n <img [@logoAnimation]=\"logoAnimationState\" id=\"logo\" routerLink='/' src='assets/logos/logo-type.png' />\r\n\r\n <button type=\"button\" *ngIf='showSidebarMenu && false' (click)=\"toggleMainSidebar()\" mat-icon-button fxFlex=\"nogrow\"\r\n fxLayoutAlign=\"center center\">\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <span [@titleAnimation]=\"titleAnimationState\" id='app-name'>\r\n {{app_config?.Config.AppTitle}}\r\n </span>\r\n <app-title fxFlex fxLayoutAlign=\"start center\"></app-title>\r\n <app-search-box fxFlex fxLayoutAlign=\"end center\"></app-search-box>\r\n\r\n\r\n <button *ngIf=\"!displayName\" mat-button routerLink=\"auth/signin\">\r\n <span [translate]=\"'__Signin'\"></span>\r\n </button>\r\n <button translate *ngIf=\"!displayName\" mat-button routerLink=\"auth/signup\">\r\n __Signup\r\n </button>\r\n <button *ngIf=\"displayName\" mat-icon-button [matMenuTriggerFor]=\"toolbarMenu1\">\r\n <mat-icon>account_circle</mat-icon>\r\n </button>\r\n <mat-menu #toolbarMenu1 class=\"rtl-dir\">\r\n <div id=\"acccountName\">\r\n {{displayName}}\r\n </div>\r\n <button routerLink='/user/panel' mat-menu-item class=\"rtl-dir\">\r\n <mat-icon>fingerprint</mat-icon>\r\n <span>\r\n مدیریت کاربری\r\n </span>\r\n </button>\r\n <button (click)='signout()' mat-menu-item class=\"rtl-dir\">\r\n <mat-icon>exit_to_app</mat-icon>\r\n <span>خروج</span>\r\n </button>\r\n </mat-menu>\r\n <button mat-icon-button type=\"button\" (click)=\"toggleSecondSidebar()\" fxFlex=\"nogrow\" fxLayoutAlign=\"center center\">\r\n <mat-icon>notifications</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)='goback()'>\r\n <mat-icon>arrow_back</mat-icon>\r\n </button>\r\n\r\n </mat-toolbar-row>\r\n <mat-toolbar-row>\r\n <div id=\"secondToolbar\" [@menuAnimation]=\"menuAnimationState\">\r\n <router-outlet name=\"ngs-layout-before-toolbar-menu\"></router-outlet>\r\n <button mat-button *ngFor=\"let menu of menuItems$ | async\" routerLinkActive=\"active\" [routerLink]=\"[menu.route]\">\r\n <!-- <mat-icon mat-list-icon>{{menu.icon}}</mat-icon> -->\r\n <span>{{menu.title}}</span>\r\n </button>\r\n <router-outlet name=\"ngs-layout-after-toolbar-menu\"></router-outlet>\r\n </div>\r\n </mat-toolbar-row>\r\n</mat-toolbar>`,\r\n\tstyles: [`#secondToolbar{transition:none;position:absolute}#secondToolbar button{opacity:.6;font-family:iran-sans-bold,sans-serif!important;font-size:.65em!important;height:50px!important;border-radius:0!important}#secondToolbar button.active{border-bottom:2px solid #ff7400;opacity:1}#logo{transition:none;position:absolute}#app-name{padding-right:8px;font-family:iran-sans-bold,sans-serif!important}button.rtl-dir{direction:rtl!important}#acccountName{display:block;text-align:right;padding-right:20px;font-size:14px;font-weight:bolder}`],\r\n\tanimations: [\r\n\t\ttrigger(\"logoAnimation\", [\r\n\t\t\tstate(\r\n\t\t\t\t\"comfortable\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\theight: \"48px\",\r\n\t\t\t\t\ttop: \"50px\",\r\n\t\t\t\t\tright: \"calc(50% - 50px)\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"compact\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\theight: \"36px\",\r\n\t\t\t\t\ttop: \"13px\",\r\n\t\t\t\t\tright: \"13px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"summary\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\theight: \"36px\",\r\n\t\t\t\t\ttop: \"57px\",\r\n\t\t\t\t\tright: \"10px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"hide\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\twidth: \"0\",\r\n\t\t\t\t\theight: \"0\",\r\n\t\t\t\t\ttop: \"57px\",\r\n\t\t\t\t\tright: \"10px\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition(\"comfortable => compact\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"comfortable => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => comfortable\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"compact => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => compact\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => summary\", animate(\"800ms ease-in\")),\r\n\t\t\t// transition(\"comfortable => summary\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => compact\", animate(\"400ms ease-out\")),\r\n\t\t\ttransition(\"summary => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => summary\", animate(\"400ms ease-out\"))\r\n\t\t]),\r\n\t\ttrigger(\"menuAnimation\", [\r\n\t\t\tstate(\r\n\t\t\t\t\"comfortable\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tright: \"50%\",\r\n\t\t\t\t\ttransform: \"translateX(50%)\",\r\n\t\t\t\t\tbottom: \"0\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"compact\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tright: \"50%\",\r\n\t\t\t\t\ttransform: \"translateX(50%)\",\r\n\t\t\t\t\tbottom: \"0\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"summary\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tright: \"75px\",\r\n\t\t\t\t\ttransform: \"translateX(0)\",\r\n\t\t\t\t\tbottom: \"0\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"hide\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\tright: \"75px\",\r\n\t\t\t\t\ttransform: \"translateX(0)\",\r\n\t\t\t\t\tbottom: \"0\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition(\"comfortable => compact\", animate(\"800ms ease-in-out\")),\r\n\t\t\ttransition(\"comfortable => hide\", animate(\"400ms ease-in-out\")),\r\n\t\t\ttransition(\"hide => comfortable\", animate(\"600ms ease-in-out\")),\r\n\t\t\ttransition(\"compact => hide\", animate(\"400ms ease-in-out\")),\r\n\t\t\ttransition(\"hide => compact\", animate(\"600ms ease-in-out\")),\r\n\t\t\ttransition(\"summary => hide\", animate(\"400ms ease-in-out\")),\r\n\t\t\ttransition(\"hide => summary\", animate(\"600ms ease-in-out\")),\r\n\t\t\t// transition(\"comfortable => summary\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => compact\", animate(\"400ms ease-out\")),\r\n\t\t\ttransition(\"summary => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => summary\", animate(\"400ms ease-in-out\"))\r\n\t\t]),\r\n\t\ttrigger(\"titleAnimation\", [\r\n\t\t\tstate(\r\n\t\t\t\t\"comfortable\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t\"margin-right\": \"0px\",\r\n\t\t\t\t\t\"font-size\": \"larger\",\r\n\t\t\t\t\t\"font-weight\": \"bolder\",\r\n\t\t\t\t\ttransform: \"translateX(50%)\",\r\n\t\t\t\t\tright: \"calc(50%)\",\r\n\t\t\t\t\tbottom: \"75px\",\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\tpadding: 0\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"compact\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t\"margin-right\": \"0px\",\r\n\t\t\t\t\t\"font-size\": \"16px\",\r\n\t\t\t\t\t\"font-weight\": \"bolder\",\r\n\t\t\t\t\tright: \"50%\",\r\n\t\t\t\t\ttransform: \"translateX(50%)\",\r\n\t\t\t\t\tbottom: \"51px\",\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\tpadding: 0\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"summary\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t\"margin-right\": \"0px\",\r\n\t\t\t\t\t\"font-size\": \"16px\",\r\n\t\t\t\t\t\"font-weight\": \"bolder\",\r\n\t\t\t\t\ttransform: \"translateX(50%)\",\r\n\t\t\t\t\tright: \"50%\",\r\n\t\t\t\t\tbottom: \"79px\",\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\tpadding: 0\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"hide\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t\"margin-right\": \"0px\",\r\n\t\t\t\t\t\"font-size\": \"1px\",\r\n\t\t\t\t\t\"font-weight\": \"bolder\",\r\n\t\t\t\t\t// transform: \"translateX(0)\",\r\n\t\t\t\t\t// right: \"60px\",\r\n\t\t\t\t\tbottom: \"79px\",\r\n\t\t\t\t\tposition: \"absolute\",\r\n\t\t\t\t\tpadding: 0\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition(\"comfortable => compact\", animate(\"850ms ease-out\")),\r\n\t\t\ttransition(\"comfortable => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => comfortable\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"compact => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => compact\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => summary\", animate(\"800ms ease-in\")),\r\n\t\t\t// transition(\"comfortable => summary\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => compact\", animate(\"400ms ease-out\")),\r\n\t\t\ttransition(\"summary => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => summary\", animate(\"400ms ease-in\"))\r\n\t\t]),\r\n\t\ttrigger(\"toolbarAnimation\", [\r\n\t\t\tstate(\r\n\t\t\t\t\"comfortable\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t// backgroundColor: \"rgba(119,181,63,1)\",\r\n\t\t\t\t\tbackgroundColor: \"rgba(256,256,256,1)\",\r\n\t\t\t\t\tcolor: \"rgba(30,30,30,1)\",\r\n\t\t\t\t\theight: \"33vh\",\r\n\t\t\t\t\ttop: \"0\",\r\n\t\t\t\t\t// boxShadow: \"0px 1px 3px rgba(0,0,0,0)\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"compact\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t// backgroundColor: \"rgba(256,256,256,1)\",\r\n\t\t\t\t\theight: \"100px\",\r\n\t\t\t\t\ttop: \"0\",\r\n\t\t\t\t\t// boxShadow: \"1px 1px 3px rgba(0,0,0,0.5)\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"summary\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t// backgroundColor: \"rgba(256,256,256,1)\",\r\n\t\t\t\t\theight: \"100px\",\r\n\t\t\t\t\ttop: \"-50px\",\r\n\t\t\t\t\t// boxShadow: \"1px 1px 3px rgba(0,0,0,0.5)\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\tstate(\r\n\t\t\t\t\"hide\",\r\n\t\t\t\tstyle({\r\n\t\t\t\t\t// backgroundColor: \"rgba(256,256,256,1)\",\r\n\t\t\t\t\theight: \"100px\",\r\n\t\t\t\t\ttop: \"-100px\",\r\n\t\t\t\t\t// boxShadow: \"1px 1px 3px rgba(0,0,0,0.5)\"\r\n\t\t\t\t})\r\n\t\t\t),\r\n\t\t\ttransition(\"comfortable => compact\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"comfortable => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => comfortable\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"compact => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => compact\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => hide\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"hide => summary\", animate(\"800ms ease-in\")),\r\n\t\t\t// transition(\"comfortable => summary\", animate(\"800ms ease-in\")),\r\n\t\t\ttransition(\"summary => compact\", animate(\"400ms ease-out\")),\r\n\t\t\ttransition(\"summary => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => comfortable\", animate(\"800ms ease-out\")),\r\n\t\t\ttransition(\"compact => summary\", animate(\"400ms ease-in\"))\r\n\t\t])\r\n\t]\r\n})\r\nexport class ToolbarMenuThemeBComponent {\r\n\tshowSecondSidenav: Observable<boolean>;\r\n\t@Input() showSidebarMenu;\r\n\t@Input(\"app-config\") app_config;\r\n\t@Input() user: UserModel;\r\n\t@Input() displayName: string;\r\n\tuser$: Observable<UserModel>;\r\n\tshowMainSidenav: Observable<boolean>;\r\n\ttoolbarAnimationState: \"comfortable\" | \"compact\" | \"summary\" | \"hide\" = \"compact\";\r\n\tmenuAnimationState: \"comfortable\" | \"compact\" | \"summary\" | \"hide\" = \"compact\";\r\n\tlogoAnimationState: \"comfortable\" | \"compact\" | \"summary\" | \"hide\" = \"compact\";\r\n\ttitleAnimationState: \"comfortable\" | \"compact\" | \"summary\" | \"hide\" = \"compact\";\r\n\tmenuItems$: Observable<any[]>;\r\n\tlastScroll: number;\r\n\tconfig: toolbarState;\r\n\tconfig$: Observable<toolbarState>;\r\n\tanchorsMode: boolean = false;\r\n\tconstructor(\r\n\t\t@Inject(DOCUMENT) private document: any,\r\n\t\tprivate _location: Location,\r\n\t\tprivate store: Store<FeatureState>,\r\n\t\tprivate translateService: TranslateService,\r\n\t\tpublic configurationService: LayoutConfigurationService\r\n\t) {\r\n\t\tdebugger;\r\n\t\ttranslateService.get('__Signin').subscribe((res: string) => {\r\n\t\t\tdebugger;\r\n\t\t\tconsole.log(res);\r\n\t\t\t//=> 'hello world'\r\n\t\t});\r\n\t\tthis.user$ = this.store.select(getAccountInfo);\r\n\t\tthis.store.dispatch(new ChangeToolbatToComfortableModeAction());\r\n\t\tthis.config$ = this.store.select(getLayoutToolbar);\r\n\t\tthis.config$.subscribe(config => (this.config = config));\r\n\t\tthis.lastScroll = this.document.body.scrollTop;\r\n\t\tthis.showSecondSidenav = this.store.select(getShowSecondSidebarStatus);\r\n\t\tthis.showMainSidenav = this.store.select(fromLayout.getShowMainSidenav);\r\n\t\tthis.store.select(fromLayout.getLayoutToolbarMode).subscribe(state => {\r\n\t\t\tsetTimeout(() => (this.menuAnimationState = state), 1);\r\n\t\t\tsetTimeout(() => (this.logoAnimationState = state), 1);\r\n\t\t\tsetTimeout(() => (this.titleAnimationState = state), 1);\r\n\t\t\tsetTimeout(() => (this.toolbarAnimationState = state), 1);\r\n\t\t});\r\n\t\tthis._observe_on_layout_config_and_filter_routes();\r\n\r\n\t\tfromEvent(this.document.body, \"scroll\").subscribe(() => {\r\n\t\t\tlet scrolledAmount = this.document.body.scrollTop;\r\n\t\t\tlet scrollToTop =\r\n\t\t\t\tscrolledAmount - this.lastScroll < 0 &&\r\n\t\t\t\tthis.document.body.scrollHeight - document.body.offsetHeight - scrolledAmount > 300;\r\n\t\t\t// let scrollToTop = scrolledAmount - this.lastScroll < 0;\r\n\t\t\tthis.lastScroll = scrolledAmount;\r\n\t\t\tif (!this.config.visibility) return;\r\n\t\t\tif (scrolledAmount == 0) {\r\n\t\t\t\tif (this.config.mode == \"comfortable\") return;\r\n\t\t\t\tthis.store.dispatch(new ChangeToolbatToComfortableModeAction());\r\n\t\t\t} else if (scrolledAmount < 150 || scrollToTop) {\r\n\t\t\t\tif (this.config.mode == \"compact\") return;\r\n\t\t\t\tthis.store.dispatch(new ChangeToolbatToCompactModeAction());\r\n\t\t\t} else {\r\n\t\t\t\tif (this.config.mode == \"summary\") return;\r\n\t\t\t\tthis.store.dispatch(new ChangeToolbatToSummaryModeAction());\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t@HostListener(\"body:scroll\", [])\r\n\tonWindowScroll() {\r\n\t\t// of(1)\r\n\t}\r\n\tsignout() {\r\n\t\tthis.store.dispatch(new DoSignoutAction());\r\n\t}\r\n\tgoback() {\r\n\t\tthis._location.back();\r\n\t}\r\n\ttoggleSecondSidebar() {\r\n\t\tlet action;\r\n\t\tthis.showSecondSidenav.subscribe(state => {\r\n\t\t\taction = state ? new CloseSecondSidenavAction() : new OpenSecondSidenavAction();\r\n\t\t});\r\n\t\tthis.store.dispatch(action);\r\n\t}\r\n\ttoggleMainSidebar() {\r\n\t\tlet action;\r\n\t\tthis.showMainSidenav.subscribe(state => {\r\n\t\t\taction = state ? new CloseSidenavAction() : new OpenSidenavAction();\r\n\t\t});\r\n\t\tthis.store.dispatch(action);\r\n\t}\r\n\t_observe_on_layout_config_and_filter_routes() {\r\n\t\tthis.menuItems$ = this.configurationService.config$.pipe(\r\n\t\t\tmap(config => config.menuItems),\r\n\t\t\tcombineLatest(this.user$),\r\n\t\t\tmap(this.configurationService.config$.getValue().menu_item_authorization_operator)\r\n\t\t);\r\n\t}\r\n}\r\n","import { NgModule, ModuleWithProviders, LOCALE_ID } from \"@angular/core\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { StoreModule } from \"@ngrx/store\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { RouterModule } from \"@angular/router\";\r\nimport { FormsModule } from \"@angular/forms\";\r\nimport { HttpClientModule } from \"@angular/common/http\";\r\nimport { FlexLayoutModule } from \"@angular/flex-layout\";\r\nimport { EffectsModule } from \"@ngrx/effects\";\r\nimport {\r\n\tMatIconModule,\r\n\tMatButtonModule,\r\n\tMatCardModule,\r\n\tMatSnackBarModule,\r\n\tMatSidenavModule,\r\n\tMatExpansionModule,\r\n\tMatSelectModule,\r\n\tMatFormFieldModule,\r\n\tMatListModule,\r\n\tMatMenuModule,\r\n\tMatRadioModule,\r\n\tMatInputModule,\r\n\tMatToolbarModule,\r\n\tMatDatepickerModule,\r\n\tMatProgressBarModule\r\n} from \"@angular/material\";\r\nimport { TranslateModule } from '@ngx-translate/core';\r\n\r\nimport { NgsConfigModule } from \"@soushians/config\";\r\n\r\nimport { LayoutReducers } from \"./reducers/index\";\r\n\r\nimport { MODULE_CONFIG_TOKEN, LayoutModuleConfigModel } from \"./layout.config\";\r\nimport { MainMenuComponent } from \"./dumb-components/main-menu/main-menu.component\";\r\nimport { SearchBoxComponent } from \"./dumb-components/search-box/search-box.component\";\r\nimport { LogoContainerComponent } from \"./dumb-components/logo-container/logo-container.component\";\r\nimport { ToolbarMenuComponent } from \"./dumb-components/toolbar-menu/toolbar-menu.component\";\r\nimport { FooterComponent } from \"./dumb-components/footer/footer.component\";\r\nimport { TitleComponent } from \"./dumb-components/title/title.component\";\r\nimport { NgsLayoutMainComponent } from \"./dumb-components/main/main.component\";\r\nimport { LayoutEffects } from \"./layout.effects\";\r\nimport { RuleModule } from \"@soushians/rule\";\r\nimport { ToolbarMenuThemeBComponent } from \"./dumb-components/toolbar-menu-theme-b/toolbar-menu-theme-b\";\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tBrowserModule,\r\n\t\tRouterModule,\r\n\t\tFormsModule,\r\n\t\tHttpClientModule,\r\n\t\tFlexLayoutModule,\r\n\t\tMatIconModule,\r\n\t\tMatButtonModule,\r\n\t\tMatCardModule,\r\n\t\tMatSnackBarModule,\r\n\t\tMatSidenavModule,\r\n\t\tMatExpansionModule,\r\n\t\tMatSelectModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatListModule,\r\n\t\tMatMenuModule,\r\n\t\tMatRadioModule,\r\n\t\tMatInputModule,\r\n\t\tMatToolbarModule,\r\n\t\tMatDatepickerModule,\r\n\t\tMatProgressBarModule,\r\n\t\tRouterModule,\r\n\t\tNgsConfigModule,\r\n\t\tRuleModule\r\n\t],\r\n\tdeclarations: [\r\n\t\tMainMenuComponent,\r\n\t\tSearchBoxComponent,\r\n\t\tLogoContainerComponent,\r\n\t\tToolbarMenuComponent,\r\n\t\tToolbarMenuThemeBComponent,\r\n\t\tFooterComponent,\r\n\t\tTitleComponent,\r\n\t\tNgsLayoutMainComponent\r\n\t],\r\n\texports: [\r\n\t\tMainMenuComponent,\r\n\t\tSearchBoxComponent,\r\n\t\tLogoContainerComponent,\r\n\t\tToolbarMenuComponent,\r\n\t\tToolbarMenuThemeBComponent,\r\n\t\tFooterComponent,\r\n\t\tTitleComponent,\r\n\t\tNgsLayoutMainComponent,\r\n\t\tTranslateModule\r\n\t]\r\n})\r\nexport class NgsLayoutModule {\r\n\tstatic forRoot(config?: LayoutModuleConfigModel): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: RootNgsLayoutModule,\r\n\t\t\tproviders: [\r\n\t\t\t\t{ provide: LOCALE_ID, useValue: 'en en-US' },\r\n\t\t\t\t{ provide: MODULE_CONFIG_TOKEN, useValue: config }]\r\n\t\t};\r\n\t}\r\n}\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tNgsLayoutModule,\r\n\t\tStoreModule.forFeature(\"layout\", LayoutReducers),\r\n\t\tEffectsModule.forFeature([LayoutEffects])\r\n\t],\r\n\texports: [NgsLayoutModule]\r\n})\r\nexport class RootNgsLayoutModule { }\r\n","export enum LayoutOutlets {\r\n\t// TODO: remove in next major version : 6.0.45\r\n\tngs_layout_toolbar_menu = \"ngs-layout-after-toolbar-menu\",\r\n\tngs_layout_after_toolbar_menu = \"ngs-layout-after-toolbar-menu\",\r\n\tngs_layout_before_toolbar_menu = \"ngs-layout-before-toolbar-menu\",\r\n\tfooter_B = \"footer_B\",\r\n\tfooter_A = \"footer_A\"\r\n}\r\n"],"names":["DoSignoutAction","state","layout.LayoutActionTypes","layout.CLOSE_SIDENAV","layout.OPEN_SIDENAV","initialState","layout.Reducer","fromToolbar.Reducer","getTitle","layout.getTitle","getShowMainSidenav","layout.getShowMainSidenav","getMainSideNavMode","layout.getMainSideNavMode","getLayoutMode","layout.getLayoutMode","getShowSecondSidebarStatus","layout.getShowSecondSidebarStatus","getSecondSidebarMode","layout.getSecondSidebarMode","getFullscreenMode","layout.getFullscreenMode","fromToolbar.getToolbarMode","fromLayout.getShowMainSidenav","fromLayout.getLayoutToolbarMode","BehaviorSubject"],"mappings":"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"}