fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
editor: canvas - support NullElements - elements that are not inserted into canvas
[fnpeditor.git]
/
src
/
smartxml
/
core.js
diff --git
a/src/smartxml/core.js
b/src/smartxml/core.js
index
007468f
..
fdce751
100644
(file)
--- a/
src/smartxml/core.js
+++ b/
src/smartxml/core.js
@@
-187,15
+187,21
@@
var elementNodeTransformations = {
return;
}
return;
}
+ this.contents()
+ .filter(function(child) {
+ return child.getProperty('describesParent');
+ }.bind(this))
+ .forEach(function(child) {
+ child.detach();
+ });
+
var myContents = this.contents(),
myIdx = parent.indexOf(this);
var myContents = this.contents(),
myIdx = parent.indexOf(this);
-
if(myContents.length === 0) {
return this.detach();
}
if(myContents.length === 0) {
return this.detach();
}
-
var childrenLength = this.contents().length,
first = true,
shiftRange = false;
var childrenLength = this.contents().length,
first = true,
shiftRange = false;
@@
-381,7
+387,9
@@
var documentTransformations = {
}
for(var i = idx1; i <= idx2; i++) {
}
for(var i = idx1; i <= idx2; i++) {
- wrapper.append(parentContents[i].detach());
+ if(!parentContents[i].getProperty('describesParent')) {
+ wrapper.append(parentContents[i].detach());
+ }
}
insertingTarget[insertingMethod](wrapper);
}
insertingTarget[insertingMethod](wrapper);
@@
-426,7
+434,9
@@
var documentTransformations = {
wrapperElement.append({text: prefixInside});
}
for(var i = idx1 + 1; i < idx2; i++) {
wrapperElement.append({text: prefixInside});
}
for(var i = idx1 + 1; i < idx2; i++) {
- wrapperElement.append(contentsInside[i]);
+ if(!contentsInside[i].getProperty('describesParent')) {
+ wrapperElement.append(contentsInside[i]);
+ }
}
if(suffixInside.length > 0) {
wrapperElement.append({text: suffixInside});
}
if(suffixInside.length > 0) {
wrapperElement.append({text: suffixInside});