2 * Created by ob0695 on 10.04.2018.
4 import {ZoneInstanceType, ZoneInstance, IZoneInstanceAssignment} from "./zone-instance";
5 import {Observable} from "rxjs/Rx";
6 import { CANVAS_TAG_MODE } from "app/utils/constants";
10 type:ZoneInstanceType;
11 defaultIconText:string;
12 instances:Array<ZoneInstance>;
16 constructor(title:string, defaultText:string, type:ZoneInstanceType) {
18 this.defaultIconText = defaultText;
22 this.minimized = false;
26 public getTagModeId = () => {
27 let tagModeId = ZoneInstanceType[this.type].toUpperCase();
28 return CANVAS_TAG_MODE[tagModeId + "_TAGGING"];
31 public getHoverTagModeId = () => {
32 let tagModeId = ZoneInstanceType[this.type].toUpperCase();
33 return CANVAS_TAG_MODE[tagModeId + "_TAGGING_HOVER"];
36 public removeInstance = (instanceId:string) => {
37 this.instances = this.instances.filter(instance => instance.instanceData.uniqueId != instanceId);
42 export interface IZoneService {
43 updateZoneInstanceAssignments(topologyTemplateType:string, topologyTemplateId:string, zoneInstanceId:string, assignments:Array<IZoneInstanceAssignment>):Observable<any>;
44 updateName(topologyTemplateType:string, topologyTemplateId:string, zoneInstanceId:string, newName:string):Observable<any>;
45 deleteZoneInstance(topologyTemplateType:string, topologyTemplateId:string, zoneInstanceId:string):Observable<any>;