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