Add to VFM context menu action "Add pause upon completion".
[vid.git] / vid-webpack-master / src / app / shared / models / treeNodeModel.ts
1 import {ChildNodeInstance} from "./nodeInstance";
2 import {NodeModel} from "./nodeModel";
3 import {ServiceNodeTypes} from "./ServiceNodeTypes";
4 import * as _ from 'lodash';
5 import {PauseStatus, ServiceInstanceActions} from "./serviceInstanceActions";
6 import {ModelInfo} from "./modelInfo";
7
8 export enum TreeLevel {
9   Level_0 , Level_1, Level_2
10
11 }
12 interface TreeNodeInstanceInterface {
13   treeLevel: TreeLevel;
14   getModel(): NodeModel;
15   convertToTreeNode(node: any): any;
16   type: ServiceNodeTypes;
17 }
18 export class TreeNodeModel {
19   type: String;
20   modelId: string;
21   modelInvariantId?: string;
22   modelCustomizationId?: string;
23   modelUniqueId?: string;
24   id: string;
25   name: string;
26   modelName: string;
27   instanceModelInfo?: ModelInfo;
28   missingData: boolean;
29   isEcompGeneratedNaming: boolean;
30   orchStatus?:string;
31   provStatus?:string;
32   inMaint?:boolean;
33   action : string ;
34   instanceId?: string;
35   instanceType?: string;
36   instanceName?: string;
37   pauseInstantiation?: PauseStatus;
38
39   constructor(instance: ChildNodeInstance, nodeModel: NodeModel){
40
41     this.modelInvariantId = nodeModel.invariantUuid;
42     this.instanceModelInfo = instance.modelInfo;
43     if (instance.modelInfo) {
44       this.modelCustomizationId = instance.modelInfo.modelCustomizationId;
45       this.modelId = instance.modelInfo.modelVersionId;
46     } else {
47       console.debug("no 'modelInfo' in node-instance", instance)
48     }
49     this.modelUniqueId = this.modelCustomizationId || this.modelId;
50     this.missingData = false;
51     this.id = instance.trackById;
52     this.action = !_.isNil(instance.action) ? instance.action : ServiceInstanceActions.Create;
53
54     if(!_.isNil(instance.orchStatus)){
55       this.orchStatus= instance.orchStatus;
56     }
57
58     if(!_.isNil(instance.provStatus)){
59       this.provStatus= instance.provStatus;
60     }
61
62     if(!_.isNil(instance.inMaint)){
63       this.inMaint= instance.inMaint;
64     }
65
66     if(!_.isNil(instance.instanceId)){
67       this.instanceId= instance.instanceId;
68     }
69     if(!_.isNil(instance.instanceType)){
70       this.instanceType= instance.instanceType;
71     }
72     if(!_.isNil(instance.instanceName)){
73       this.instanceName= instance.instanceName;
74     }
75
76
77
78
79   }
80 }