| 
					
				 | 
			
			
				@@ -0,0 +1,78 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { GenericObject } from "../../objects/generic-object"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import { GEO_FILE } from "../../../enums/geo-file-enum"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+export class Action { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  constructor(genericObject) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.id = genericObject.id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.type = genericObject.elementClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.definition = this.r( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      genericObject.definitions.map(x => x.id).toString() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.list = this.r( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      genericObject.dependentsOnThis.map(x => x.id).toString() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.label = genericObject.labelIgeom; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.defined = genericObject.defined; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.color = genericObject.color; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.hidden = genericObject.visible ? 0 : 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.pixel = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.font = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.labelColor = genericObject.labelColor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.genericObject = genericObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  do() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const genericObject = new GenericObject(this.id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    genericObject.color = this.color; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    genericObject.elementClass = this.type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    genericObject.definition = this.definition; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    genericObject.list = this.list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    genericObject.label = this.label; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    genericObject.visible = this.hidden == 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  toMap() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const map = new Map(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    map.set("key", "value"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  toString() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      "{" + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.ID, this.id)}, ` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.TYPE, this.type)}, ` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.DEFINITION, this.definition)}, ` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.LIST, this.list)}, ` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.LABEL, this.label)}, ` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.DEFINED, this.defined)}, ` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.COLOR, this.color)}, ` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.HIDDEN, this.hidden)}, ` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.PIXEL, this.pixel)}, ` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.FONT, this.font)}, ` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `${this.d(GEO_FILE.LABEL_COLOR, this.labelColor)}` + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      `}!\n` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  d(key, value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return `${key}:${value}`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  r(str) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return str.replace(",", " "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  rehydrate() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.id = this.genericObject.id; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.type = this.genericObject.elementClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.definition = this.r( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.genericObject.definitions.map(x => x.id).toString() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.list = this.r( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      this.genericObject.dependentsOnThis.map(x => x.id).toString() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.label = this.genericObject.labelIgeom; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.defined = this.genericObject.defined; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.color = this.genericObject.color; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.hidden = this.genericObject.visible ? 0 : 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.pixel = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.font = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    this.labelColor = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |