From c801c24940ef9c179bec253a4a5a89629c207505 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Thu, 26 Dec 2019 14:39:42 +0200
Subject: [PATCH] more block level styles

---
 .../DisplayBlockLevel/AuthorService/Author.js | 21 +++++++++++++++
 .../AuthorService/AuthorService.js            | 12 +++++++++
 .../EpigraphPoetryService/EpigraphPoetry.js   | 21 +++++++++++++++
 .../EpigraphPoetryService.js                  | 12 +++++++++
 .../EpigraphProseService/EpigraphProse.js     | 21 +++++++++++++++
 .../EpigraphProseService.js                   | 12 +++++++++
 .../HeadingService/Heading1.js                | 27 +++++++++++++++++++
 .../HeadingService/Heading2.js                | 27 +++++++++++++++++++
 .../HeadingService/Heading3.js                | 27 +++++++++++++++++++
 .../HeadingService/HeadingService.js          | 16 +++++++++++
 .../SubTitleService/SubTitle.js               | 21 +++++++++++++++
 .../SubTitleService/SubTitleService.js        | 12 +++++++++
 .../DisplayBlockLevel/TitleService/Title.js   | 22 +++++++++++++++
 .../TitleService/TitleService.js              | 12 +++++++++
 .../src/DisplayBlockLevel/index.js            | 13 +++++++++
 .../ExtractPoetryService.js                   |  0
 .../ExtractProseService.js                    |  0
 .../ParagraphContinuedService.js              |  0
 .../ParagraphService/ParagraphService.js      |  0
 .../SourceNoteService/SourceNoteService.js    |  0
 .../src/TextBlockLevel/index.js               | 13 +++++++++
 21 files changed, 289 insertions(+)
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/Author.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitle.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitleService.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/TitleService/Title.js
 create mode 100644 wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js
 create mode 100644 wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetryService.js
 create mode 100644 wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProseService.js
 create mode 100644 wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinuedService.js
 create mode 100644 wax-prosemirror-services/src/TextBlockLevel/ParagraphService/ParagraphService.js
 create mode 100644 wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNoteService.js

diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/Author.js b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/Author.js
new file mode 100644
index 000000000..6be138dd8
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/Author.js
@@ -0,0 +1,21 @@
+import Tools from "../../lib/Tools";
+import { injectable } from "inversify";
+import { setBlockType } from "prosemirror-commands";
+
+@injectable()
+export default class Author extends Tools {
+  title = "Change to Author";
+  content = "Author";
+
+  get run() {
+    return (state, dispatch) => {
+      setBlockType(state.config.schema.nodes.author)(state, dispatch);
+    };
+  }
+
+  get enable() {
+    return state => {
+      return setBlockType(state.config.schema.nodes.author)(state);
+    };
+  }
+}
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
new file mode 100644
index 000000000..09e110b3f
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/AuthorService.js
@@ -0,0 +1,12 @@
+import Service from "wax-prosemirror-core/src/services/Service";
+import Author from "./Author";
+
+class AuthorService extends Service {
+  boot() {}
+
+  register() {
+    this.container.bind("Author").to(Author);
+  }
+}
+
+export default AuthorService;
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js
new file mode 100644
index 000000000..e3d63856a
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js
@@ -0,0 +1,21 @@
+import Tools from "../../lib/Tools";
+import { injectable } from "inversify";
+import { setBlockType } from "prosemirror-commands";
+
+@injectable()
+export default class EpigraphPoetry extends Tools {
+  title = "Change to Epigraph Poetry";
+  content = "Epigraph Poetry";
+
+  get run() {
+    return (state, dispatch) => {
+      setBlockType(state.config.schema.nodes.epigraphPoetry)(state, dispatch);
+    };
+  }
+
+  get enable() {
+    return state => {
+      return setBlockType(state.config.schema.nodes.epigraphPoetry)(state);
+    };
+  }
+}
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js
new file mode 100644
index 000000000..0e6fa7861
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetryService.js
@@ -0,0 +1,12 @@
+import Service from "wax-prosemirror-core/src/services/Service";
+import EpigraphPoetry from "./EpigraphPoetry";
+
+class EpigraphPoetryService extends Service {
+  boot() {}
+
+  register() {
+    this.container.bind("EpigraphPoetry").to(EpigraphPoetry);
+  }
+}
+
+export default EpigraphPoetryService;
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js
new file mode 100644
index 000000000..8347f6bcb
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js
@@ -0,0 +1,21 @@
+import Tools from "../../lib/Tools";
+import { injectable } from "inversify";
+import { setBlockType } from "prosemirror-commands";
+
+@injectable()
+export default class EpigraphProse extends Tools {
+  title = "Change to Epigraph Prose";
+  content = "Epigraph Prose";
+
+  get run() {
+    return (state, dispatch) => {
+      setBlockType(state.config.schema.nodes.epigraphProse)(state, dispatch);
+    };
+  }
+
+  get enable() {
+    return state => {
+      return setBlockType(state.config.schema.nodes.epigraphProse)(state);
+    };
+  }
+}
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js
new file mode 100644
index 000000000..1a098f520
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProseService.js
@@ -0,0 +1,12 @@
+import Service from "wax-prosemirror-core/src/services/Service";
+import EpigraphProse from "./EpigraphProse";
+
+class EpigraphProseService extends Service {
+  boot() {}
+
+  register() {
+    this.container.bind("EpigraphProse").to(EpigraphProse);
+  }
+}
+
+export default EpigraphProseService;
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js
new file mode 100644
index 000000000..8ad2dc681
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js
@@ -0,0 +1,27 @@
+import Tools from "../../lib/Tools";
+import { injectable } from "inversify";
+import { setBlockType } from "prosemirror-commands";
+
+@injectable()
+export default class Heading1 extends Tools {
+  title = "Change to heading level 1";
+  content = "Heading 1";
+
+  get run() {
+    return (state, dispatch) => {
+      setBlockType(state.config.schema.nodes.heading, { level: 1 })(
+        state,
+        dispatch
+      );
+    };
+  }
+
+  get enable() {
+    return state => {
+      return setBlockType(state.config.schema.nodes.heading, {
+        level: 1,
+        track: []
+      })(state);
+    };
+  }
+}
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
new file mode 100644
index 000000000..80a7b88e8
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
@@ -0,0 +1,27 @@
+import Tools from "../../lib/Tools";
+import { injectable } from "inversify";
+import { setBlockType } from "prosemirror-commands";
+
+@injectable()
+export default class Heading2 extends Tools {
+  title = "Change to heading level 2";
+  content = "Heading 2";
+
+  get run() {
+    return (state, dispatch) => {
+      setBlockType(state.config.schema.nodes.heading, { level: 2 })(
+        state,
+        dispatch
+      );
+    };
+  }
+
+  get enable() {
+    return state => {
+      return setBlockType(state.config.schema.nodes.heading, {
+        level: 2,
+        track: []
+      })(state);
+    };
+  }
+}
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
new file mode 100644
index 000000000..8163289fb
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
@@ -0,0 +1,27 @@
+import Tools from "../../lib/Tools";
+import { injectable } from "inversify";
+import { setBlockType } from "prosemirror-commands";
+
+@injectable()
+export default class Heading3 extends Tools {
+  title = "Change to heading level 3";
+  content = "Heading 3";
+
+  get run() {
+    return (state, dispatch) => {
+      setBlockType(state.config.schema.nodes.heading, { level: 3 })(
+        state,
+        dispatch
+      );
+    };
+  }
+
+  get enable() {
+    return state => {
+      return setBlockType(state.config.schema.nodes.heading, {
+        level: 3,
+        track: []
+      })(state);
+    };
+  }
+}
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js
new file mode 100644
index 000000000..7233dbec0
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/HeadingService.js
@@ -0,0 +1,16 @@
+import Service from "wax-prosemirror-core/src/services/Service";
+import Heading1 from "./Heading1";
+import Heading2 from "./Heading3";
+import Heading3 from "./Heading3";
+
+class HeadingService extends Service {
+  boot() {}
+
+  register() {
+    this.container.bind("Heading1").to(Heading1);
+    this.container.bind("Heading2").to(Heading2);
+    this.container.bind("Heading3").to(Heading3);
+  }
+}
+
+export default HeadingService;
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitle.js b/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitle.js
new file mode 100644
index 000000000..caac1427b
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitle.js
@@ -0,0 +1,21 @@
+import Tools from "../../lib/Tools";
+import { injectable } from "inversify";
+import { setBlockType } from "prosemirror-commands";
+
+@injectable()
+export default class SubTitle extends Tools {
+  title = "Change to Subtitle";
+  content = "Subtitle";
+
+  get run() {
+    return (state, dispatch) => {
+      setBlockType(state.config.schema.nodes.subtitle)(state, dispatch);
+    };
+  }
+
+  get enable() {
+    return state => {
+      return setBlockType(state.config.schema.nodes.subtitle)(state);
+    };
+  }
+}
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitleService.js b/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitleService.js
new file mode 100644
index 000000000..6d2f9f689
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitleService.js
@@ -0,0 +1,12 @@
+import Service from "wax-prosemirror-core/src/services/Service";
+import SubTitle from "./SubTitle";
+
+class SubTitleService extends Service {
+  boot() {}
+
+  register() {
+    this.container.bind("SubTitle").to(SubTitle);
+  }
+}
+
+export default SubTitleService;
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/Title.js b/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/Title.js
new file mode 100644
index 000000000..94c85205f
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/Title.js
@@ -0,0 +1,22 @@
+import Tools from "../../lib/Tools";
+import { injectable } from "inversify";
+import { setBlockType } from "prosemirror-commands";
+import { blockActive } from "../../lib/Utils";
+
+@injectable()
+export default class Title extends Tools {
+  title = "Change to Title";
+  content = "Title";
+
+  get run() {
+    return (state, dispatch) => {
+      setBlockType(state.config.schema.nodes.title)(state, dispatch);
+    };
+  }
+
+  get enable() {
+    return state => {
+      return setBlockType(state.config.schema.nodes.title)(state);
+    };
+  }
+}
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js b/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js
new file mode 100644
index 000000000..e1586b222
--- /dev/null
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/TitleService.js
@@ -0,0 +1,12 @@
+import Service from "wax-prosemirror-core/src/services/Service";
+import Title from "./Title";
+
+class TitleService extends Service {
+  boot() {}
+
+  register() {
+    this.container.bind("Title").to(Title);
+  }
+}
+
+export default TitleService;
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/index.js b/wax-prosemirror-services/src/DisplayBlockLevel/index.js
index e69de29bb..6e9670adf 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/index.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/index.js
@@ -0,0 +1,13 @@
+import AuthorService from "./AuthorService/AuthorService";
+import EpigraphPoetryService from "./EpigraphPoetryService/EpigraphPoetryService";
+import HeadingService from "./HeadingService/HeadingService";
+import SubTitleService from "./SubTitleService/SubTitleService";
+import TitleService from "./TitleService/TitleService";
+
+export default [
+  new AuthorService(),
+  new EpigraphPoetryService(),
+  new HeadingService(),
+  new SubTitleService(),
+  new TitleService()
+];
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetryService.js b/wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetryService.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProseService.js b/wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProseService.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinuedService.js b/wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinuedService.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/ParagraphService.js b/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/ParagraphService.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNoteService.js b/wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNoteService.js
new file mode 100644
index 000000000..e69de29bb
diff --git a/wax-prosemirror-services/src/TextBlockLevel/index.js b/wax-prosemirror-services/src/TextBlockLevel/index.js
index e69de29bb..3bf999cd8 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/index.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/index.js
@@ -0,0 +1,13 @@
+// import ExtractPoetryService from "./ExtractPoetryService/ExtractPoetryService";
+// import ExtractProseService from "./ExtractProseService/ExtractProseService";
+// import ParagraphContinuedService from "./ParagraphContinuedService/ParagraphContinuedService";
+// import ParagraphService from "./ParagraphService/ParagraphService";
+// import SourceNoteService from "./SourceNoteService/SourceNoteService";
+//
+// export default [
+//   new ExtractPoetryService(),
+//   new ExtractProseService(),
+//   new ParagraphContinuedService(),
+//   new ParagraphService(),
+//   new SourceNoteService()
+// ];
-- 
GitLab