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