From a4b6af7c739f10f6320e048ccfc23e27f6cff643 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Mon, 27 Jun 2022 22:19:25 +0300
Subject: [PATCH] new tools in progress

---
 editors/demo/src/OEN/config/config.js         |  1 +
 .../src/OENContainersService/OENAsideTool.js  | 28 +++++++++++++++++++
 .../OENContainersService.js                   |  2 ++
 .../OENContainersService/OENContainersTool.js |  2 --
 .../OENAsideLongToolGroup.js                  | 17 +++++++++++
 .../OENAsideLongToolGroupService.js           | 10 +++++++
 .../OENAsideShortToolGroup.js                 | 17 +++++++++++
 .../OENAsideShortToolGroupService.js          | 10 +++++++
 .../OENContainersToolGroup.js                 |  6 ++--
 .../OENContainersToolGroupService.js          |  7 +++++
 .../OENLeftToolGroupService/OENTools.js       | 11 +++++++-
 11 files changed, 104 insertions(+), 7 deletions(-)
 create mode 100644 wax-prosemirror-services/src/OENContainersService/OENAsideTool.js
 create mode 100644 wax-prosemirror-services/src/WaxToolGroups/OENAsideLongToolGroupService/OENAsideLongToolGroup.js
 create mode 100644 wax-prosemirror-services/src/WaxToolGroups/OENAsideLongToolGroupService/OENAsideLongToolGroupService.js
 create mode 100644 wax-prosemirror-services/src/WaxToolGroups/OENAsideShortToolGroupService/OENAsideShortToolGroup.js
 create mode 100644 wax-prosemirror-services/src/WaxToolGroups/OENAsideShortToolGroupService/OENAsideShortToolGroupService.js

diff --git a/editors/demo/src/OEN/config/config.js b/editors/demo/src/OEN/config/config.js
index 64267f806..251f0010c 100644
--- a/editors/demo/src/OEN/config/config.js
+++ b/editors/demo/src/OEN/config/config.js
@@ -46,6 +46,7 @@ import {
   OENContainersService,
   OENLeftToolGroupService,
   OENContainersToolGroupService,
+  OENAsideToolGroupService,
 } from 'wax-prosemirror-services';
 
 import { EditoriaSchema } from 'wax-prosemirror-utilities';
diff --git a/wax-prosemirror-services/src/OENContainersService/OENAsideTool.js b/wax-prosemirror-services/src/OENContainersService/OENAsideTool.js
new file mode 100644
index 000000000..80b9344ef
--- /dev/null
+++ b/wax-prosemirror-services/src/OENContainersService/OENAsideTool.js
@@ -0,0 +1,28 @@
+import { injectable } from 'inversify';
+import Tools from '../lib/Tools';
+
+@injectable()
+export default class OENAsideTool extends Tools {
+  title = '';
+  icon = '';
+  name = 'OENAsideTool';
+
+  get run() {
+    return (state, dispatch, className) => {};
+  }
+
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
+  get enable() {
+    return state => {
+      return true;
+    };
+  }
+
+  get active() {
+    return (state, OENToolsConfig) => {};
+  }
+}
diff --git a/wax-prosemirror-services/src/OENContainersService/OENContainersService.js b/wax-prosemirror-services/src/OENContainersService/OENContainersService.js
index 47ec85411..496ced10e 100644
--- a/wax-prosemirror-services/src/OENContainersService/OENContainersService.js
+++ b/wax-prosemirror-services/src/OENContainersService/OENContainersService.js
@@ -1,6 +1,7 @@
 import { OenNodes } from 'wax-prosemirror-schema';
 import Service from '../Service';
 import OENContainersTool from './OENContainersTool';
+import OENAsideTool from './OENAsideTool';
 import './oenContainers.css';
 
 class OENContainersService extends Service {
@@ -8,6 +9,7 @@ class OENContainersService extends Service {
 
   register() {
     this.container.bind('OENContainersTool').to(OENContainersTool);
+    this.container.bind('OENAsideTool').to(OENAsideTool);
     const createNode = this.container.get('CreateNode');
 
     Object.keys(OenNodes).forEach(node => {
diff --git a/wax-prosemirror-services/src/OENContainersService/OENContainersTool.js b/wax-prosemirror-services/src/OENContainersService/OENContainersTool.js
index 8d2a2d321..c8d5d71d3 100644
--- a/wax-prosemirror-services/src/OENContainersService/OENContainersTool.js
+++ b/wax-prosemirror-services/src/OENContainersService/OENContainersTool.js
@@ -1,6 +1,4 @@
 import { injectable } from 'inversify';
-import { wrapIn } from 'prosemirror-commands';
-import { liftTarget, findWrapping } from 'prosemirror-transform';
 import Tools from '../lib/Tools';
 
 @injectable()
diff --git a/wax-prosemirror-services/src/WaxToolGroups/OENAsideLongToolGroupService/OENAsideLongToolGroup.js b/wax-prosemirror-services/src/WaxToolGroups/OENAsideLongToolGroupService/OENAsideLongToolGroup.js
new file mode 100644
index 000000000..27db462a6
--- /dev/null
+++ b/wax-prosemirror-services/src/WaxToolGroups/OENAsideLongToolGroupService/OENAsideLongToolGroup.js
@@ -0,0 +1,17 @@
+import React from 'react';
+import { injectable, inject } from 'inversify';
+import { LeftMenuTitle } from 'wax-prosemirror-components';
+import ToolGroup from '../../lib/ToolGroup';
+
+@injectable()
+class OENAsideLongToolGroup extends ToolGroup {
+  tools = [];
+  title = (<LeftMenuTitle title="Long Boxes" />);
+
+  constructor(@inject('OENAsideTool') OENAsideTool) {
+    super();
+    this.tools = [OENAsideTool];
+  }
+}
+
+export default OENAsideLongToolGroup;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/OENAsideLongToolGroupService/OENAsideLongToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/OENAsideLongToolGroupService/OENAsideLongToolGroupService.js
new file mode 100644
index 000000000..6e072c006
--- /dev/null
+++ b/wax-prosemirror-services/src/WaxToolGroups/OENAsideLongToolGroupService/OENAsideLongToolGroupService.js
@@ -0,0 +1,10 @@
+import Service from '../../Service';
+import OENAsideLongToolGroup from './OENAsideLongToolGroup';
+
+class OENAsideLongToolGroupService extends Service {
+  register() {
+    this.container.bind('OENAsideLongToolGroup').to(OENAsideLongToolGroup);
+  }
+}
+
+export default OENAsideLongToolGroupService;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/OENAsideShortToolGroupService/OENAsideShortToolGroup.js b/wax-prosemirror-services/src/WaxToolGroups/OENAsideShortToolGroupService/OENAsideShortToolGroup.js
new file mode 100644
index 000000000..10f455ea6
--- /dev/null
+++ b/wax-prosemirror-services/src/WaxToolGroups/OENAsideShortToolGroupService/OENAsideShortToolGroup.js
@@ -0,0 +1,17 @@
+import React from 'react';
+import { injectable, inject } from 'inversify';
+import { LeftMenuTitle } from 'wax-prosemirror-components';
+import ToolGroup from '../../lib/ToolGroup';
+
+@injectable()
+class OENAsideShortToolGroup extends ToolGroup {
+  tools = [];
+  title = (<LeftMenuTitle title="Short Boxes" />);
+
+  constructor(@inject('OENAsideTool') OENAsideTool) {
+    super();
+    this.tools = [OENAsideTool];
+  }
+}
+
+export default OENAsideShortToolGroup;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/OENAsideShortToolGroupService/OENAsideShortToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/OENAsideShortToolGroupService/OENAsideShortToolGroupService.js
new file mode 100644
index 000000000..19345c7b2
--- /dev/null
+++ b/wax-prosemirror-services/src/WaxToolGroups/OENAsideShortToolGroupService/OENAsideShortToolGroupService.js
@@ -0,0 +1,10 @@
+import Service from '../../Service';
+import OENAsideShortToolGroup from './OENAsideShortToolGroup';
+
+class OENAsideShortToolGroupService extends Service {
+  register() {
+    this.container.bind('OENAsideShortToolGroup').to(OENAsideShortToolGroup);
+  }
+}
+
+export default OENAsideShortToolGroupService;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/OENContainersToolGroupService/OENContainersToolGroup.js b/wax-prosemirror-services/src/WaxToolGroups/OENContainersToolGroupService/OENContainersToolGroup.js
index b3e265b90..74fcb00a9 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/OENContainersToolGroupService/OENContainersToolGroup.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/OENContainersToolGroupService/OENContainersToolGroup.js
@@ -1,10 +1,8 @@
-import React from 'react';
 import { injectable, inject } from 'inversify';
-import { LeftMenuTitle } from 'wax-prosemirror-components';
 import ToolGroup from '../../lib/ToolGroup';
 
 @injectable()
-class Display extends ToolGroup {
+class OENContainersToolGroup extends ToolGroup {
   tools = [];
   title = 'OEN Containers';
 
@@ -14,4 +12,4 @@ class Display extends ToolGroup {
   }
 }
 
-export default Display;
+export default OENContainersToolGroup;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/OENContainersToolGroupService/OENContainersToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/OENContainersToolGroupService/OENContainersToolGroupService.js
index f3007edc8..e49f41314 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/OENContainersToolGroupService/OENContainersToolGroupService.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/OENContainersToolGroupService/OENContainersToolGroupService.js
@@ -1,10 +1,17 @@
 import Service from '../../Service';
 import OENContainersToolGroup from './OENContainersToolGroup';
+import OENAsideShortToolGroupService from '../OENAsideShortToolGroupService/OENAsideShortToolGroupService';
+import OENAsideLongToolGroupService from '../OENAsideLongToolGroupService/OENAsideLongToolGroupService';
 
 class OENContainersToolGroupService extends Service {
   register() {
     this.container.bind('OENContainersToolGroup').to(OENContainersToolGroup);
   }
+
+  dependencies = [
+    new OENAsideShortToolGroupService(),
+    new OENAsideLongToolGroupService(),
+  ];
 }
 
 export default OENContainersToolGroupService;
diff --git a/wax-prosemirror-services/src/WaxToolGroups/OENLeftToolGroupService/OENTools.js b/wax-prosemirror-services/src/WaxToolGroups/OENLeftToolGroupService/OENTools.js
index e0cf3b748..ff1603d2d 100644
--- a/wax-prosemirror-services/src/WaxToolGroups/OENLeftToolGroupService/OENTools.js
+++ b/wax-prosemirror-services/src/WaxToolGroups/OENLeftToolGroupService/OENTools.js
@@ -19,6 +19,8 @@ class OENTools extends ToolGroup {
 
   constructor(
     @inject('OENContainersToolGroup') OENContainersToolGroup,
+    @inject('OENAsideShortToolGroup') OENAsideShortToolGroup,
+    @inject('OENAsideLongToolGroup') OENAsideLongToolGroup,
     @inject('Display') display,
     @inject('Text') text,
     @inject('CustomTagBlockToolGroup') blockTag,
@@ -27,7 +29,14 @@ class OENTools extends ToolGroup {
     this.toolGroups = [
       {
         name: 'TabA',
-        groups: [OENContainersToolGroup, display, text, blockTag],
+        groups: [
+          OENContainersToolGroup,
+          OENAsideShortToolGroup,
+          OENAsideLongToolGroup,
+          display,
+          text,
+          blockTag,
+        ],
       },
     ];
   }
-- 
GitLab