From 1951db0f45b7605e91d23f5165fbb5f29d81f20b Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Tue, 27 Oct 2020 14:38:11 +0200 Subject: [PATCH] add full screen files --- .../src/FullScreenService/FullScreen.js | 27 +++++++++++++++++++ .../FullScreenService/FullScreenService.js | 12 +++++++++ .../FullScreenTool.js | 13 +++++++++ .../FullScreenToolGroupService.js | 10 +++++++ 4 files changed, 62 insertions(+) create mode 100644 wax-prosemirror-services/src/FullScreenService/FullScreen.js create mode 100644 wax-prosemirror-services/src/FullScreenService/FullScreenService.js create mode 100644 wax-prosemirror-services/src/WaxToolGroups/FullScreenToolGroupService/FullScreenTool.js create mode 100644 wax-prosemirror-services/src/WaxToolGroups/FullScreenToolGroupService/FullScreenToolGroupService.js diff --git a/wax-prosemirror-services/src/FullScreenService/FullScreen.js b/wax-prosemirror-services/src/FullScreenService/FullScreen.js new file mode 100644 index 000000000..1ffc2fb13 --- /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 000000000..dea9eb034 --- /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 000000000..54f787f59 --- /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 000000000..46cd5491d --- /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; -- GitLab