fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
editor: first approach to supplementing comments with user and date metadata
[fnpeditor.git]
/
src
/
editor
/
modules
/
documentCanvas
/
canvas
/
wlxmlListener.js
diff --git
a/src/editor/modules/documentCanvas/canvas/wlxmlListener.js
b/src/editor/modules/documentCanvas/canvas/wlxmlListener.js
index
c5deabf
..
0b23021
100644
(file)
--- a/
src/editor/modules/documentCanvas/canvas/wlxmlListener.js
+++ b/
src/editor/modules/documentCanvas/canvas/wlxmlListener.js
@@
-29,6
+29,12
@@
$.extend(Listener.prototype, {
}
});
}
});
+
+var _metadataEventHandler = function(event) {
+ var canvasNode = utils.findCanvasElement(event.meta.node);
+ canvasNode.exec('updateMetadata');
+};
+
var handlers = {
nodeAttrChange: function(event) {
if(event.meta.attr === 'class') {
var handlers = {
nodeAttrChange: function(event) {
if(event.meta.attr === 'class') {
@@
-39,8
+45,9
@@
var handlers = {
nodeTagChange: function(event) {
var canvasNode = utils.findCanvasElement(event.meta.node);
canvasNode.setWlxmlTag(event.meta.newTagName);
nodeTagChange: function(event) {
var canvasNode = utils.findCanvasElement(event.meta.node);
canvasNode.setWlxmlTag(event.meta.newTagName);
+ canvasNode.data('wlxmlNode', event.meta.node);
},
},
- nodeAdded: function(event) {
+ nodeAdded: function(event
, checkForExistence
) {
if(event.meta.node.isRoot()) {
this.canvas.reloadRoot();
return;
if(event.meta.node.isRoot()) {
this.canvas.reloadRoot();
return;
@@
-57,24
+64,31
@@
var handlers = {
referenceAction = 'after';
}
referenceAction = 'after';
}
- actionArg =
utils.findCanvasElement(event.meta.node
) || event.meta.node;
+ actionArg =
(checkForExistence && utils.findCanvasElement(event.meta.node)
) || event.meta.node;
referenceElement[referenceAction](actionArg);
},
nodeMoved: function(event) {
referenceElement[referenceAction](actionArg);
},
nodeMoved: function(event) {
- return handlers.nodeAdded(event);
+ return handlers.nodeAdded(event
, true
);
},
nodeDetached: function(event) {
var canvasNode = utils.findCanvasElementInParent(event.meta.node, event.meta.parent);
canvasNode.detach();
},
nodeTextChange: function(event) {
},
nodeDetached: function(event) {
var canvasNode = utils.findCanvasElementInParent(event.meta.node, event.meta.parent);
canvasNode.detach();
},
nodeTextChange: function(event) {
+ //console.log('wlxmlListener: ' + event.meta.node.getText());
var canvasElement = utils.findCanvasElement(event.meta.node),
toSet = event.meta.node.getText();
if(toSet === '') {
toSet = utils.unicode.ZWS;
}
var canvasElement = utils.findCanvasElement(event.meta.node),
toSet = event.meta.node.getText();
if(toSet === '') {
toSet = utils.unicode.ZWS;
}
- canvasElement.setText(toSet);
- }
+ if(toSet !== canvasElement.getText()) {
+ canvasElement.setText(toSet);
+ }
+ },
+
+ metadataChanged: _metadataEventHandler,
+ metadataAdded: _metadataEventHandler,
+ metadataRemoved: _metadataEventHandler
};
return {
};
return {