Switching to explicit inheritance for canvas elements
[fnpeditor.git] / src / editor / modules / documentCanvas / canvas / genericElement.js
index 8b7d2fb..d11cbd1 100644 (file)
@@ -14,8 +14,11 @@ var labelWidget = function(tag, klass) {
 };
 void(labelWidget); // for linters; labelWidget is unused on purpose for now
 
+var DocumentNodeElement = documentElement.DocumentNodeElement;
 
-var generic = {
+var generic = Object.create(DocumentNodeElement.prototype);
+
+$.extend(generic, {
     onNodeAttrChange: function(event) {
         if(event.meta.attr === 'class') {
             this.setWlxmlClass(event.meta.newVal); //
@@ -78,7 +81,7 @@ var generic = {
         } else {
             element = this.canvas.createElement(param);
         }
-        this._container().prepend(element.dom());
+        this._container().prepend(element.dom);
         this.refreshPath();
         return element;
     },
@@ -138,11 +141,12 @@ var generic = {
         this.refreshPath();
     },
     init: function() {
+        DocumentNodeElement.prototype.init.call(this);
         this._container()
             .attr('wlxml-tag', this.wlxmlNode.getTagName());
         this.setWlxmlClass(this.wlxmlNode.getClass());
         this.wlxmlNode.contents().forEach(function(node) {
-            this._container().append(this.canvas.createElement(node).dom());
+            this._container().append(this.canvas.createElement(node).dom);
         }.bind(this));
         this.refresh();
 
@@ -186,7 +190,7 @@ var generic = {
         });
         return toret;
     },
-};
+});
 
 
 return generic;