aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/models/graph/zones/zone.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/models/graph/zones/zone.ts')
-rw-r--r--catalog-ui/src/app/models/graph/zones/zone.ts46
1 files changed, 46 insertions, 0 deletions
diff --git a/catalog-ui/src/app/models/graph/zones/zone.ts b/catalog-ui/src/app/models/graph/zones/zone.ts
new file mode 100644
index 0000000000..eaabc62a25
--- /dev/null
+++ b/catalog-ui/src/app/models/graph/zones/zone.ts
@@ -0,0 +1,46 @@
+/**
+ * Created by ob0695 on 10.04.2018.
+ */
+import {ZoneInstanceType, ZoneInstance, IZoneInstanceAssignment} from "./zone-instance";
+import {Observable} from "rxjs/Rx";
+import { CANVAS_TAG_MODE } from "app/utils/constants";
+
+export class Zone {
+ title:string;
+ type:ZoneInstanceType;
+ defaultIconText:string;
+ instances:Array<ZoneInstance>;
+ visible:boolean;
+ minimized:boolean;
+
+ constructor(title:string, defaultText:string, type:ZoneInstanceType) {
+ this.title = title;
+ this.defaultIconText = defaultText;
+ this.type = type;
+ this.instances = [];
+ this.visible = false;
+ this.minimized = false;
+ }
+
+
+ public getTagModeId = () => {
+ let tagModeId = ZoneInstanceType[this.type].toUpperCase();
+ return CANVAS_TAG_MODE[tagModeId + "_TAGGING"];
+ }
+
+ public getHoverTagModeId = () => {
+ let tagModeId = ZoneInstanceType[this.type].toUpperCase();
+ return CANVAS_TAG_MODE[tagModeId + "_TAGGING_HOVER"];
+ }
+
+ public removeInstance = (instanceId:string) => {
+ this.instances = this.instances.filter(instance => instance.instanceData.uniqueId != instanceId);
+ };
+}
+
+
+export interface IZoneService {
+ updateZoneInstanceAssignments(topologyTemplateType:string, topologyTemplateId:string, zoneInstanceId:string, assignments:Array<IZoneInstanceAssignment>):Observable<any>;
+ updateName(topologyTemplateType:string, topologyTemplateId:string, zoneInstanceId:string, newName:string):Observable<any>;
+ deleteZoneInstance(topologyTemplateType:string, topologyTemplateId:string, zoneInstanceId:string):Observable<any>;
+} \ No newline at end of file