summaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/models/graph/zones/zone-child.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/models/graph/zones/zone-child.ts')
-rw-r--r--catalog-ui/src/app/models/graph/zones/zone-child.ts48
1 files changed, 48 insertions, 0 deletions
diff --git a/catalog-ui/src/app/models/graph/zones/zone-child.ts b/catalog-ui/src/app/models/graph/zones/zone-child.ts
new file mode 100644
index 0000000000..d6d7198222
--- /dev/null
+++ b/catalog-ui/src/app/models/graph/zones/zone-child.ts
@@ -0,0 +1,48 @@
+import { Type, Component } from "@angular/core";
+import { PolicyInstance } from "app/models/graph/zones/policy-instance";
+
+export class ZoneConfig {
+ title:string;
+ defaultIconText:string;
+ type:string; 'policy|group';
+ tagModeId:string;
+ instances:Array<ZoneInstanceConfig>;
+ showZone:boolean;
+
+
+ constructor (title:string, defaultText:string, type:string, showZone:boolean) {
+ this.title = title;
+ this.defaultIconText = defaultText;
+ this.type = type;
+ this.tagModeId = this.type + "-tagging";
+ this.instances = [];
+ this.showZone = showZone;
+ }
+}
+
+export class ZoneInstanceConfig {
+
+ name:string;
+ assignments:Array<string>; //targets or members
+ instanceData:PolicyInstance; // | GroupInstance;
+ mode:ZoneInstanceMode;
+
+ constructor(instance:PolicyInstance) { /* | GroupInstance */
+
+ this.name = instance.name;
+ this.instanceData = instance;
+ this.mode = ZoneInstanceMode.NONE;
+
+ if(instance instanceof PolicyInstance) {
+ this.assignments = instance.targets;
+ }
+ }
+
+}
+
+export enum ZoneInstanceMode {
+ NONE,
+ HOVER,
+ SELECTED,
+ TAG
+} \ No newline at end of file