fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
canvas api wip: splitting nodes with subnodes
[fnpeditor.git]
/
modules
/
documentCanvas
/
documentCanvas.js
diff --git
a/modules/documentCanvas/documentCanvas.js
b/modules/documentCanvas/documentCanvas.js
index
f8c21ed
..
1577be0
100644
(file)
--- a/
modules/documentCanvas/documentCanvas.js
+++ b/
modules/documentCanvas/documentCanvas.js
@@
-14,6
+14,7
@@
return function(sandbox) {
node: $(_.template(template)()),
\r
currentNode: null,
\r
shownAlready: false,
\r
node: $(_.template(template)()),
\r
currentNode: null,
\r
shownAlready: false,
\r
+ scrollbarPosition: 0,
\r
setup: function() {
\r
var view = this;
\r
\r
setup: function() {
\r
var view = this;
\r
\r
@@
-50,6
+51,15
@@
return function(sandbox) {
e.preventDefault();
\r
view.insertNewNode(null, null);
\r
}
\r
e.preventDefault();
\r
view.insertNewNode(null, null);
\r
}
\r
+ if(e.which === 8) {
\r
+ var anchor = window.getSelection().anchorNode;
\r
+ var len = anchor.length;
\r
+ console.log(len);
\r
+ if(len === 1) {
\r
+ e.preventDefault();
\r
+ $(anchor).parent().text('');
\r
+ }
\r
+ }
\r
});
\r
\r
this.node.onShow = function() {
\r
});
\r
\r
this.node.onShow = function() {
\r
@@
-58,8
+68,12
@@
return function(sandbox) {
view.selectFirstNode();
\r
} else if(view.currentNode) {
\r
view.movecaretToNode(view.getNodeElement(view.currentNode));
\r
view.selectFirstNode();
\r
} else if(view.currentNode) {
\r
view.movecaretToNode(view.getNodeElement(view.currentNode));
\r
+ view.node.find('#rng-module-documentCanvas-contentWrapper').scrollTop(view.scrollbarPosition);
\r
}
\r
};
\r
}
\r
};
\r
+ this.node.onHide = function() {
\r
+ view.scrollbarPosition = view.node.find('#rng-module-documentCanvas-contentWrapper').scrollTop();
\r
+ }
\r
\r
this.gridToggled = false;
\r
},
\r
\r
this.gridToggled = false;
\r
},
\r
@@
-77,14
+91,17
@@
return function(sandbox) {
//TODO: Insert inline
\r
var anchor = $(window.getSelection().anchorNode);
\r
var anchorOffset = window.getSelection().anchorOffset;
\r
//TODO: Insert inline
\r
var anchor = $(window.getSelection().anchorNode);
\r
var anchorOffset = window.getSelection().anchorOffset;
\r
- if(anchor[0].nodeType === Node.TEXT_NODE)
\r
+ var textLen;
\r
+ if(anchor[0].nodeType === Node.TEXT_NODE) {
\r
+ textLen = anchor.text().length;
\r
anchor = anchor.parent();
\r
anchor = anchor.parent();
\r
+ }
\r
if(anchor.text() === '') {
\r
var todel = anchor;
\r
anchor = anchor.parent();
\r
todel.remove();
\r
}
\r
if(anchor.text() === '') {
\r
var todel = anchor;
\r
anchor = anchor.parent();
\r
todel.remove();
\r
}
\r
- if(anchorOffset > 0 && anchorOffset <
anchor.text().length
) {
\r
+ if(anchorOffset > 0 && anchorOffset <
textLen
) {
\r
if(wlxmlTag === null && wlxmlClass === null) {
\r
return this.splitWithNewNode(anchor);
\r
}
\r
if(wlxmlTag === null && wlxmlClass === null) {
\r
return this.splitWithNewNode(anchor);
\r
}
\r