diff --git a/wax-prosemirror-services/src/FullScreenService/FullScreen.js b/wax-prosemirror-services/src/FullScreenService/FullScreen.js new file mode 100644 index 0000000000000000000000000000000000000000..1ffc2fb131b8e1b6e2c0832072ed79aaebaa36f9 --- /dev/null +++ b/wax-prosemirror-services/src/FullScreenService/FullScreen.js @@ -0,0 +1,27 @@ +import React from 'react'; +import { isEmpty } from 'lodash'; +import { injectable } from 'inversify'; +import Tools from '../lib/Tools'; + +export default +@injectable() +class FullScreen extends Tools { + title = 'full screen'; + icon = 'image'; + name = 'FullScreen'; + + get run() { + return () => true; + } + + select = (state, activeViewId) => {}; + + get enable() { + return state => {}; + } + + renderTool(view) { + if (isEmpty(view)) return null; + return this._isDisplayed ? <span> full</span> : null; + } +} diff --git a/wax-prosemirror-services/src/FullScreenService/FullScreenService.js b/wax-prosemirror-services/src/FullScreenService/FullScreenService.js new file mode 100644 index 0000000000000000000000000000000000000000..dea9eb03498f2c7f0194ffef692b3e29c3a91bab --- /dev/null +++ b/wax-prosemirror-services/src/FullScreenService/FullScreenService.js @@ -0,0 +1,12 @@ +import Service from '../Service'; +import FullScreen from './FullScreen'; + +class FullScreenService extends Service { + name = 'FullScreenService'; + + register() { + this.container.bind('FullScreen').to(FullScreen); + } +} + +export default FullScreenService; diff --git a/wax-prosemirror-services/src/WaxToolGroups/FullScreenToolGroupService/FullScreenTool.js b/wax-prosemirror-services/src/WaxToolGroups/FullScreenToolGroupService/FullScreenTool.js new file mode 100644 index 0000000000000000000000000000000000000000..54f787f59bce959a462637c3df52f8155f1e2015 --- /dev/null +++ b/wax-prosemirror-services/src/WaxToolGroups/FullScreenToolGroupService/FullScreenTool.js @@ -0,0 +1,13 @@ +import { injectable, inject } from 'inversify'; +import ToolGroup from '../../lib/ToolGroup'; + +@injectable() +class FullScreenTool extends ToolGroup { + tools = []; + constructor(@inject('FullScreen') fullScreen) { + super(); + this.tools = [fullScreen]; + } +} + +export default FullScreenTool; diff --git a/wax-prosemirror-services/src/WaxToolGroups/FullScreenToolGroupService/FullScreenToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/FullScreenToolGroupService/FullScreenToolGroupService.js new file mode 100644 index 0000000000000000000000000000000000000000..46cd5491d9995923bff1f25031bfdc6ccb89464c --- /dev/null +++ b/wax-prosemirror-services/src/WaxToolGroups/FullScreenToolGroupService/FullScreenToolGroupService.js @@ -0,0 +1,10 @@ +import Service from '../../Service'; +import FullScreenTool from './FullScreenTool'; + +class FullScreenToolGroupService extends Service { + register() { + this.container.bind('FullScreenTool').to(FullScreenTool); + } +} + +export default FullScreenToolGroupService;