X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/55da6d6c73cdb1627cf71e7419eb3cc2f5e53c08..bf404a740c73d3aa8df7a44ef47012f33933e624:/src/editor/modules/documentCanvas/canvas/canvas.js diff --git a/src/editor/modules/documentCanvas/canvas/canvas.js b/src/editor/modules/documentCanvas/canvas/canvas.js index a4785ad..c72d886 100644 --- a/src/editor/modules/documentCanvas/canvas/canvas.js +++ b/src/editor/modules/documentCanvas/canvas/canvas.js @@ -33,6 +33,7 @@ $.extend(Canvas.prototype, { this.setupEventHandling(); this.wlxmlListener.listenTo(wlxmlDocument); + this.wlxmlDocument = wlxmlDocument; }, generateCanvasDOM: function(wlxmlNode) { @@ -64,8 +65,10 @@ $.extend(Canvas.prototype, { observer.observe(canvas.d[0], config); canvas.publisher('contentChanged'); - var textElement = canvas.getDocumentElement(mutation.target); - textElement.data('wlxmlNode').setText(mutation.target.data); + var textElement = canvas.getDocumentElement(mutation.target), + toSet = mutation.target.data !== utils.unicode.ZWS ? mutation.target.data : ''; + + textElement.data('wlxmlNode').setText(toSet); } }); }); @@ -109,6 +112,11 @@ $.extend(Canvas.prototype, { return documentElement.DocumentNodeElement.fromHTMLElement(this.d.get(0), this); //{wlxmlTag: this.d.prop('tagName')}; }, + toggleElementHighlight: function(node, toggle) { + var element = utils.findCanvasElement(node); + element.toggleHighlight(toggle); + }, + createNodeElement: function(params) { return documentElement.DocumentNodeElement.create(params, this); }, @@ -229,6 +237,10 @@ $.extend(Canvas.prototype, { setCurrentElement: function(element, params) { + if(!(element instanceof documentElement.DocumentElement)) { + element = utils.findCanvasElement(element); + } + params = _.extend({caretTo: 'end'}, params); var findFirstDirectTextChild = function(e, nodeToLand) { var byBrowser = this.getCursor().getPosition().element; @@ -304,13 +316,6 @@ $.extend(Canvas.prototype, { setCursorPosition: function(position) { if(position.element) this._moveCaretToTextElement(position.element, position.offset); - }, - - toXML: function() { - var parent = $('
'), - parts = this.doc().toXML(0); - parent.append(parts); - return parent.html(); } });