From 27151b74e8616b2d525cecd5ca86ff3cb312f524 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Thu, 26 Dec 2019 12:09:15 +0200
Subject: [PATCH] base service in progress

---
 editors/editoria/src/config/config.js         |  7 +------
 .../src/config/defaultConfig.js               |  2 --
 wax-prosemirror-services/index.js             |  3 ---
 .../src/BaseService/BaseService.js            | 10 +++++++++
 .../RedoService}/Redo.js                      |  0
 .../BaseService/RedoService/RedoService.js    |  0
 .../BaseService/SaveService/SaveService.js    |  0
 .../UndoService}/Undo.js                      |  0
 .../BaseService/UndoService/UndoService.js    |  0
 .../src/BaseService/index.js                  |  0
 .../src/RedoUndoService/RedoUndo.js           | 19 -----------------
 .../src/RedoUndoService/RedoUndoService.js    | 15 -------------
 .../BaseToolGroupService/Base.js              | 21 +++++++++++++++++++
 13 files changed, 32 insertions(+), 45 deletions(-)
 create mode 100644 wax-prosemirror-services/src/BaseService/BaseService.js
 rename wax-prosemirror-services/src/{RedoUndoService => BaseService/RedoService}/Redo.js (100%)
 create mode 100644 wax-prosemirror-services/src/BaseService/RedoService/RedoService.js
 create mode 100644 wax-prosemirror-services/src/BaseService/SaveService/SaveService.js
 rename wax-prosemirror-services/src/{RedoUndoService => BaseService/UndoService}/Undo.js (100%)
 create mode 100644 wax-prosemirror-services/src/BaseService/UndoService/UndoService.js
 create mode 100644 wax-prosemirror-services/src/BaseService/index.js
 delete mode 100644 wax-prosemirror-services/src/RedoUndoService/RedoUndo.js
 delete mode 100644 wax-prosemirror-services/src/RedoUndoService/RedoUndoService.js

diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js
index cf386e1c9..88a5fafa4 100644
--- a/editors/editoria/src/config/config.js
+++ b/editors/editoria/src/config/config.js
@@ -10,12 +10,7 @@ export default {
   MenuService: [
     {
       templateArea: "topBar",
-      toolGroups: [
-        "Annotations",
-        "Lists",
-        "Tables",
-        { name: "RedoUndo", exclude: ["Redo"] }
-      ]
+      toolGroups: ["Annotations", "Lists", "Tables"]
     },
     {
       templateArea: "leftSideBar",
diff --git a/wax-prosemirror-core/src/config/defaultConfig.js b/wax-prosemirror-core/src/config/defaultConfig.js
index b37c05636..e86cb597d 100644
--- a/wax-prosemirror-core/src/config/defaultConfig.js
+++ b/wax-prosemirror-core/src/config/defaultConfig.js
@@ -4,7 +4,6 @@ import {
   ImageService,
   MenuService,
   SchemaService,
-  RedoUndoService,
   PlaceholderService,
   RulesService,
   ShortCutsService,
@@ -24,7 +23,6 @@ export default {
     new ShortCutsService(),
     new LayoutService(),
     new MenuService(),
-    new RedoUndoService(),
     new AnnotationToolGroupService(),
     new ListToolGroupService(),
     new TextStyleService(),
diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js
index 59fda3828..107eca983 100644
--- a/wax-prosemirror-services/index.js
+++ b/wax-prosemirror-services/index.js
@@ -1,9 +1,6 @@
 export { default as MenuService } from "./src/MenuService/MenuService";
 export { default as LinkService } from "./src/LinkService/LinkService";
 
-export {
-  default as RedoUndoService
-} from "./src/RedoUndoService/RedoUndoService";
 export {
   default as TextStyleService
 } from "./src/TextStyleService/TextStyleService";
diff --git a/wax-prosemirror-services/src/BaseService/BaseService.js b/wax-prosemirror-services/src/BaseService/BaseService.js
new file mode 100644
index 000000000..e5f327077
--- /dev/null
+++ b/wax-prosemirror-services/src/BaseService/BaseService.js
@@ -0,0 +1,10 @@
+import BaseServices from "./index";
+import Service from "wax-prosemirror-core/src/services/Service";
+
+class BaseService extends Service {
+  register() {
+    this.config.pushToArray("services", BaseServices);
+  }
+}
+
+export default BaseService;
diff --git a/wax-prosemirror-services/src/RedoUndoService/Redo.js b/wax-prosemirror-services/src/BaseService/RedoService/Redo.js
similarity index 100%
rename from wax-prosemirror-services/src/RedoUndoService/Redo.js
rename to wax-prosemirror-services/src/BaseService/RedoService/Redo.js
diff --git a/wax-prosemirror-services/src/BaseService/RedoService/RedoService.js b/wax-prosemirror-services/src/BaseService/RedoService/RedoService.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/wax-prosemirror-services/src/BaseService/SaveService/SaveService.js b/wax-prosemirror-services/src/BaseService/SaveService/SaveService.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/wax-prosemirror-services/src/RedoUndoService/Undo.js b/wax-prosemirror-services/src/BaseService/UndoService/Undo.js
similarity index 100%
rename from wax-prosemirror-services/src/RedoUndoService/Undo.js
rename to wax-prosemirror-services/src/BaseService/UndoService/Undo.js
diff --git a/wax-prosemirror-services/src/BaseService/UndoService/UndoService.js b/wax-prosemirror-services/src/BaseService/UndoService/UndoService.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/wax-prosemirror-services/src/BaseService/index.js b/wax-prosemirror-services/src/BaseService/index.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/wax-prosemirror-services/src/RedoUndoService/RedoUndo.js b/wax-prosemirror-services/src/RedoUndoService/RedoUndo.js
deleted file mode 100644
index da7f66bfd..000000000
--- a/wax-prosemirror-services/src/RedoUndoService/RedoUndo.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { injectable, inject } from "inversify";
-import ToolGroup from "../lib/ToolGroup";
-
-@injectable()
-export default class RedoUndo extends ToolGroup {
-  tools = [];
-  constructor(@inject("Redo") redo, @inject("Undo") undo) {
-    super();
-    this.tools = [redo, undo];
-  }
-
-  renderTools(view) {
-    const tools = [];
-    this.tools.forEach(tool => {
-      tools.push(tool.renderTool(view));
-    });
-    return tools;
-  }
-}
diff --git a/wax-prosemirror-services/src/RedoUndoService/RedoUndoService.js b/wax-prosemirror-services/src/RedoUndoService/RedoUndoService.js
deleted file mode 100644
index 477b33392..000000000
--- a/wax-prosemirror-services/src/RedoUndoService/RedoUndoService.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import RedoUndo from "./RedoUndo";
-import Service from "wax-prosemirror-core/src/services/Service";
-import Redo from "./Redo";
-import Undo from "./Undo";
-
-export default class RedoService extends Service {
-  name = "RedoService";
-
-  register() {
-    this.container.bind("RedoUndo").to(RedoUndo);
-
-    this.container.bind("Redo").to(Redo);
-    this.container.bind("Undo").to(Undo);
-  }
-}
diff --git a/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js b/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js
index e69de29bb..1c3639429 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js
@@ -0,0 +1,21 @@
+import { injectable, inject } from "inversify";
+import ToolGroup from "../../lib/ToolGroup";
+
+@injectable()
+class Base extends ToolGroup {
+  tools = [];
+  constructor() {
+    super();
+    this.tools = [];
+  }
+
+  renderTools(view) {
+    const tools = [];
+    this.tools.forEach(tool => {
+      tools.push(tool.renderTool(view));
+    });
+    return tools;
+  }
+}
+
+export default Base;
-- 
GitLab