diff options
Diffstat (limited to 'catalog-ui/app/scripts/view-models/component-viewer/component-viewer-view-model.ts')
-rw-r--r-- | catalog-ui/app/scripts/view-models/component-viewer/component-viewer-view-model.ts | 211 |
1 files changed, 0 insertions, 211 deletions
diff --git a/catalog-ui/app/scripts/view-models/component-viewer/component-viewer-view-model.ts b/catalog-ui/app/scripts/view-models/component-viewer/component-viewer-view-model.ts deleted file mode 100644 index 3ae8ad70fb..0000000000 --- a/catalog-ui/app/scripts/view-models/component-viewer/component-viewer-view-model.ts +++ /dev/null @@ -1,211 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * SDC - * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -/// <reference path="../../references"/> - -module Sdc.ViewModels { - 'use strict'; - - interface IComponentViewerViewModelScope extends ng.IScope { - component: Models.Components.Component; - additionalInformations: Array<Models.AdditionalInformationModel>; - activityLog: any; - activityDateArray: Array<any>; //this is in order to sort the dates - inputs: Array<any>; - isLoading: boolean; - templateUrl: string; - currentTab:string; - preVersion:string; - sdcMenu:Models.IAppMenu; - versionsList:Array<any>; - close(): void; - hasItems(obj:any): boolean; - onVersionChanged(version:any) : void; - moveToTab(tab:string):void; - isSelected(tab:string):boolean; - getActivityLog(uniqueId:string):void; - parseAction(action:string):string; - } - - export class ComponentViewerViewModel { - - static '$inject' = [ - '$scope', - '$modalInstance', - 'component', - 'Sdc.Services.ActivityLogService', - 'sdcMenu', - 'ComponentFactory' - ]; - - constructor(private $scope:IComponentViewerViewModelScope, - private $modalInstance:ng.ui.bootstrap.IModalServiceInstance, - private component:Models.Components.Component, - private activityLogService:Services.ActivityLogService, - private sdcMenu:Models.IAppMenu, - private ComponentFactory: Utils.ComponentFactory) { - this.initScope(component); - } - - //creating objects for versions - private initVersionObject:Function = ():void => { - this.$scope.versionsList = []; - for (let version in this.$scope.component.allVersions) { - this.$scope.versionsList.push({ - versionNumber: version, - versioning: this.versioning(version), - versionId: this.$scope.component.allVersions[version] - }); - } - - }; - - private versioning:Function = (versionNumber:string):string => { - let version:Array<string> = versionNumber.split('.'); - return '00000000'.slice(version[0].length) + version[0] + '.' + '00000000'.slice(version[1].length) + version[1]; - }; - - private showComponentInformationView:Function = ():void => { - if (this.$scope.component.isResource()) { - this.$scope.templateUrl = '/app/scripts/view-models/component-viewer/properties/resource-properties-view.html'; - } else if(this.$scope.component.isService()) { - this.$scope.templateUrl = '/app/scripts/view-models/component-viewer/properties/service-properties-view.html'; - } else { - this.$scope.templateUrl = '/app/scripts/view-models/component-viewer/properties/product-properties-view.html'; - } - }; - - private showActivityLogView:Function = ():void => { - this.$scope.templateUrl = '/app/scripts/view-models/component-viewer/activity-log/activity-log-view.html'; - }; - - private initComponent = (component:Models.Components.Component):void => { - this.$scope.component = component; - this.$scope.additionalInformations = component.getAdditionalInformation(); - this.initVersionObject(); - this.$scope.isLoading = false; - }; - - private initScope = (component:Models.Components.Component):void => { - this.$scope.isLoading = false; - this.initComponent(component); - this.$scope.currentTab = 'PROPERTIES'; - this.$scope.preVersion = component.version; - this.$scope.sdcMenu = this.sdcMenu; - this.showComponentInformationView(); - //service inputs - if (component.isService()) { - let inputs:Array<any> = []; - - for (let group in component.componentInstancesProperties) { - if (component.componentInstancesProperties[group]) { - component.componentInstancesProperties[group].forEach((property:Models.PropertyModel):void => { - if (!property.value) { - property.value = property.defaultValue; - } - inputs.push({ - name: property.name, - value: property.value, - type: property.type - }); - }); - } - } - this.$scope.inputs = inputs; - } - - this.$scope.hasItems = (obj:any):boolean => { - return Object.keys(obj).length > 0; - }; - - this.$scope.close = ():void => { - this.$modalInstance.dismiss(); - }; - - this.$scope.onVersionChanged = (version:any):void => { - if (version.versionNumber != this.$scope.component.version) { - this.$scope.isLoading = true; - this.ComponentFactory.getComponentFromServer(this.component.componentType, version.versionId).then((component: Models.Components.Component):void => { - this.initComponent(component); - }); - if (this.$scope.currentTab === 'ACTIVITY_LOG') { - this.$scope.getActivityLog(version.versionId); - } - - } - }; - - this.$scope.getActivityLog = (uniqueId:any):void => { - - let onError = (response) => { - this.$scope.isLoading = false; - console.info('onFaild', response); - - }; - let onSuccess = (response:Array<Models.Activity>) => { - this.$scope.activityLog = _.groupBy(response, function (activity:Models.Activity) { //group by date only - let dateTime:Date = new Date(activity.TIMESTAMP.replace(" UTC", '').replace(" ", 'T')); - // let date:Date = new Date(dateTime.getFullYear(), dateTime.getMonth(), dateTime.getDate()); - return dateTime.getTime(); - }); - /*this is in order to sort the jsonObject by date*/ - this.$scope.activityDateArray = Object.keys(this.$scope.activityLog); - this.$scope.activityDateArray.sort().reverse(); - this.$scope.isLoading = false; - }; - - this.$scope.isLoading = true; - if (this.$scope.component.isResource()) { - this.activityLogService.getActivityLogService('resources', uniqueId).then(onSuccess, onError); - } - if (this.$scope.component.isService()) { - this.activityLogService.getActivityLogService('services', uniqueId).then(onSuccess, onError); - } - - }; - - this.$scope.moveToTab = (tab:string):void => { - if (tab === this.$scope.currentTab) { - return; - } else if (tab === 'PROPERTIES') { - this.showComponentInformationView(); - this.$scope.preVersion = this.$scope.component.version; - } else if (tab === 'ACTIVITY_LOG') { - if (!this.$scope.activityLog || this.$scope.preVersion != this.$scope.component.version) { - this.$scope.activityLog = this.$scope.getActivityLog(this.$scope.component.uniqueId); - } - this.showActivityLogView(); - } else { - console.error("Tab " + tab + " not found!"); - return; - } - this.$scope.currentTab = tab; - }; - - this.$scope.isSelected = (tab:string):boolean => { - return tab === this.$scope.currentTab; - }; - - this.$scope.parseAction = (action:string) => { - return action ? action.split(/(?=[A-Z])/).join(' ') : ''; - }; - - } - } -} |