From ff67cc92db9446f9cb619b2b2397843fd0eaaf12 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Wed, 6 Apr 2022 13:14:36 +0300
Subject: [PATCH] new tool

---
 wax-prosemirror-services/index.js             |  1 +
 ...{DropComponent.js => DropDownComponent.js} |  4 +--
 .../MultipleChoiceDropDown.js                 |  4 +--
 .../DropDownComponent.js                      |  0
 .../MultipleDropDown.js                       | 25 +++++++++++++++++++
 .../MultipleDropDownToolGroupService.js       | 10 ++++++++
 6 files changed, 40 insertions(+), 4 deletions(-)
 rename wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/{DropComponent.js => DropDownComponent.js} (96%)
 create mode 100644 wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/DropDownComponent.js
 create mode 100644 wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js
 create mode 100644 wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDownToolGroupService.js

diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js
index a321de549..7e3c3d175 100644
--- a/wax-prosemirror-services/index.js
+++ b/wax-prosemirror-services/index.js
@@ -80,3 +80,4 @@ export { default as FillTheGapToolGroupService } from './src/WaxToolGroups/FillT
 export { default as MultipleChoiceDropDownToolGroupService } from './src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/MultipleChoiceDropDownToolGroupService';
 export { default as EssayToolGroupService } from './src/WaxToolGroups/EssayToolGroupService/EssayToolGroupService';
 export { default as MatchingToolGroupService } from './src/WaxToolGroups/MatchingToolGroupService/MatchingToolGroupService';
+export { default as MultipleDropDownToolGroupService } from './src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDownToolGroupService';
diff --git a/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/DropComponent.js b/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/DropDownComponent.js
similarity index 96%
rename from wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/DropComponent.js
rename to wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/DropDownComponent.js
index 30bb239e4..da2a512a4 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/DropComponent.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/DropDownComponent.js
@@ -38,7 +38,7 @@ const DropdownStyled = styled(Dropdown)`
   }
 `;
 
-const DropComponent = ({ title, view, tools }) => {
+const DropDownComponent = ({ title, view, tools }) => {
   const context = useContext(WaxContext);
   const {
     activeView,
@@ -112,4 +112,4 @@ const DropComponent = ({ title, view, tools }) => {
   return MultipleDropDown;
 };
 
-export default DropComponent;
+export default DropDownComponent;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/MultipleChoiceDropDown.js b/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/MultipleChoiceDropDown.js
index 873493a43..dd9b97391 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/MultipleChoiceDropDown.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/MultipleChoiceDropDownToolGroupService/MultipleChoiceDropDown.js
@@ -3,7 +3,7 @@ import { injectable, inject } from 'inversify';
 import { isEmpty } from 'lodash';
 import { v4 as uuidv4 } from 'uuid';
 import ToolGroup from '../../lib/ToolGroup';
-import DropComponent from './DropComponent';
+import DropDownComponent from './DropDownComponent';
 
 @injectable()
 class MultipleChoiceDropDown extends ToolGroup {
@@ -28,7 +28,7 @@ class MultipleChoiceDropDown extends ToolGroup {
     if (isEmpty(view)) return null;
     return (
       // eslint-disable-next-line no-underscore-dangle
-      <DropComponent key="Multipe Drop Down" tools={this._tools} view={view} />
+      <DropDownComponent key={uuidv4()} tools={this._tools} view={view} />
     );
   }
 }
diff --git a/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/DropDownComponent.js b/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/DropDownComponent.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js b/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js
new file mode 100644
index 000000000..fe0af2c32
--- /dev/null
+++ b/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js
@@ -0,0 +1,25 @@
+import React from 'react';
+import { injectable, inject } from 'inversify';
+import { isEmpty } from 'lodash';
+import { v4 as uuidv4 } from 'uuid';
+import ToolGroup from '../../lib/ToolGroup';
+import DropDownComponent from './DropDownComponent';
+
+@injectable()
+class MultipleDropDown extends ToolGroup {
+  tools = [];
+  constructor() {
+    super();
+    this.tools = [];
+  }
+
+  renderTools(view) {
+    if (isEmpty(view)) return null;
+    return (
+      // eslint-disable-next-line no-underscore-dangle
+      <DropDownComponent key={uuidv4()} tools={this._tools} view={view} />
+    );
+  }
+}
+
+export default MultipleDropDown;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDownToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDownToolGroupService.js
new file mode 100644
index 000000000..46729db74
--- /dev/null
+++ b/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDownToolGroupService.js
@@ -0,0 +1,10 @@
+import Service from '../../Service';
+import MultipleDropDown from './MultipleDropDown';
+
+class MultipleDropDownToolGroupService extends Service {
+  register() {
+    this.container.bind('MultipleDropDown').to(MultipleDropDown);
+  }
+}
+
+export default MultipleDropDownToolGroupService;
-- 
GitLab