fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
tutorial in editor (mechanics only)
[fnpeditor.git]
/
src
/
editor
/
modules
/
documentCanvas
/
canvas
/
canvas.js
diff --git
a/src/editor/modules/documentCanvas/canvas/canvas.js
b/src/editor/modules/documentCanvas/canvas/canvas.js
index
ebede40
..
fa6d27b
100644
(file)
--- a/
src/editor/modules/documentCanvas/canvas/canvas.js
+++ b/
src/editor/modules/documentCanvas/canvas/canvas.js
@@
-86,7
+86,7
@@
var Canvas = function(wlxmlDocument, elements, metadata, sandbox) {
this.gutter = gutter.create();
this.gutter = gutter.create();
- this.gutterView = new gutter.GutterView(this.gutter);
+ this.gutterView = new gutter.GutterView(this.gutter
, sandbox.getTutorialItem('comment')
);
this.dom.find('.view-row').append(this.gutterView.dom);
this.wlxmlListener = wlxmlListener.create(this);
this.dom.find('.view-row').append(this.gutterView.dom);
this.wlxmlListener = wlxmlListener.create(this);
@@
-162,6
+162,11
@@
$.extend(Canvas.prototype, Backbone.Events, {
//return DocumentTextElement.fromHTMLElement(htmlElement, canvas);
return $element.data('canvas-element');
}
//return DocumentTextElement.fromHTMLElement(htmlElement, canvas);
return $element.data('canvas-element');
}
+
+ /* experimental */
+ if($element.parent().data('canvas-element')) {
+ return $element.parent().data('canvas-element');
+ }
},
reloadRoot: function() {
},
reloadRoot: function() {
@@
-174,7
+179,9
@@
$.extend(Canvas.prototype, Backbone.Events, {
triggerKeyEvent: function(keyEvent, selection) {
selection = selection || this.getSelection();
triggerKeyEvent: function(keyEvent, selection) {
selection = selection || this.getSelection();
- if(selection && (selection.type === 'caret' || selection.type === 'textSelection') && selection.toDocumentFragment().isValid()) {
+ if(selection && (
+ (selection.type === 'caret' || selection.type === 'textSelection') && selection.toDocumentFragment().isValid()
+ || selection.type == 'nodeSelection')) {
keyboard.handleKeyEvent(keyEvent, selection);
}
},
keyboard.handleKeyEvent(keyEvent, selection);
}
},
@@
-267,7
+274,10
@@
$.extend(Canvas.prototype, Backbone.Events, {
if(mutation.target.data === '') {
mutation.target.data = utils.unicode.ZWS;
}
if(mutation.target.data === '') {
mutation.target.data = utils.unicode.ZWS;
}
- else if(mutation.oldValue === utils.unicode.ZWS) {
+ if(mutation.target.data === mutation.oldValue) {
+ return; // shouldn't happen, but better be safe
+ }
+ if(mutation.oldValue === utils.unicode.ZWS) {
mutation.target.data = mutation.target.data.replace(utils.unicode.ZWS, '');
canvas._moveCaretToTextElement(canvas.getDocumentElement(mutation.target), 'end');
}
mutation.target.data = mutation.target.data.replace(utils.unicode.ZWS, '');
canvas._moveCaretToTextElement(canvas.getDocumentElement(mutation.target), 'end');
}
@@
-547,18
+557,18
@@
$.extend(Cursor.prototype, {
return this.getSelectionAnchor();
},
getSelectionStart: function() {
return this.getSelectionAnchor();
},
getSelectionStart: function() {
- return this.getSelectionBoundry('start');
+ return this.getSelectionBound
a
ry('start');
},
getSelectionEnd: function() {
},
getSelectionEnd: function() {
- return this.getSelectionBoundry('end');
+ return this.getSelectionBound
a
ry('end');
},
getSelectionAnchor: function() {
},
getSelectionAnchor: function() {
- return this.getSelectionBoundry('anchor');
+ return this.getSelectionBound
a
ry('anchor');
},
getSelectionFocus: function() {
},
getSelectionFocus: function() {
- return this.getSelectionBoundry('focus');
+ return this.getSelectionBound
a
ry('focus');
},
},
- getSelectionBoundry: function(which) {
+ getSelectionBound
a
ry: function(which) {
/* globals window */
var selection = window.getSelection(),
anchorElement = this.canvas.getDocumentElement(selection.anchorNode),
/* globals window */
var selection = window.getSelection(),
anchorElement = this.canvas.getDocumentElement(selection.anchorNode),