fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
smartxml: Allow Fragments to refresh their node references using their initial paths
[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
03b0cf7
..
5942d8f
100644
(file)
--- a/
src/editor/modules/documentCanvas/documentCanvas.js
+++ b/
src/editor/modules/documentCanvas/documentCanvas.js
@@
-14,9
+14,9
@@
var logger = logging.getLogger('documentCanvas');
return function(sandbox) {
return function(sandbox) {
- var canvasElements;
+ var canvasElements
= []
;
- sandbox.getPlugins(function(plugin) {
+ sandbox.getPlugins(
).forEach(
function(plugin) {
canvasElements = canvasElements.concat(plugin.canvasElements || []);
});
canvasElements = canvasElements.concat(plugin.canvasElements || []);
});
@@
-82,9
+82,12
@@
return function(sandbox) {
canvas.setCurrentElement(node);
},
onAfterActionExecuted: function(action, ret) {
canvas.setCurrentElement(node);
},
onAfterActionExecuted: function(action, ret) {
- if(ret && ret
instanceof canvas.wlxmlDocument.CaretFragment && ret.isValid()
) {
+ if(ret && ret
.isValid() && ret instanceof canvas.wlxmlDocument.NodeFragment
) {
logger.debug('The action returned a valid fragment');
logger.debug('The action returned a valid fragment');
- canvas.setCurrentElement(ret.node, {caretTo: ret.offset});
+ var params = {
+ caretTo: ret instanceof canvas.wlxmlDocument.CaretFragment ? ret.offset : 'start'
+ };
+ canvas.setCurrentElement(ret.node, params);
return;
}
logger.debug('No valid fragment returned from the action');
return;
}
logger.debug('No valid fragment returned from the action');