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