From c11339f534674f68932e747d8664723eec1da766 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Wed, 29 Jan 2020 21:10:29 +0200 Subject: [PATCH] feat(notes): create seperate note tool group --- editors/editoria/src/config/config.js | 12 +++-- wax-prosemirror-services/index.js | 53 ++++++++++++++----- .../src/NoteService/Editor.js | 5 +- .../pmPlugins/placeholderPlugin.js | 1 - .../BlockQuoteService/BlockQuote.js | 1 - .../BaseToolGroupService/Base.js | 8 +-- .../NoteToolGroupService.js | 12 +++++ .../NoteToolGroupService/Notes.js | 13 +++++ 8 files changed, 75 insertions(+), 30 deletions(-) create mode 100644 wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/NoteToolGroupService.js create mode 100644 wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/Notes.js diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js index b31f1704d..5192981ce 100644 --- a/editors/editoria/src/config/config.js +++ b/editors/editoria/src/config/config.js @@ -17,8 +17,9 @@ import { ImageToolGroupService, TextBlockLevelService, TextToolGroupService, - TrackChangeService, - NoteService + NoteService, + NoteToolGroupService, + TrackChangeService } from "wax-prosemirror-services"; import invisibles, { @@ -31,7 +32,7 @@ export default { MenuService: [ { templateArea: "topBar", - toolGroups: ["Base", "Annotations", "Lists", "Images", "Tables"] + toolGroups: ["Base", "Annotations", "Notes", "Lists", "Images", "Tables"] }, { templateArea: "leftSideBar", @@ -66,7 +67,8 @@ export default { new ImageToolGroupService(), new TextBlockLevelService(), new TextToolGroupService(), - new TrackChangeService(), - new NoteService() + new NoteService(), + new NoteToolGroupService(), + new TrackChangeService() ] }; diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js index d16ab4d6c..752228fa9 100644 --- a/wax-prosemirror-services/index.js +++ b/wax-prosemirror-services/index.js @@ -1,11 +1,15 @@ export { default as MenuService } from "./src/MenuService/MenuService"; export { default as LinkService } from "./src/LinkService/LinkService"; -export { default as PlaceholderService } from "./src/PlaceholderService/PlaceholderService"; +export { + default as PlaceholderService +} from "./src/PlaceholderService/PlaceholderService"; export { default as ImageService } from "./src/ImageService/ImageService"; export { default as RulesService } from "./src/RulesService/RulesService"; export { default as SchemaService } from "./src/SchemaService/SchemaService"; -export { default as ShortCutsService } from "./src/ShortCutsService/ShortCutsService"; +export { + default as ShortCutsService +} from "./src/ShortCutsService/ShortCutsService"; export { default as OverlayService } from "./src/OverlayService/OverlayService"; export { default as Tool } from "./src/lib/Tools"; @@ -17,20 +21,43 @@ export { All Elements services */ export { default as BaseService } from "./src/BaseService/BaseService"; -export { default as InlineAnnotationsService } from "./src/InlineAnnotations/InlineAnnotationsService"; +export { + default as InlineAnnotationsService +} from "./src/InlineAnnotations/InlineAnnotationsService"; export { default as ListsService } from "./src/ListsService/ListsService"; export { default as TablesService } from "./src/TablesService/TablesService"; -export { default as TextBlockLevelService } from "./src/TextBlockLevel/TextBlockLevelService"; -export { default as DisplayBlockLevelService } from "./src/DisplayBlockLevel/DisplayBlockLevelService"; +export { + default as TextBlockLevelService +} from "./src/TextBlockLevel/TextBlockLevelService"; +export { + default as DisplayBlockLevelService +} from "./src/DisplayBlockLevel/DisplayBlockLevelService"; +export { default as NoteService } from "./src/NoteService/NoteService"; /* ToolGroups */ -export { default as BaseToolGroupService } from "./src/WaxToolGroups/BaseToolGroupService/BaseToolGroupService"; -export { default as AnnotationToolGroupService } from "./src/WaxToolGroups/AnnotationToolGroupService/AnnotationToolGroupService"; -export { default as ListToolGroupService } from "./src/WaxToolGroups/ListToolGroupService/ListToolGroupService"; -export { default as ImageToolGroupService } from "./src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService"; -export { default as TableToolGroupService } from "./src/WaxToolGroups/TableToolGroupService/TableToolGroupService"; -export { default as DisplayToolGroupService } from "./src/WaxToolGroups/DisplayToolGroupService/DisplayToolGroupService"; -export { default as TextToolGroupService } from "./src/WaxToolGroups/TextToolGroupService/TextToolGroupService"; -export { default as NoteService } from "./src/NoteService/NoteService"; +export { + default as BaseToolGroupService +} from "./src/WaxToolGroups/BaseToolGroupService/BaseToolGroupService"; +export { + default as AnnotationToolGroupService +} from "./src/WaxToolGroups/AnnotationToolGroupService/AnnotationToolGroupService"; +export { + default as ListToolGroupService +} from "./src/WaxToolGroups/ListToolGroupService/ListToolGroupService"; +export { + default as ImageToolGroupService +} from "./src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService"; +export { + default as TableToolGroupService +} from "./src/WaxToolGroups/TableToolGroupService/TableToolGroupService"; +export { + default as DisplayToolGroupService +} from "./src/WaxToolGroups/DisplayToolGroupService/DisplayToolGroupService"; +export { + default as TextToolGroupService +} from "./src/WaxToolGroups/TextToolGroupService/TextToolGroupService"; +export { + default as NoteToolGroupService +} from "./src/WaxToolGroups/NoteToolGroupService/NoteToolGroupService"; diff --git a/wax-prosemirror-services/src/NoteService/Editor.js b/wax-prosemirror-services/src/NoteService/Editor.js index dcbe3e222..5f7c4a852 100644 --- a/wax-prosemirror-services/src/NoteService/Editor.js +++ b/wax-prosemirror-services/src/NoteService/Editor.js @@ -37,7 +37,6 @@ export default ({ node, view, pos }) => { if (!tr.getMeta("fromOutside")) { let outerTr = view.state.tr, offsetMap = StepMap.offset(pos + 1); - console.log(transactions, 1111111); for (let i = 0; i < transactions.length; i++) { let steps = transactions[i].steps; for (let j = 0; j < steps.length; j++) @@ -67,10 +66,8 @@ export default ({ node, view, pos }) => { }, []); if (context.view[pos]) { - console.log(1); let state = context.view[pos].state; let start = node.content.findDiffStart(state.doc.content); - console.log(start, node); if (start != null) { let { a: endA, b: endB } = node.content.findDiffEnd(state.doc.content); let overlap = start - Math.min(endA, endB); @@ -90,6 +87,6 @@ export default ({ node, view, pos }) => { <div style={{ height: "100px", border: "1px solid black" }} ref={editorRef} - ></div> + /> ); }; diff --git a/wax-prosemirror-services/src/PlaceholderService/pmPlugins/placeholderPlugin.js b/wax-prosemirror-services/src/PlaceholderService/pmPlugins/placeholderPlugin.js index 805e50275..d0918b9e0 100644 --- a/wax-prosemirror-services/src/PlaceholderService/pmPlugins/placeholderPlugin.js +++ b/wax-prosemirror-services/src/PlaceholderService/pmPlugins/placeholderPlugin.js @@ -9,7 +9,6 @@ export default key => return DecorationSet.empty; }, apply: function apply(tr, set) { - console.log(tr, "placeholderPLugin"); // Adjust decoration positions to changes made by the transaction set = set.map(tr.mapping, tr.doc); // See if the transaction adds or removes any placeholders diff --git a/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js b/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js index 4a9f9e17a..77ac0af54 100644 --- a/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js +++ b/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js @@ -15,7 +15,6 @@ class BlockQuote extends Tools { get enable() { return state => { - console.log(state); return wrapIn(state.config.schema.nodes.blockquote)(state); }; } diff --git a/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js b/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js index 1b3e2c89d..d9d35019a 100644 --- a/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js +++ b/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js @@ -4,13 +4,9 @@ import ToolGroup from "../../lib/ToolGroup"; @injectable() class Base extends ToolGroup { tools = []; - constructor( - @inject("Undo") undo, - @inject("Redo") redo, - @inject("Note") note - ) { + constructor(@inject("Undo") undo, @inject("Redo") redo) { super(); - this.tools = [undo, redo, note]; + this.tools = [undo, redo]; } } diff --git a/wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/NoteToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/NoteToolGroupService.js new file mode 100644 index 000000000..99322bdd0 --- /dev/null +++ b/wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/NoteToolGroupService.js @@ -0,0 +1,12 @@ +import Notes from "./Notes"; +import Service from "wax-prosemirror-core/src/services/Service"; + +class NoteToolGroupService extends Service { + name = "NoteToolGroupService"; + + register() { + this.container.bind("Notes").to(Notes); + } +} + +export default NoteToolGroupService; diff --git a/wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/Notes.js b/wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/Notes.js new file mode 100644 index 000000000..876d22cc0 --- /dev/null +++ b/wax-prosemirror-services/src/WaxToolGroups/NoteToolGroupService/Notes.js @@ -0,0 +1,13 @@ +import { injectable, inject } from "inversify"; +import ToolGroup from "../../lib/ToolGroup"; + +@injectable() +class Notes extends ToolGroup { + tools = []; + constructor(@inject("Note") note) { + super(); + this.tools = [note]; + } +} + +export default Notes; -- GitLab