fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
wlxml: extending isInside/getParent/is to support tag name
[fnpeditor.git]
/
src
/
editor
/
modules
/
documentCanvas
/
canvas
/
canvas.js
diff --git
a/src/editor/modules/documentCanvas/canvas/canvas.js
b/src/editor/modules/documentCanvas/canvas/canvas.js
index
94ad763
..
b217d18
100644
(file)
--- a/
src/editor/modules/documentCanvas/canvas/canvas.js
+++ b/
src/editor/modules/documentCanvas/canvas/canvas.js
@@
-73,7
+73,7
@@
$.extend(Canvas.prototype, {
createElement: function(wlxmlNode) {
var Factory = wlxmlNode.nodeType === Node.TEXT_NODE ? documentElement.DocumentTextElement : documentElement.DocumentNodeElement;
createElement: function(wlxmlNode) {
var Factory = wlxmlNode.nodeType === Node.TEXT_NODE ? documentElement.DocumentTextElement : documentElement.DocumentNodeElement;
- return
Factory.create
(wlxmlNode, this);
+ return
new Factory
(wlxmlNode, this);
},
getDocumentElement: function(htmlElement) {
},
getDocumentElement: function(htmlElement) {
@@
-83,26
+83,23
@@
$.extend(Canvas.prototype, {
}
var $element = $(htmlElement);
if(htmlElement.nodeType === Node.ELEMENT_NODE && $element.attr('document-node-element') !== undefined) {
}
var $element = $(htmlElement);
if(htmlElement.nodeType === Node.ELEMENT_NODE && $element.attr('document-node-element') !== undefined) {
- return
new documentElement.DocumentNodeElement(htmlElement, this
);
+ return
$element.data('canvas-element'
);
}
}
+
+ if(htmlElement.nodeType === Node.TEXT_NODE && $element.parent().attr('document-text-element') !== undefined) {
+ $element = $element.parent();
+ }
+
if($element.attr('document-text-element') !== undefined || (htmlElement.nodeType === Node.TEXT_NODE && $element.parent().attr('document-text-element') !== undefined)) {
//return DocumentTextElement.fromHTMLElement(htmlElement, canvas);
if($element.attr('document-text-element') !== undefined || (htmlElement.nodeType === Node.TEXT_NODE && $element.parent().attr('document-text-element') !== undefined)) {
//return DocumentTextElement.fromHTMLElement(htmlElement, canvas);
- return
new documentElement.DocumentTextElement(htmlElement, this
);
+ return
$element.data('canvas-element'
);
}
},
reloadRoot: function() {
}
},
reloadRoot: function() {
- var canvasDOM = this.generateCanvasDOM(this.wlxmlDocument.root);
- //var canvasDOM = this.wlxmlDocument.root.getData('canvasElement') ? this.wlxmlDocument.root.getData('canvasElement').dom() : this.generateCanvasDOM(this.wlxmlDocument.root);
-
+ this.rootElement = this.createElement(this.wlxmlDocument.root);
this.wrapper.empty();
this.wrapper.empty();
- this.wrapper.append(canvasDOM);
- this.d = this.wrapper.children(0);
- },
-
- generateCanvasDOM: function(wlxmlNode) {
- var element = documentElement.DocumentNodeElement.create(wlxmlNode, this);
- return element.dom();
+ this.wrapper.append(this.rootElement.dom());
},
setupEventHandling: function() {
},
setupEventHandling: function() {
@@
-171,8
+168,8
@@
$.extend(Canvas.prototype, {
//textElement.data('wlxmlNode').setText(toSet);
//textElement.data('wlxmlNode').document.transform('setText', {node: textElement.data('wlxmlNode'), text: toSet});
//textElement.data('wlxmlNode').setText(toSet);
//textElement.data('wlxmlNode').document.transform('setText', {node: textElement.data('wlxmlNode'), text: toSet});
- if(textElement.
data('wlxmlNode')
.getText() !== toSet) {
- canvas.textHandler.handle(textElement.
data('wlxmlNode')
, toSet);
+ if(textElement.
wlxmlNode
.getText() !== toSet) {
+ canvas.textHandler.handle(textElement.
wlxmlNode
, toSet);
}
}
});
}
}
});
@@
-216,10
+213,7
@@
$.extend(Canvas.prototype, {
},
doc: function() {
},
doc: function() {
- if(this.d === null) {
- return null;
- }
- return this.getDocumentElement(this.d[0]);
+ return this.rootElement;
},
toggleElementHighlight: function(node, toggle) {
},
toggleElementHighlight: function(node, toggle) {
@@
-251,6
+245,11
@@
$.extend(Canvas.prototype, {
},
setCurrentElement: function(element, params) {
},
setCurrentElement: function(element, params) {
+ if(!element) {
+ logger.debug('Invalid element passed to setCurrentElement: ' + element);
+ return;
+ }
+
if(!(element instanceof documentElement.DocumentElement)) {
element = utils.findCanvasElement(element);
}
if(!(element instanceof documentElement.DocumentElement)) {
element = utils.findCanvasElement(element);
}
@@
-301,7
+300,7
@@
$.extend(Canvas.prototype, {
this._moveCaretToTextElement(textElementToLand, params.caretTo); // as method on element?
}
if(!(textElementToLand.sameNode(currentTextElement))) {
this._moveCaretToTextElement(textElementToLand, params.caretTo); // as method on element?
}
if(!(textElementToLand.sameNode(currentTextElement))) {
- this.publisher('currentTextElementSet', textElementToLand.
data('wlxmlNode')
);
+ this.publisher('currentTextElementSet', textElementToLand.
wlxmlNode
);
}
} else {
document.getSelection().removeAllRanges();
}
} else {
document.getSelection().removeAllRanges();
@@
-310,7
+309,7
@@
$.extend(Canvas.prototype, {
if(!(currentNodeElement && currentNodeElement.sameNode(nodeElementToLand))) {
_markAsCurrent(nodeElementToLand);
if(!(currentNodeElement && currentNodeElement.sameNode(nodeElementToLand))) {
_markAsCurrent(nodeElementToLand);
- this.publisher('currentNodeElementSet', nodeElementToLand.
data('wlxmlNode')
);
+ this.publisher('currentNodeElementSet', nodeElementToLand.
wlxmlNode
);
}
},
}
},