From a0033038f8ea4817776e73367452547aa232d00e Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Tue, 4 Aug 2020 20:16:19 +0300
Subject: [PATCH] accept/reject tools

---
 .../AcceptTrackChange.js                        | 17 +++++++++++++++++
 .../AcceptTrackChangeService.js                 | 13 +++++++++++++
 .../RejectTrackChange.js                        | 17 +++++++++++++++++
 .../RejectTrackChangeService.js                 | 13 +++++++++++++
 .../src/TrackChangeService/index.js             |  8 +++++++-
 .../TrackChangeToolGroupService/TrackChange.js  |  8 ++++++--
 6 files changed, 73 insertions(+), 3 deletions(-)
 create mode 100644 wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
 create mode 100644 wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChangeService.js
 create mode 100644 wax-prosemirror-services/src/TrackChangeService/RejectTrackChangeService/RejectTrackChange.js
 create mode 100644 wax-prosemirror-services/src/TrackChangeService/RejectTrackChangeService/RejectTrackChangeService.js

diff --git a/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
new file mode 100644
index 000000000..b32d56a15
--- /dev/null
+++ b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChange.js
@@ -0,0 +1,17 @@
+import { injectable } from 'inversify';
+import Tools from '../../lib/Tools';
+
+export default
+@injectable()
+class AcceptTrackChange extends Tools {
+  title = 'Accept Changes';
+  content = 'Accept';
+
+  get run() {
+    return (state, dispatch) => {};
+  }
+
+  get active() {
+    return state => {};
+  }
+}
diff --git a/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChangeService.js b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChangeService.js
new file mode 100644
index 000000000..48ecea81c
--- /dev/null
+++ b/wax-prosemirror-services/src/TrackChangeService/AcceptTrackChangeService/AcceptTrackChangeService.js
@@ -0,0 +1,13 @@
+import Service from '../../Service';
+import AcceptTrackChange from './AcceptTrackChange';
+
+class AcceptTrackChangeService extends Service {
+  name = 'AcceptTrackChangeService';
+  // boot() {}
+
+  register() {
+    this.container.bind('AcceptTrackChange').to(AcceptTrackChange);
+  }
+}
+
+export default AcceptTrackChangeService;
diff --git a/wax-prosemirror-services/src/TrackChangeService/RejectTrackChangeService/RejectTrackChange.js b/wax-prosemirror-services/src/TrackChangeService/RejectTrackChangeService/RejectTrackChange.js
new file mode 100644
index 000000000..60a3996cb
--- /dev/null
+++ b/wax-prosemirror-services/src/TrackChangeService/RejectTrackChangeService/RejectTrackChange.js
@@ -0,0 +1,17 @@
+import { injectable } from 'inversify';
+import Tools from '../../lib/Tools';
+
+export default
+@injectable()
+class RejectTrackChange extends Tools {
+  title = 'Reject Changes';
+  content = 'Reject';
+
+  get run() {
+    return (state, dispatch) => {};
+  }
+
+  get active() {
+    return state => {};
+  }
+}
diff --git a/wax-prosemirror-services/src/TrackChangeService/RejectTrackChangeService/RejectTrackChangeService.js b/wax-prosemirror-services/src/TrackChangeService/RejectTrackChangeService/RejectTrackChangeService.js
new file mode 100644
index 000000000..288c591b8
--- /dev/null
+++ b/wax-prosemirror-services/src/TrackChangeService/RejectTrackChangeService/RejectTrackChangeService.js
@@ -0,0 +1,13 @@
+import Service from '../../Service';
+import RejectTrackChange from './RejectTrackChange';
+
+class RejectTrackChangeService extends Service {
+  name = 'RejectTrackChangeService';
+  boot() {}
+
+  register() {
+    this.container.bind('RejectTrackChange').to(RejectTrackChange);
+  }
+}
+
+export default RejectTrackChangeService;
diff --git a/wax-prosemirror-services/src/TrackChangeService/index.js b/wax-prosemirror-services/src/TrackChangeService/index.js
index c46492337..f0bf5a7fa 100644
--- a/wax-prosemirror-services/src/TrackChangeService/index.js
+++ b/wax-prosemirror-services/src/TrackChangeService/index.js
@@ -1,3 +1,9 @@
 import EnableTrackChangeService from './EnableTrackChangeService/EnableTrackChangeService';
+import AcceptTrackChangeService from './AcceptTrackChangeService/AcceptTrackChangeService';
+import RejectTrackChangeService from './RejectTrackChangeService/RejectTrackChangeService';
 
-export default [new EnableTrackChangeService()];
+export default [
+  new EnableTrackChangeService(),
+  new AcceptTrackChangeService(),
+  new RejectTrackChangeService(),
+];
diff --git a/wax-prosemirror-services/src/WaxToolGroups/TrackChangeToolGroupService/TrackChange.js b/wax-prosemirror-services/src/WaxToolGroups/TrackChangeToolGroupService/TrackChange.js
index a0358a588..008e36d3e 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/TrackChangeToolGroupService/TrackChange.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/TrackChangeToolGroupService/TrackChange.js
@@ -4,9 +4,13 @@ import ToolGroup from '../../lib/ToolGroup';
 @injectable()
 class TrackChange extends ToolGroup {
   tools = [];
-  constructor(@inject('EnableTrackChange') enableTrackChange) {
+  constructor(
+    @inject('EnableTrackChange') enableTrackChange,
+    @inject('AcceptTrackChange') acceptTrackChange,
+    @inject('RejectTrackChange') rejectTrackChange,
+  ) {
     super();
-    this.tools = [enableTrackChange];
+    this.tools = [enableTrackChange, acceptTrackChange, rejectTrackChange];
   }
 }
 
-- 
GitLab