From 5331950b1f9e32dc6c6d20de9decec33e506752d Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Thu, 26 Dec 2019 12:36:25 +0200 Subject: [PATCH] feat(images): image toolgroup service --- editors/editoria/src/config/config.js | 2 +- .../src/config/defaultConfig.js | 6 ++++-- wax-prosemirror-services/index.js | 4 ++++ .../AnnotationToolGroupService/Annotations.js | 6 ++---- .../ImageToolGroupService/Image.js | 0 .../ImageToolGroupService.js | 4 ++-- .../ImageToolGroupService/Images.js | 21 +++++++++++++++++++ 7 files changed, 34 insertions(+), 9 deletions(-) delete mode 100644 wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Image.js create mode 100644 wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Images.js diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js index da5d6d100..be39bf328 100644 --- a/editors/editoria/src/config/config.js +++ b/editors/editoria/src/config/config.js @@ -10,7 +10,7 @@ export default { MenuService: [ { templateArea: "topBar", - toolGroups: ["Base", "Annotations", "Lists", "Tables"] + toolGroups: ["Base", "Annotations", "Lists", "Images", "Tables"] }, { templateArea: "leftSideBar", diff --git a/wax-prosemirror-core/src/config/defaultConfig.js b/wax-prosemirror-core/src/config/defaultConfig.js index 27690414a..2417a2904 100644 --- a/wax-prosemirror-core/src/config/defaultConfig.js +++ b/wax-prosemirror-core/src/config/defaultConfig.js @@ -16,7 +16,8 @@ import { TablesService, TableToolGroupService, BaseService, - BaseToolGroupService + BaseToolGroupService, + ImageToolGroupService } from "wax-prosemirror-services"; export default { @@ -37,6 +38,7 @@ export default { new TableToolGroupService(), new TablesService(), new BaseService(), - new BaseToolGroupService() + new BaseToolGroupService(), + new ImageToolGroupService() ] }; diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js index 235be06c6..3f71ac01c 100644 --- a/wax-prosemirror-services/index.js +++ b/wax-prosemirror-services/index.js @@ -40,6 +40,10 @@ export { 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"; diff --git a/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/Annotations.js b/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/Annotations.js index cf8b59656..efec146dd 100644 --- a/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/Annotations.js +++ b/wax-prosemirror-services/src/WaxToolGroups/AnnotationToolGroupService/Annotations.js @@ -14,8 +14,7 @@ class Annotations extends ToolGroup { @inject("Subscript") subscript, @inject("Superscript") superscript, @inject("Underline") underline, - @inject("Blockquote") blockquote, - @inject("Image") image + @inject("Blockquote") blockquote ) { super(); this.tools = [ @@ -28,8 +27,7 @@ class Annotations extends ToolGroup { subscript, superscript, underline, - blockquote, - image + blockquote ]; } diff --git a/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Image.js b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Image.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js index 4305f81c2..4e5c2f132 100644 --- a/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js +++ b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/ImageToolGroupService.js @@ -1,11 +1,11 @@ -import Image from "./Image"; +import Images from "./Images"; import Service from "wax-prosemirror-core/src/services/Service"; class ImageToolGroupService extends Service { name = "ImageToolGroupService"; register() { - this.container.bind("Image").to(Image); + this.container.bind("Images").to(Images); } } diff --git a/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Images.js b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Images.js new file mode 100644 index 000000000..2614e20a0 --- /dev/null +++ b/wax-prosemirror-services/src/WaxToolGroups/ImageToolGroupService/Images.js @@ -0,0 +1,21 @@ +import { injectable, inject } from "inversify"; +import ToolGroup from "../../lib/ToolGroup"; + +@injectable() +class Images extends ToolGroup { + tools = []; + constructor(@inject("Image") image) { + super(); + this.tools = [image]; + } + + renderTools(view) { + const tools = []; + this.tools.forEach(tool => { + tools.push(tool.renderTool(view)); + }); + return tools; + } +} + +export default Images; -- GitLab