fnp
/
fnpeditor.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
abd8692
)
refactoring: stop using data api on document element to keep reference to wlxmlNode
author
Aleksander Łukasz
<aleksander.lukasz@nowoczesnapolska.org.pl>
Fri, 28 Mar 2014 11:54:37 +0000
(12:54 +0100)
committer
Aleksander Łukasz
<aleksander.lukasz@nowoczesnapolska.org.pl>
Fri, 28 Mar 2014 11:54:37 +0000
(12:54 +0100)
src/editor/modules/documentCanvas/canvas/canvas.js
patch
|
blob
|
history
src/editor/modules/documentCanvas/canvas/canvas.test.js
patch
|
blob
|
history
src/editor/modules/documentCanvas/canvas/documentElement.js
patch
|
blob
|
history
src/editor/modules/documentCanvas/canvas/keyboard.js
patch
|
blob
|
history
src/editor/modules/documentCanvas/canvas/utils.js
patch
|
blob
|
history
src/editor/modules/documentCanvas/canvas/wlxmlListener.js
patch
|
blob
|
history
src/editor/modules/documentCanvas/commands.js
patch
|
blob
|
history
diff --git
a/src/editor/modules/documentCanvas/canvas/canvas.js
b/src/editor/modules/documentCanvas/canvas/canvas.js
index
f29f99f
..
476a95b
100644
(file)
--- a/
src/editor/modules/documentCanvas/canvas/canvas.js
+++ b/
src/editor/modules/documentCanvas/canvas/canvas.js
@@
-177,8
+177,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);
}
}
});
}
}
});
@@
-307,7
+307,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();
@@
-316,7
+316,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
);
}
},
}
},
diff --git
a/src/editor/modules/documentCanvas/canvas/canvas.test.js
b/src/editor/modules/documentCanvas/canvas/canvas.test.js
index
902cb34
..
346a82b
100644
(file)
--- a/
src/editor/modules/documentCanvas/canvas/canvas.test.js
+++ b/
src/editor/modules/documentCanvas/canvas/canvas.test.js
@@
-33,7
+33,7
@@
describe('new Canvas', function() {
expect(c.doc().children()).to.have.length(3);
expect(c.doc().children()[0].canvas).to.equal(c);
expect(c.doc().children()).to.have.length(3);
expect(c.doc().children()[0].canvas).to.equal(c);
- expect(c.doc().children()[0].
data('wlxmlNode')
.sameNode(doc.root));
+ expect(c.doc().children()[0].
wlxmlNode
.sameNode(doc.root));
});
});
});
});
@@
-58,7
+58,7
@@
describe('Handling changes to the document', function() {
c = canvas.fromXMLDocument(doc);
var header = doc.root.replaceWith({tagName: 'header'});
c = canvas.fromXMLDocument(doc);
var header = doc.root.replaceWith({tagName: 'header'});
- expect(c.doc().
data('wlxmlNode')
.sameNode(header)).to.equal(true);
+ expect(c.doc().
wlxmlNode
.sameNode(header)).to.equal(true);
});
});
});
});
@@
-104,7
+104,7
@@
describe('Listening to document changes', function() {
/* Make sure we handle invalidation of reference to wlxmlNode after changing its tag */
expect(headerNode.getData('canvasElement').sameNode(headerElement)).to.equal(true, 'node->element');
/* Make sure we handle invalidation of reference to wlxmlNode after changing its tag */
expect(headerNode.getData('canvasElement').sameNode(headerElement)).to.equal(true, 'node->element');
- expect(headerElement.
data('wlxmlNode')
.sameNode(headerNode)).to.equal(true, 'element->node');
+ expect(headerElement.
wlxmlNode
.sameNode(headerNode)).to.equal(true, 'element->node');
});
it('Handles nodeDetached event for an empty text node', function(done) {
});
it('Handles nodeDetached event for an empty text node', function(done) {
@@
-120,7
+120,7
@@
describe('Listening to document changes', function() {
wait(function() {
var parent = aTextElement.parent();
expect(aTextElement.getText({raw:true})).to.equal(utils.unicode.ZWS, 'canvas represents this as empty node');
wait(function() {
var parent = aTextElement.parent();
expect(aTextElement.getText({raw:true})).to.equal(utils.unicode.ZWS, 'canvas represents this as empty node');
- aTextElement.
data('wlxmlNode')
.detach();
+ aTextElement.
wlxmlNode
.detach();
expect(parent.children().length).to.equal(1);
expect(parent.children()[0].getWlxmlTag()).to.equal('span');
done();
expect(parent.children().length).to.equal(1);
expect(parent.children()[0].getWlxmlTag()).to.equal('span');
done();
diff --git
a/src/editor/modules/documentCanvas/canvas/documentElement.js
b/src/editor/modules/documentCanvas/canvas/documentElement.js
index
2c146bb
..
5ed3d20
100644
(file)
--- a/
src/editor/modules/documentCanvas/canvas/documentElement.js
+++ b/
src/editor/modules/documentCanvas/canvas/documentElement.js
@@
-19,7
+19,6
@@
var DocumentElement = function(wlxmlNode, canvas) {
this.$element = this.createDOM();
this.$element.data('canvas-element', this);
this.$element = this.createDOM();
this.$element.data('canvas-element', this);
- this.data('wlxmlNode', wlxmlNode);
};
$.extend(DocumentElement.prototype, {
};
$.extend(DocumentElement.prototype, {
diff --git
a/src/editor/modules/documentCanvas/canvas/keyboard.js
b/src/editor/modules/documentCanvas/canvas/keyboard.js
index
85fbd43
..
f879851
100644
(file)
--- a/
src/editor/modules/documentCanvas/canvas/keyboard.js
+++ b/
src/editor/modules/documentCanvas/canvas/keyboard.js
@@
-51,7
+51,7
@@
handlers.push({key: KEYS.ENTER,
var currentElement = canvas.getCurrentNodeElement();
if(currentElement) {
canvas.wlxmlDocument.startTransaction();
var currentElement = canvas.getCurrentNodeElement();
if(currentElement) {
canvas.wlxmlDocument.startTransaction();
- added = currentElement.
data('wlxmlNode')
.after({
+ added = currentElement.
wlxmlNode
.after({
tagName: currentElement.getWlxmlTag() || 'div',
attrs: {'class': currentElement.getWlxmlClass() || 'p'}
});
tagName: currentElement.getWlxmlTag() || 'div',
attrs: {'class': currentElement.getWlxmlClass() || 'p'}
});
@@
-69,7
+69,7
@@
handlers.push({key: KEYS.ENTER,
}
canvas.wlxmlDocument.startTransaction();
}
canvas.wlxmlDocument.startTransaction();
- added = element.
data('wlxmlNode')
.after(
+ added = element.
wlxmlNode
.after(
{tagName: element.getWlxmlTag() || 'div', attrs: {'class': element.getWlxmlClass() || 'p'}}
);
added.append({text: ''});
{tagName: element.getWlxmlTag() || 'div', attrs: {'class': element.getWlxmlClass() || 'p'}}
);
added.append({text: ''});
@@
-101,7
+101,7
@@
handlers.push({key: KEYS.ENTER,
// gotoOptions = {caretTo: 'start'};
// }
// gotoOptions = {caretTo: 'start'};
// }
- var result = position.element.
data('wlxmlNode')
.breakContent({offset: position.offset}),
+ var result = position.element.
wlxmlNode
.breakContent({offset: position.offset}),
goto, gotoOptions;
if(result.emptyText) {
goto = result.emptyText;
goto, gotoOptions;
if(result.emptyText) {
goto = result.emptyText;
@@
-183,7
+183,7
@@
handlers.push({keys: [KEYS.BACKSPACE, KEYS.DELETE],
var cursor = canvas.getCursor(),
position = canvas.getCursor().getPosition(),
element = position.element,
var cursor = canvas.getCursor(),
position = canvas.getCursor().getPosition(),
element = position.element,
- node = element.
data('wlxmlNode')
,
+ node = element.
wlxmlNode
,
direction = 'above',
caretTo = 'end',
goto;
direction = 'above',
caretTo = 'end',
goto;
@@
-219,11
+219,11
@@
handlers.push({keys: [KEYS.BACKSPACE, KEYS.DELETE],
canvas.wlxmlDocument.deleteText({
from: {
canvas.wlxmlDocument.deleteText({
from: {
- node: start.element.
data('wlxmlNode')
,
+ node: start.element.
wlxmlNode
,
offset: start.offset
},
to: {
offset: start.offset
},
to: {
- node: end.element.
data('wlxmlNode')
,
+ node: end.element.
wlxmlNode
,
offset: end.offset
}
});
offset: end.offset
}
});
@@
-256,14
+256,14
@@
handlers.push({keys: [KEYS.BACKSPACE, KEYS.DELETE],
}
if(parent.children().length === 1 && parent.children()[0].sameNode(element)) {
if(grandParent && grandParent.children().length === 1) {
}
if(parent.children().length === 1 && parent.children()[0].sameNode(element)) {
if(grandParent && grandParent.children().length === 1) {
- goto = grandParent.
data('wlxmlNode')
.append({text: ''});
+ goto = grandParent.
wlxmlNode
.append({text: ''});
} else {
goto = element.getNearestTextElement(direction);
}
} else {
goto = element.getNearestTextElement(direction);
}
- parent.
data('wlxmlNode')
.detach();
+ parent.
wlxmlNode
.detach();
} else {
goto = element.getNearestTextElement(direction);
} else {
goto = element.getNearestTextElement(direction);
- element.
data('wlxmlNode')
.detach();
+ element.
wlxmlNode
.detach();
}
canvas.setCurrentElement(goto, {caretTo: caretTo});
}
}
canvas.setCurrentElement(goto, {caretTo: caretTo});
}
@@
-272,7
+272,7
@@
handlers.push({keys: [KEYS.BACKSPACE, KEYS.DELETE],
element = element.getNearestTextElement(direction);
}
if(element) {
element = element.getNearestTextElement(direction);
}
if(element) {
- goto = element.
data('wlxmlNode')
.mergeContentUp();
+ goto = element.
wlxmlNode
.mergeContentUp();
canvas.setCurrentElement(goto.node, {caretTo: goto.offset});
}
event.preventDefault();
canvas.setCurrentElement(goto.node, {caretTo: goto.offset});
}
event.preventDefault();
diff --git
a/src/editor/modules/documentCanvas/canvas/utils.js
b/src/editor/modules/documentCanvas/canvas/utils.js
index
337f4d3
..
56093f6
100644
(file)
--- a/
src/editor/modules/documentCanvas/canvas/utils.js
+++ b/
src/editor/modules/documentCanvas/canvas/utils.js
@@
-45,7
+45,7
@@
var findCanvasElementInParent = function(wlxmlChildNode, wlxmlParentNode) {
} else {
parentElement = findCanvasElement(wlxmlParentNode);
parentElement.children().forEach(function(child) {
} else {
parentElement = findCanvasElement(wlxmlParentNode);
parentElement.children().forEach(function(child) {
- if(child.
data('wlxmlNode')
.sameNode(wlxmlChildNode)) { // czemu tu, przy drugim undo child nie mial data?
+ if(child.
wlxmlNode
.sameNode(wlxmlChildNode)) { // czemu tu, przy drugim undo child nie mial data?
toret = child;
}
});
toret = child;
}
});
diff --git
a/src/editor/modules/documentCanvas/canvas/wlxmlListener.js
b/src/editor/modules/documentCanvas/canvas/wlxmlListener.js
index
0ae8885
..
cbf8d08
100644
(file)
--- a/
src/editor/modules/documentCanvas/canvas/wlxmlListener.js
+++ b/
src/editor/modules/documentCanvas/canvas/wlxmlListener.js
@@
-45,7
+45,7
@@
var handlers = {
nodeTagChange: function(event) {
var canvasNode = utils.findCanvasElement(event.meta.node);
canvasNode.setWlxmlTag(event.meta.newTagName);
nodeTagChange: function(event) {
var canvasNode = utils.findCanvasElement(event.meta.node);
canvasNode.setWlxmlTag(event.meta.newTagName);
- canvasNode.
data('wlxmlNode', event.meta.node)
;
+ canvasNode.
wlxmlNode = event.meta.node
;
},
nodeAdded: function(event, checkForExistence) {
if(event.meta.node.isRoot()) {
},
nodeAdded: function(event, checkForExistence) {
if(event.meta.node.isRoot()) {
diff --git
a/src/editor/modules/documentCanvas/commands.js
b/src/editor/modules/documentCanvas/commands.js
index
55de02c
..
6335e0a
100644
(file)
--- a/
src/editor/modules/documentCanvas/commands.js
+++ b/
src/editor/modules/documentCanvas/commands.js
@@
-34,7
+34,7
@@
commands.register('redo', function(canvas) {
});
commands.register('remove-node', function(canvas) {
});
commands.register('remove-node', function(canvas) {
- canvas.getCurrentNodeElement().
data('wlxmlNode')
.detach();
+ canvas.getCurrentNodeElement().
wlxmlNode
.detach();
});
commands.register('unwrap-node', function(canvas) {
});
commands.register('unwrap-node', function(canvas) {
@@
-45,14
+45,14
@@
commands.register('unwrap-node', function(canvas) {
parent2 = selectionEnd.element.parent() || undefined;
var selectionAnchor = cursor.getSelectionAnchor(),
parent2 = selectionEnd.element.parent() || undefined;
var selectionAnchor = cursor.getSelectionAnchor(),
- node1 = parent1.
data('wlxmlNode')
,
- node2 = parent2.
data('wlxmlNode')
,
+ node1 = parent1.
wlxmlNode
,
+ node2 = parent2.
wlxmlNode
,
doc = node1.document;
if(doc.areItemsOfSameList({node1: node1, node2: node2})) {
doc.extractItems({item1: node1, item2: node2});
canvas.setCurrentElement(selectionAnchor.element, {caretTo: selectionAnchor.offset});
} else if(!cursor.isSelecting()) {
doc = node1.document;
if(doc.areItemsOfSameList({node1: node1, node2: node2})) {
doc.extractItems({item1: node1, item2: node2});
canvas.setCurrentElement(selectionAnchor.element, {caretTo: selectionAnchor.offset});
} else if(!cursor.isSelecting()) {
- var nodeToUnwrap = cursor.getPosition().element.
data('wlxmlNode')
,
+ var nodeToUnwrap = cursor.getPosition().element.
wlxmlNode
,
parentNode = nodeToUnwrap.unwrap();
if(parentNode) {
canvas.setCurrentElement(utils.findCanvasElement(parentNode));
parentNode = nodeToUnwrap.unwrap();
if(parentNode) {
canvas.setCurrentElement(utils.findCanvasElement(parentNode));
@@
-67,8
+67,8
@@
commands.register('wrap-node', function(canvas) {
parent1 = selectionStart.element.parent() || undefined,
parent2 = selectionEnd.element.parent() || undefined;
parent1 = selectionStart.element.parent() || undefined,
parent2 = selectionEnd.element.parent() || undefined;
- var node1 = parent1.
data('wlxmlNode')
,
- node2 = parent2.
data('wlxmlNode')
,
+ var node1 = parent1.
wlxmlNode
,
+ node2 = parent2.
wlxmlNode
,
doc = node1.document;
if(doc.areItemsOfSameList({node1: node1, node2: node2})) {
doc = node1.document;
if(doc.areItemsOfSameList({node1: node1, node2: node2})) {
@@
-90,8
+90,8
@@
commands.register('list', function(canvas, params) {
return;
}
return;
}
- var node1 = parent1.
data('wlxmlNode')
,
- node2 = parent2.
data('wlxmlNode')
,
+ var node1 = parent1.
wlxmlNode
,
+ node2 = parent2.
wlxmlNode
,
doc = node1.document;
doc.createList({node1: node1, node2: node2});
doc = node1.document;
doc.createList({node1: node1, node2: node2});
@@
-165,7
+165,7
@@
commands.register('newNodeRequested', function(canvas, params, user) {
if(cursor.isSelecting()) {
if(cursor.isSelectingSiblings()) {
if(cursor.isSelectingWithinElement()) {
if(cursor.isSelecting()) {
if(cursor.isSelectingSiblings()) {
if(cursor.isSelectingWithinElement()) {
- wlxmlNode = selectionStart.element.
data('wlxmlNode')
;
+ wlxmlNode = selectionStart.element.
wlxmlNode
;
caretTo = selectionStart.offset < selectionEnd.offset ? 'start' : 'end';
insertNode(
caretTo = selectionStart.offset < selectionEnd.offset ? 'start' : 'end';
insertNode(
@@
-179,7
+179,7
@@
commands.register('newNodeRequested', function(canvas, params, user) {
);
}
else {
);
}
else {
- wlxmlNode = selectionStart.element.
data('wlxmlNode')
.parent();
+ wlxmlNode = selectionStart.element.
wlxmlNode
.parent();
caretTo = selectionStart.element.sameNode(cursor.getSelectionAnchor().element) ? 'end' : 'start';
insertNode(
caretTo = selectionStart.element.sameNode(cursor.getSelectionAnchor().element) ? 'end' : 'start';
insertNode(
@@
-188,7
+188,7
@@
commands.register('newNodeRequested', function(canvas, params, user) {
_with: {tagName: params.wlxmlTag, attrs: {'class': params.wlxmlClass}},
offsetStart: selectionStart.offset,
offsetEnd: selectionEnd.offset,
_with: {tagName: params.wlxmlTag, attrs: {'class': params.wlxmlClass}},
offsetStart: selectionStart.offset,
offsetEnd: selectionEnd.offset,
- textNodeIdx: [wlxmlNode.indexOf(selectionStart.element.
data('wlxmlNode')), wlxmlNode.indexOf(selectionEnd.element.data('wlxmlNode')
)] //parent.childIndex(selectionEnd.element)]
+ textNodeIdx: [wlxmlNode.indexOf(selectionStart.element.
wlxmlNode), wlxmlNode.indexOf(selectionEnd.element.wlxmlNode
)] //parent.childIndex(selectionEnd.element)]
});
},
function(wrapper) {
});
},
function(wrapper) {
@@
-198,8
+198,8
@@
commands.register('newNodeRequested', function(canvas, params, user) {
);
}
} else {
);
}
} else {
- var node1 = selectionStart.element.
data('wlxmlNode')
,
- node2 = selectionEnd.element.
data('wlxmlNode')
,
+ var node1 = selectionStart.element.
wlxmlNode
,
+ node2 = selectionEnd.element.
wlxmlNode
,
siblingParents = canvas.wlxmlDocument.getSiblingParents({node1: node1, node2: node2});
if(siblingParents) {
siblingParents = canvas.wlxmlDocument.getSiblingParents({node1: node1, node2: node2});
if(siblingParents) {
@@
-215,7
+215,7
@@
commands.register('newNodeRequested', function(canvas, params, user) {
}
}
} else if(canvas.getCurrentNodeElement()) {
}
}
} else if(canvas.getCurrentNodeElement()) {
- wlxmlNode = canvas.getCurrentNodeElement().
data('wlxmlNode')
;
+ wlxmlNode = canvas.getCurrentNodeElement().
wlxmlNode
;
var linkFound = [wlxmlNode].concat(wlxmlNode.parents()).some(function(node) {
if(node.getClass() === 'link') {
var linkFound = [wlxmlNode].concat(wlxmlNode.parents()).some(function(node) {
if(node.getClass() === 'link') {
@@
-272,9
+272,9
@@
commands.register('footnote', function(canvas, params) {
if(cursor.isSelectingWithinElement()) {
if(cursor.isSelectingWithinElement()) {
- asideNode = position.element.
data('wlxmlNode')
.wrapWith({tagName: 'aside', attrs:{'class': 'footnote'}, start: cursor.getSelectionStart().offset, end: cursor.getSelectionEnd().offset});
+ asideNode = position.element.
wlxmlNode
.wrapWith({tagName: 'aside', attrs:{'class': 'footnote'}, start: cursor.getSelectionStart().offset, end: cursor.getSelectionEnd().offset});
} else {
} else {
- node = position.element.
data('wlxmlNode')
;
+ node = position.element.
wlxmlNode
;
node.document.transaction(function() {
asideNode = node.divideWithElementNode({tagName: 'aside', attrs:{'class': 'footnote'}}, {offset: position.offset});
asideNode.append({text: ''});
node.document.transaction(function() {
asideNode = node.divideWithElementNode({tagName: 'aside', attrs:{'class': 'footnote'}}, {offset: position.offset});
asideNode.append({text: ''});
@@
-295,7
+295,7
@@
commands.register('take-away-node', function(canvas) {
return;
}
return;
}
- var range = nodeElement.
data('wlxmlNode')
.unwrapContent();
+ var range = nodeElement.
wlxmlNode
.unwrapContent();
if(element) {
var elementIsFirstChild = nodeElement.childIndex(element);
if(element) {
var elementIsFirstChild = nodeElement.childIndex(element);