X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/c833dec45110d8cb85cdf63813a17b1c27516552..001f12aa1576f93fbcec4d378a1e75474de73631:/src/editor/modules/documentCanvas/canvas/canvas.js?ds=sidebyside diff --git a/src/editor/modules/documentCanvas/canvas/canvas.js b/src/editor/modules/documentCanvas/canvas/canvas.js index 3dac88f..5d432ea 100644 --- a/src/editor/modules/documentCanvas/canvas/canvas.js +++ b/src/editor/modules/documentCanvas/canvas/canvas.js @@ -97,6 +97,15 @@ var Canvas = function(wlxmlDocument, elements, metadata, sandbox) { $.extend(Canvas.prototype, Backbone.Events, { + createElementType: function(elementPrototype) { + /* TODO: reconcile this with ElementsRegister behavior */ + var Constructor = function() { + documentElement.DocumentNodeElement.apply(this, Array.prototype.slice.call(arguments, 0)); + }; + Constructor.prototype = elementPrototype; + return Constructor; + }, + getElementOffset: function(element) { return element.dom.offset().top - this.dom.offset().top; }, @@ -111,8 +120,11 @@ $.extend(Canvas.prototype, Backbone.Events, { this.reloadRoot(); }, - createElement: function(wlxmlNode, register, useRoot) { + createElement: function(wlxmlNode, register, useRoot, params) { var Factory; + params = params || { + mirror: false + }; register = register || this.elementsRegister; if(wlxmlNode.nodeType === Node.TEXT_NODE) { Factory = documentElement.DocumentTextElement; @@ -127,7 +139,7 @@ $.extend(Canvas.prototype, Backbone.Events, { } if(Factory) { - return new Factory(wlxmlNode, this); + return new Factory(wlxmlNode, this, params); } },