From ca318e7e5c6ff56ecbd4f3ac44031eaade625f01 Mon Sep 17 00:00:00 2001 From: john <johnbarlas39@gmail.com> Date: Fri, 30 Dec 2016 00:41:05 +0200 Subject: [PATCH] delete and backspace tracking goes in opposite directions --- .../SimpleEditor/ContainerEditor.js | 5 +-- .../track_change/TrackChangesProvider.js | 33 +++++++++++-------- 2 files changed, 23 insertions(+), 15 deletions(-) diff --git a/app/components/SimpleEditor/ContainerEditor.js b/app/components/SimpleEditor/ContainerEditor.js index 4eb554e..fd3ddba 100644 --- a/app/components/SimpleEditor/ContainerEditor.js +++ b/app/components/SimpleEditor/ContainerEditor.js @@ -3,6 +3,7 @@ import { ContainerEditor as SubstanceContainerEditor, // deleteCharacter, // deleteSelection, + keys as keyboardKeys, Surface, uuid } from 'substance' @@ -96,11 +97,11 @@ class ContainerEditor extends SubstanceContainerEditor { event.stopPropagation() // TODO -- needed? - const direction = (event.keyCode === keys.BACKSPACE) ? 'left' : 'right' + const direction = (event.keyCode === keyboardKeys.BACKSPACE) ? 'left' : 'right' const trackChangesProvider = this.context.trackChangesProvider const options = { - direction: direction, + move: direction, status: 'delete' } trackChangesProvider.handleTransaction(options) diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js b/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js index 032bd81..26ed589 100644 --- a/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js +++ b/app/components/SimpleEditor/elements/track_change/TrackChangesProvider.js @@ -45,23 +45,30 @@ class TrackChangesProvider { } handleDelete (options) { - const { status } = options + const { move, status } = options if (status !== 'delete') return const mode = this.getMode() let selection + console.log('move', move) + const direction = { + cursorTo: (move === 'left') ? 'start' : 'end', + move: move + } + if (!mode) { - selection = this.setSelectionPlusOne('left') + // selection = this.setSelectionPlusOne('left') + selection = this.setSelectionPlusOne(direction.move) this.createDeleteAnnotation(selection) - this.moveCursorTo('start') + this.moveCursorTo(direction.cursorTo) return } if (mode === 'delete') { - selection = this.setSelectionPlusOne('left') + selection = this.setSelectionPlusOne(direction.move) const annotation = this.getAnnotationByStatus('delete') this.expandTrackAnnotation(selection, annotation) - this.moveCursorTo('start') + this.moveCursorTo(direction.cursorTo) } // const isSelectionCollapsed = this.isSelectionCollapsed() @@ -207,14 +214,14 @@ class TrackChangesProvider { */ - shouldAdd (status) { - if (status !== 'add') return false - - const mode = this.getMode() - if (mode) return false - - return true - } + // shouldAdd (status) { + // if (status !== 'add') return false + // + // const mode = this.getMode() + // if (mode) return false + // + // return true + // } shouldDelete (status) { if (status === 'delete') return true -- GitLab