X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/83989a968f6af8436bbb37f7a67b82b35a26a2ed..e1acb388e008f83e89976e3779330d2a268f525e:/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 94ad763..476a95b 100644 --- a/src/editor/modules/documentCanvas/canvas/canvas.js +++ b/src/editor/modules/documentCanvas/canvas/canvas.js @@ -73,7 +73,7 @@ $.extend(Canvas.prototype, { createElement: function(wlxmlNode) { var Factory = wlxmlNode.nodeType === Node.TEXT_NODE ? documentElement.DocumentTextElement : documentElement.DocumentNodeElement; - return Factory.create(wlxmlNode, this); + return new Factory(wlxmlNode, this); }, getDocumentElement: function(htmlElement) { @@ -83,11 +83,16 @@ $.extend(Canvas.prototype, { } var $element = $(htmlElement); if(htmlElement.nodeType === Node.ELEMENT_NODE && $element.attr('document-node-element') !== undefined) { - return new documentElement.DocumentNodeElement(htmlElement, this); + return $element.data('canvas-element'); } + + if(htmlElement.nodeType === Node.TEXT_NODE && $element.parent().attr('document-text-element') !== undefined) { + $element = $element.parent(); + } + if($element.attr('document-text-element') !== undefined || (htmlElement.nodeType === Node.TEXT_NODE && $element.parent().attr('document-text-element') !== undefined)) { //return DocumentTextElement.fromHTMLElement(htmlElement, canvas); - return new documentElement.DocumentTextElement(htmlElement, this); + return $element.data('canvas-element'); } }, @@ -101,8 +106,9 @@ $.extend(Canvas.prototype, { }, generateCanvasDOM: function(wlxmlNode) { - var element = documentElement.DocumentNodeElement.create(wlxmlNode, this); - return element.dom(); + //var element = new documentElement.DocumentNodeElement(wlxmlNode, this); + //return element.dom(); + return this.createElement(wlxmlNode).dom(); }, setupEventHandling: function() { @@ -171,8 +177,8 @@ $.extend(Canvas.prototype, { //textElement.data('wlxmlNode').setText(toSet); //textElement.data('wlxmlNode').document.transform('setText', {node: textElement.data('wlxmlNode'), text: toSet}); - if(textElement.data('wlxmlNode').getText() !== toSet) { - canvas.textHandler.handle(textElement.data('wlxmlNode'), toSet); + if(textElement.wlxmlNode.getText() !== toSet) { + canvas.textHandler.handle(textElement.wlxmlNode, toSet); } } }); @@ -301,7 +307,7 @@ $.extend(Canvas.prototype, { this._moveCaretToTextElement(textElementToLand, params.caretTo); // as method on element? } if(!(textElementToLand.sameNode(currentTextElement))) { - this.publisher('currentTextElementSet', textElementToLand.data('wlxmlNode')); + this.publisher('currentTextElementSet', textElementToLand.wlxmlNode); } } else { document.getSelection().removeAllRanges(); @@ -310,7 +316,7 @@ $.extend(Canvas.prototype, { if(!(currentNodeElement && currentNodeElement.sameNode(nodeElementToLand))) { _markAsCurrent(nodeElementToLand); - this.publisher('currentNodeElementSet', nodeElementToLand.data('wlxmlNode')); + this.publisher('currentNodeElementSet', nodeElementToLand.wlxmlNode); } },