From 5331950b1f9e32dc6c6d20de9decec33e506752d Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Thu, 26 Dec 2019 12:36:25 +0200
Subject: [PATCH] feat(images): image toolgroup service

---
 editors/editoria/src/config/config.js         |  2 +-
 .../src/config/defaultConfig.js               |  6 ++++--
 wax-prosemirror-services/index.js             |  4 ++++
 .../AnnotationToolGroupService/Annotations.js |  6 ++----
 .../ImageToolGroupService/Image.js            |  0
 .../ImageToolGroupService.js                  |  4 ++--
 .../ImageToolGroupService/Images.js           | 21 +++++++++++++++++++
 7 files changed, 34 insertions(+), 9 deletions(-)
 delete mode 100644 wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Image.js
 create mode 100644 wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Images.js

diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js
index da5d6d100..be39bf328 100644
--- a/editors/editoria/src/config/config.js
+++ b/editors/editoria/src/config/config.js
@@ -10,7 +10,7 @@ export default {
   MenuService: [
     {
       templateArea: "topBar",
-      toolGroups: ["Base", "Annotations", "Lists", "Tables"]
+      toolGroups: ["Base", "Annotations", "Lists", "Images", "Tables"]
     },
     {
       templateArea: "leftSideBar",
diff --git a/wax-prosemirror-core/src/config/defaultConfig.js b/wax-prosemirror-core/src/config/defaultConfig.js
index 27690414a..2417a2904 100644
--- a/wax-prosemirror-core/src/config/defaultConfig.js
+++ b/wax-prosemirror-core/src/config/defaultConfig.js
@@ -16,7 +16,8 @@ import {
   TablesService,
   TableToolGroupService,
   BaseService,
-  BaseToolGroupService
+  BaseToolGroupService,
+  ImageToolGroupService
 } from "wax-prosemirror-services";
 
 export default {
@@ -37,6 +38,7 @@ export default {
     new TableToolGroupService(),
     new TablesService(),
     new BaseService(),
-    new BaseToolGroupService()
+    new BaseToolGroupService(),
+    new ImageToolGroupService()
   ]
 };
diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js
index 235be06c6..3f71ac01c 100644
--- a/wax-prosemirror-services/index.js
+++ b/wax-prosemirror-services/index.js
@@ -40,6 +40,10 @@ export {
 export {
   default as ListToolGroupService
 } from "./src/WaxToolGroups/ListToolGroupService/ListToolGroupService";
+export {
+  default as ImageToolGroupService
+} from "./src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService";
+
 export {
   default as TableToolGroupService
 } from "./src/WaxToolGroups/TableToolGroupService/TableToolGroupService";
diff --git a/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/Annotations.js b/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/Annotations.js
index cf8b59656..efec146dd 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/Annotations.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/Annotations.js
@@ -14,8 +14,7 @@ class Annotations extends ToolGroup {
     @inject("Subscript") subscript,
     @inject("Superscript") superscript,
     @inject("Underline") underline,
-    @inject("Blockquote") blockquote,
-    @inject("Image") image
+    @inject("Blockquote") blockquote
   ) {
     super();
     this.tools = [
@@ -28,8 +27,7 @@ class Annotations extends ToolGroup {
       subscript,
       superscript,
       underline,
-      blockquote,
-      image
+      blockquote
     ];
   }
 
diff --git a/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Image.js b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Image.js
deleted file mode 100644
index e69de29bb..000000000
diff --git a/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js
index 4305f81c2..4e5c2f132 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js
@@ -1,11 +1,11 @@
-import Image from "./Image";
+import Images from "./Images";
 import Service from "wax-prosemirror-core/src/services/Service";
 
 class ImageToolGroupService extends Service {
   name = "ImageToolGroupService";
 
   register() {
-    this.container.bind("Image").to(Image);
+    this.container.bind("Images").to(Images);
   }
 }
 
diff --git a/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Images.js b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Images.js
new file mode 100644
index 000000000..2614e20a0
--- /dev/null
+++ b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Images.js
@@ -0,0 +1,21 @@
+import { injectable, inject } from "inversify";
+import ToolGroup from "../../lib/ToolGroup";
+
+@injectable()
+class Images extends ToolGroup {
+  tools = [];
+  constructor(@inject("Image") image) {
+    super();
+    this.tools = [image];
+  }
+
+  renderTools(view) {
+    const tools = [];
+    this.tools.forEach(tool => {
+      tools.push(tool.renderTool(view));
+    });
+    return tools;
+  }
+}
+
+export default Images;
-- 
GitLab