package hide.comp; class Component { var ide : hide.Ide; public var componentName(get, never) : String; public var element(default,null) : Element; public var saveDisplayKey : String; function new(parent:Element,el:Element) { ide = hide.Ide.inst; if( el == null ) el = new Element('
'); this.element = el; if( parent != null ) parent.append(element); } public function remove() { element.remove(); } @:final function get_componentName() return Type.getClassName(Type.getClass(this)); function getDisplayState( key : String ) : Dynamic { if( saveDisplayKey == null ) return null; var v = js.Browser.window.localStorage.getItem(saveDisplayKey + "/" + key); if( v == null ) return null; return haxe.Json.parse(v); } function saveDisplayState( key : String, value : Dynamic ) { if( saveDisplayKey == null ) return; js.Browser.window.localStorage.setItem(saveDisplayKey + "/" + key, haxe.Json.stringify(value)); } function removeDisplayState( key : String ) { if( saveDisplayKey == null ) return; js.Browser.window.localStorage.removeItem(saveDisplayKey + "/" + key); } }