diff options
Diffstat (limited to 'catalog-ui/src/app/view-models/admin-dashboard/admin-dashboard-view-model.ts')
-rw-r--r-- | catalog-ui/src/app/view-models/admin-dashboard/admin-dashboard-view-model.ts | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/catalog-ui/src/app/view-models/admin-dashboard/admin-dashboard-view-model.ts b/catalog-ui/src/app/view-models/admin-dashboard/admin-dashboard-view-model.ts new file mode 100644 index 0000000000..c8503bce42 --- /dev/null +++ b/catalog-ui/src/app/view-models/admin-dashboard/admin-dashboard-view-model.ts @@ -0,0 +1,61 @@ +'use strict'; +import {CacheService} from "app/services"; +import {IAppConfigurtaion} from "app/models"; + +interface IAdminDashboardViewModelScope extends ng.IScope { + version:string; + sdcConfig:IAppConfigurtaion; + isLoading:boolean; + currentTab:string; + templateUrl:string; + monitorUrl:string; + moveToTab(tab:string):void; + isSelected(tab:string):boolean; +} + + +export class AdminDashboardViewModel { + static '$inject' = [ + '$scope', + '$templateCache', + 'Sdc.Services.CacheService', + 'sdcConfig' + ]; + + constructor(private $scope:IAdminDashboardViewModelScope, + private $templateCache:ng.ITemplateCacheService, + private cacheService:CacheService, + private sdcConfig:IAppConfigurtaion) { + + this.initScope(); + } + + private initScope = ():void => { + + this.$scope.version = this.cacheService.get('version'); + this.$scope.sdcConfig = this.sdcConfig; + this.$scope.monitorUrl = this.$scope.sdcConfig.api.kibana; + this.$scope.isSelected = (tab:string):boolean => { + return tab === this.$scope.currentTab; + } + + this.$scope.moveToTab = (tab:string):void => { + if (tab === this.$scope.currentTab) { + return; + } + else if (tab === 'USER_MANAGEMENT') { + this.$scope.templateUrl="user-management-view.html"; + this.$templateCache.put("user-management-view.html", require('app/view-models/admin-dashboard/user-management/user-management-view.html')); + } + else if (tab === 'CATEGORY_MANAGEMENT') { + this.$scope.templateUrl="category-management-view.html"; + this.$templateCache.put("category-management-view.html", require('app/view-models/admin-dashboard/category-management/category-management-view.html')); + } + this.$scope.currentTab = tab; + }; + + this.$scope.moveToTab('USER_MANAGEMENT'); + + + } +} |