Refactoring Consolidation Service
[sdc.git] / catalog-ui / src / app / models / graph / zones / zone-child.ts
1 import { Type, Component } from "@angular/core";
2 import { PolicyInstance } from "app/models/graph/zones/policy-instance";
3
4 export class ZoneConfig {
5     title:string;
6     defaultIconText:string;
7     type:string; 'policy|group';
8     tagModeId:string;
9     instances:Array<ZoneInstanceConfig>;
10     showZone:boolean;
11
12
13     constructor (title:string, defaultText:string, type:string, showZone:boolean) {
14         this.title = title;
15         this.defaultIconText = defaultText;
16         this.type = type;
17         this.tagModeId = this.type + "-tagging";
18         this.instances = [];
19         this.showZone = showZone;
20     }
21 }
22
23 export class ZoneInstanceConfig {
24
25     name:string;
26     assignments:Array<string>; //targets or members
27     instanceData:PolicyInstance; // | GroupInstance;
28     mode:ZoneInstanceMode;
29
30     constructor(instance:PolicyInstance) { /* | GroupInstance */
31
32         this.name = instance.name;
33         this.instanceData = instance;
34         this.mode = ZoneInstanceMode.NONE;
35
36         if(instance instanceof PolicyInstance) {
37             this.assignments = instance.targets;
38         }
39     }
40
41 }
42
43 export enum ZoneInstanceMode {
44     NONE,
45     HOVER,
46     SELECTED,
47     TAG
48 }