From 7ded44a8286ab929d391a37d758a3ca72acac5bb Mon Sep 17 00:00:00 2001
From: john <johnbarlas39@gmail.com>
Date: Sun, 14 May 2017 17:01:29 +0300
Subject: [PATCH] fix when track changes is enabled and when it is not

---
 app/components/SimpleEditor/ContainerEditor.js         | 10 +++++++++-
 .../elements/track_change/TrackChangeControlCommand.js |  4 ++--
 .../elements/track_change/TrackChangeControlTool.js    | 10 +++++++++-
 3 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/app/components/SimpleEditor/ContainerEditor.js b/app/components/SimpleEditor/ContainerEditor.js
index 123021f..0e87f05 100644
--- a/app/components/SimpleEditor/ContainerEditor.js
+++ b/app/components/SimpleEditor/ContainerEditor.js
@@ -224,8 +224,16 @@ class ContainerEditor extends SubstanceContainerEditor {
   disableToolbar () {
     const commandStates = this.getCommandStates()
 
+    const allowed = [
+      'comment',
+      'redo',
+      'save',
+      'track-change-enable',
+      'track-change-toggle-view',
+      'undo'
+    ]
+
     each(keys(commandStates), key => {
-      const allowed = ['comment', 'save', 'undo', 'redo', 'track-change-toggle-view']
       if (!includes(allowed, key)) commandStates[key].disabled = true
     })
   }
diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangeControlCommand.js b/app/components/SimpleEditor/elements/track_change/TrackChangeControlCommand.js
index a955efb..e4937ba 100644
--- a/app/components/SimpleEditor/elements/track_change/TrackChangeControlCommand.js
+++ b/app/components/SimpleEditor/elements/track_change/TrackChangeControlCommand.js
@@ -1,8 +1,8 @@
-import {Command} from 'substance'
+import { Command } from 'substance'
 
 class TrackChangeControlCommand extends Command {
   getCommandState (params) {
-    let newState = {
+    const newState = {
       disabled: false,
       active: false
     }
diff --git a/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js b/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js
index a3ab7ad..fc3f433 100644
--- a/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js
+++ b/app/components/SimpleEditor/elements/track_change/TrackChangeControlTool.js
@@ -1,15 +1,23 @@
 import { Tool } from 'substance'
 
 class TrackChangeControlTool extends Tool {
+  constructor (parent, props, config) {
+    super(parent, props, config)
+    this.disabled = false
+  }
 
   getClassNames () {
     return 'sm-target-track-change-enable'
   }
 
+  willReceiveProps (props) {
+    if (!this.canAct()) this.disabled = true
+  }
+
   renderButton ($$) {
     const el = super.renderButton($$)
 
-    let trackChangesMode = this.isTrackChangesOn()
+    const trackChangesMode = this.isTrackChangesOn()
     if (trackChangesMode === true) el.addClass('track-changes-active')
 
     if (!this.canAct()) el.attr('disabled', 'true')
-- 
GitLab