X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/fc54b1e72b7ed4992bbc4a2ef3ae7f02393d174d..4aeab46723e464d604ced64f9bddb8fa0921df5a:/src/editor/modules/documentCanvas/documentCanvas.js diff --git a/src/editor/modules/documentCanvas/documentCanvas.js b/src/editor/modules/documentCanvas/documentCanvas.js index 03b0cf7..a440bb9 100644 --- a/src/editor/modules/documentCanvas/documentCanvas.js +++ b/src/editor/modules/documentCanvas/documentCanvas.js @@ -14,13 +14,15 @@ var logger = logging.getLogger('documentCanvas'); return function(sandbox) { - var canvasElements; + var canvasElements = []; - sandbox.getPlugins(function(plugin) { + sandbox.getPlugins().forEach(function(plugin) { 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,23 +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 instanceof canvas.wlxmlDocument.CaretFragment && ret.isValid()) { + if(ret && ret.isValid && ret.isValid()) { logger.debug('The action returned a valid fragment'); - canvas.setCurrentElement(ret.node, {caretTo: ret.offset}); - return; + return canvas.select(ret); } + logger.debug('No valid fragment returned from the action'); (actionHandlers[action.getPluginName()] || []).forEach(function(handler) {