X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/fb1b343bcfc05dbdd9f5d4d2d6ad9f243bb21300..0bbec0dc1ee08f4855b030189a4025994150b38c:/src/editor/modules/documentCanvas/documentCanvas.js?ds=sidebyside diff --git a/src/editor/modules/documentCanvas/documentCanvas.js b/src/editor/modules/documentCanvas/documentCanvas.js index 98c09d2..a440bb9 100644 --- a/src/editor/modules/documentCanvas/documentCanvas.js +++ b/src/editor/modules/documentCanvas/documentCanvas.js @@ -20,7 +20,9 @@ return function(sandbox) { canvasElements = canvasElements.concat(plugin.canvasElements || []); }); - var canvas = canvas3.fromXMLDocument(null, canvasElements); + var canvas = canvas3.fromXMLDocument(null, canvasElements, { + user: sandbox.getConfig().user + }, sandbox); var canvasWrapper = $(template); var shownAlready = false; var scrollbarPosition = 0, @@ -70,32 +72,14 @@ return function(sandbox) { }, setDocument: function(wlxmlDocument) { canvas.loadWlxmlDocument(wlxmlDocument); - canvasWrapper.find('#rng-module-documentCanvas-content').empty().append(canvas.view()); - }, - highlightElement: function(node) { - canvas.toggleElementHighlight(node, true); - }, - dimElement: function(node) { - canvas.toggleElementHighlight(node, false); - }, - jumpToElement: function(node) { - canvas.setCurrentElement(node); + canvasWrapper.find('#rng-module-documentCanvas-contentWrapper').empty().append(canvas.view()); }, onAfterActionExecuted: function(action, ret) { - if(ret && ret.isValid()) { + if(ret && ret.isValid && ret.isValid()) { logger.debug('The action returned a valid fragment'); - if(ret instanceof canvas.wlxmlDocument.RangeFragment) { - canvas.setCurrentElement(ret.endNode, {caretTo: ret.endOffset}); - } else if(ret instanceof canvas.wlxmlDocument.NodeFragment) { - var params = { - caretTo: ret instanceof canvas.wlxmlDocument.CaretFragment ? ret.offset : 'start' - }; - canvas.setCurrentElement(ret.node, params); - } else { - logger.debug('Fragment not supported'); - } - return; + return canvas.select(ret); } + logger.debug('No valid fragment returned from the action'); (actionHandlers[action.getPluginName()] || []).forEach(function(handler) {