fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
smartxml: allow for removing node data for a specified key
[fnpeditor.git]
/
src
/
editor
/
modules
/
documentCanvas
/
documentCanvas.js
diff --git
a/src/editor/modules/documentCanvas/documentCanvas.js
b/src/editor/modules/documentCanvas/documentCanvas.js
index
3e6a209
..
8742aef
100644
(file)
--- a/
src/editor/modules/documentCanvas/documentCanvas.js
+++ b/
src/editor/modules/documentCanvas/documentCanvas.js
@@
-3,14
+3,24
@@
define([
'libs/jquery',
'libs/underscore',
define([
'libs/jquery',
'libs/underscore',
+'fnpjs/logging/logging',
'./canvas/canvas',
'./canvas/canvas',
-'libs/text!./template.html'], function($, _, canvas3, template) {
+'libs/text!./template.html'], function($, _,
logging,
canvas3, template) {
'use strict';
'use strict';
+
+var logger = logging.getLogger('documentCanvas');
+
return function(sandbox) {
return function(sandbox) {
- var canvas = canvas3.fromXMLDocument(null);
+ var canvasElements = [];
+
+ sandbox.getPlugins().forEach(function(plugin) {
+ canvasElements = canvasElements.concat(plugin.canvasElements || []);
+ });
+
+ var canvas = canvas3.fromXMLDocument(null, canvasElements);
var canvasWrapper = $(template);
var shownAlready = false;
var scrollbarPosition = 0,
var canvasWrapper = $(template);
var shownAlready = false;
var scrollbarPosition = 0,
@@
-72,6
+82,13
@@
return function(sandbox) {
canvas.setCurrentElement(node);
},
onAfterActionExecuted: function(action, ret) {
canvas.setCurrentElement(node);
},
onAfterActionExecuted: function(action, ret) {
+ if(ret && ret.isValid()) {
+ logger.debug('The action returned a valid fragment');
+ return canvas.select(ret);
+ }
+
+ logger.debug('No valid fragment returned from the action');
+
(actionHandlers[action.getPluginName()] || []).forEach(function(handler) {
handler(canvas, action, ret);
});
(actionHandlers[action.getPluginName()] || []).forEach(function(handler) {
handler(canvas, action, ret);
});