X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/30c11b8f1c25ec09d841d52e118a9f8ff5808f1b..3030a9e:/src/editor/modules/documentCanvas/canvas/canvas.js?ds=sidebyside diff --git a/src/editor/modules/documentCanvas/canvas/canvas.js b/src/editor/modules/documentCanvas/canvas/canvas.js index bbdb0d4..d7d94a7 100644 --- a/src/editor/modules/documentCanvas/canvas/canvas.js +++ b/src/editor/modules/documentCanvas/canvas/canvas.js @@ -179,7 +179,9 @@ $.extend(Canvas.prototype, Backbone.Events, { 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); } }, @@ -272,7 +274,10 @@ $.extend(Canvas.prototype, Backbone.Events, { 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'); } @@ -552,18 +557,18 @@ $.extend(Cursor.prototype, { return this.getSelectionAnchor(); }, getSelectionStart: function() { - return this.getSelectionBoundry('start'); + return this.getSelectionBoundary('start'); }, getSelectionEnd: function() { - return this.getSelectionBoundry('end'); + return this.getSelectionBoundary('end'); }, getSelectionAnchor: function() { - return this.getSelectionBoundry('anchor'); + return this.getSelectionBoundary('anchor'); }, getSelectionFocus: function() { - return this.getSelectionBoundry('focus'); + return this.getSelectionBoundary('focus'); }, - getSelectionBoundry: function(which) { + getSelectionBoundary: function(which) { /* globals window */ var selection = window.getSelection(), anchorElement = this.canvas.getDocumentElement(selection.anchorNode),