fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
update document summary on save/revert
[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
9a333d0
..
5f978d8
100644
(file)
--- a/
src/editor/plugins/core/core.js
+++ b/
src/editor/plugins/core/core.js
@@
-122,13
+122,22
@@
plugin.documentExtension.textNode.transformations = {
parent.contents().some(function(n) {
return move(n, newNode);
});
parent.contents().some(function(n) {
return move(n, newNode);
});
+ // span can't be the last node
+ newNode.append({'text': ''});
if(newNodes.second.contents()[0].getText().length === 0) {
if(newNodes.second.contents()[0].getText().length === 0) {
+ var textNode = newNodes.second.contents()[0];
newNodes.second.detach();
newNodes.second = parent;
newNodes.second.detach();
newNodes.second = parent;
- emptyText = newNodes.second.append(
{text: '\u200b'}); // why? why is ZWS needed here?
+ emptyText = newNodes.second.append(
textNode);
}
}
}
}
+ var newNodeText = newNodes.second.contents()[0].getText();
+ if(newNodes.second.is({tagName: 'header'}) && newNodeText === '') {
+ newNodes.second = newNodes.second.setTag('div');
+ newNodes.second.setClass('p');
+ }
+
return _.extend(newNodes, {emptyText: emptyText});
}
},
return _.extend(newNodes, {emptyText: emptyText});
}
},
@@
-229,10
+238,12
@@
plugin.documentExtension.documentNode.transformations = {
return toMerge.is({tagName: 'div', 'klass': 'p'}) || (toMerge.is({tagName: 'div'}) && toMerge.getClass() === '');
},
run: function() {
return toMerge.is({tagName: 'div', 'klass': 'p'}) || (toMerge.is({tagName: 'div'}) && toMerge.getClass() === '');
},
run: function() {
- if(prev && (prev.is('p') || prev.is({tagName: 'header'}))) {
+ if (!prev)
+ return;
+ if(prev.is('p') || prev.is({tagName: 'header'})) {
return merge(toMerge, prev);
}
return merge(toMerge, prev);
}
- if(prev
&& prev
.is('list')) {
+ if(prev.is('list')) {
var items = prev.contents().filter(function(n) { return n.is('item');});
return merge(toMerge, items[items.length-1]);
}
var items = prev.contents().filter(function(n) { return n.is('item');});
return merge(toMerge, items[items.length-1]);
}
@@
-289,7
+300,7
@@
plugin.documentExtension.documentNode.transformations = {
return toMerge.is({tagName: 'header'});
},
run: function() {
return toMerge.is({tagName: 'header'});
},
run: function() {
- if(prev &&
prev.is('p') || prev.is({tagName: 'header'}
)) {
+ if(prev &&
(prev.is('p') || prev.is({tagName: 'header'})
)) {
return merge(toMerge, prev);
}
}
return merge(toMerge, prev);
}
}
@@
-514,6
+525,10
@@
var createWrapTextAction = function(createParams) {
offsetEnd: params.fragment.endOffset,
textNodeIdx: [params.fragment.startNode.getIndex(), params.fragment.endNode.getIndex()]
});
offsetEnd: params.fragment.endOffset,
textNodeIdx: [params.fragment.startNode.getIndex(), params.fragment.endNode.getIndex()]
});
+ if(wrapper.next() === null) {
+ // span can't be the last node
+ parent.append({text: ''});
+ }
lastTextNode = wrapper.getLastTextNode();
if(lastTextNode) {
lastTextNode = wrapper.getLastTextNode();
if(lastTextNode) {