diff options
Diffstat (limited to 'catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts')
-rw-r--r-- | catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts new file mode 100644 index 0000000000..76010b56f4 --- /dev/null +++ b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts @@ -0,0 +1,43 @@ +import {Plugin, IUserProperties} from "app/models"; +import {CacheService} from "app/services"; +import {PluginsService} from "../../../../ng2/services/plugins.service"; +import {IWorkspaceViewModelScope} from "../../workspace-view-model"; + + +interface IPluginsContextViewModelScope extends IWorkspaceViewModelScope { + plugin: Plugin; + user:IUserProperties; + queryParams: Object; +} + +export class PluginsContextViewModel { + static '$inject' = [ + '$scope', + '$stateParams', + 'Sdc.Services.CacheService', + 'PluginsService' + ]; + + constructor(private $scope:IPluginsContextViewModelScope, + private $stateParams:any, + private cacheService:CacheService, + private pluginsService:PluginsService) { + + this.initScope(); + } + + private initScope = ():void => { + this.$scope.plugin = this.pluginsService.getPluginByStateUrl(this.$stateParams.path); + + this.$scope.user = this.cacheService.get('user'); + + this.$scope.queryParams = { + userId: this.$scope.user.userId, + contextType: this.$scope.component.componentType, + uuid: this.$scope.component.uuid, + lifecycleState: this.$scope.component.lifecycleState, + isOwner: this.$scope.component.lastUpdaterUserId === this.$scope.user.userId + }; + + } +} |