diff --git a/editors/demo/src/OEN/config/config.js b/editors/demo/src/OEN/config/config.js index 64267f80607bda24502346b592f74fffd44fc28c..251f0010cae155aeb16793c1e8e7db4f0632840c 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 0000000000000000000000000000000000000000..80b9344ef10fdbce899b704015d43414b4b55b5a --- /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 47ec854116f551f7c3ff48c0feef14f501a88862..496ced10e5773ad504727b360faba191cfbe3737 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 8d2a2d321e3d411bb40db6f22ed4b26dc7c14db4..c8d5d71d3473b0985580d428c6afbce0648a564b 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 0000000000000000000000000000000000000000..27db462a640e5a14dd1829118b0dd4d186974e84 --- /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 0000000000000000000000000000000000000000..6e072c00685c3762c35ce0e9fb7b7a1fd5496b2c --- /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 0000000000000000000000000000000000000000..10f455ea6aa6e9e84febc0546bf7e889a1e6b8a0 --- /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 0000000000000000000000000000000000000000..19345c7b21b54df754ee97ddedc56829cbd460a5 --- /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 b3e265b90d112605a6398d896936cb1792324ff2..74fcb00a94b6dd0865ddc2ddac2731cf04f4f100 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 f3007edc8e333f3a95387d9fbdb6c899fd5c5fd8..e49f413141dc608cc1d26c4b5f8e82e1fb7cf207 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 e0cf3b748e3a59c80597cee407ec7ae6d067ebf6..ff1603d2d9088a3f0f7afb3e2522613c3e5a7f83 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, + ], }, ]; }