fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
editor: fix splitting text when its parent contains comments
[fnpeditor.git]
/
src
/
editor
/
plugins
/
core
/
core.js
diff --git
a/src/editor/plugins/core/core.js
b/src/editor/plugins/core/core.js
index
bbc27ac
..
450f147
100644
(file)
--- a/
src/editor/plugins/core/core.js
+++ b/
src/editor/plugins/core/core.js
@@
-18,14
+18,27
@@
plugin.documentExtension.textNode.transformations = {
breakContent: {
impl: function(args) {
var node = this,
breakContent: {
impl: function(args) {
var node = this,
+ parentDescribingNodes = [],
newNodes, emptyText;
newNodes = node.split({offset: args.offset});
newNodes, emptyText;
newNodes = node.split({offset: args.offset});
+ newNodes.second.contents()
+ .filter(function(child) {
+ return child.object.describesParent;
+ })
+ .forEach(function(child) {
+ //child.detach();
+ parentDescribingNodes.push(child);
+ child.detach();
+ });
[newNodes.first, newNodes.second].some(function(newNode) {
if(!(newNode.contents().length)) {
emptyText = newNode.append({text: ''});
return true; // break
}
});
[newNodes.first, newNodes.second].some(function(newNode) {
if(!(newNode.contents().length)) {
emptyText = newNode.append({text: ''});
return true; // break
}
});
+ parentDescribingNodes.forEach(function(node) {
+ newNodes.first.append(node);
+ });
return _.extend(newNodes, {emptyText: emptyText});
},
getChangeRoot: function() {
return _.extend(newNodes, {emptyText: emptyText});
},
getChangeRoot: function() {