diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js index 88a5fafa451d390ae3154ed2b88aa7ae3626fbc9..da5d6d1009631477a4cdea583cc51e58e5100c6e 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: ["Annotations", "Lists", "Tables"] + toolGroups: ["Base", "Annotations", "Lists", "Tables"] }, { templateArea: "leftSideBar", diff --git a/wax-prosemirror-core/src/config/defaultConfig.js b/wax-prosemirror-core/src/config/defaultConfig.js index e86cb597dc72025a80d3791fa2488c414631e209..27690414a7bd99429183671ff73e726872ca893b 100644 --- a/wax-prosemirror-core/src/config/defaultConfig.js +++ b/wax-prosemirror-core/src/config/defaultConfig.js @@ -1,19 +1,22 @@ import LayoutService from "../services/LayoutService/LayoutService"; import { - AnnotationToolGroupService, - ImageService, - MenuService, SchemaService, - PlaceholderService, + MenuService, RulesService, ShortCutsService, + /*TODO MOVE FROM DEFAULT CONFIG*/ + AnnotationToolGroupService, + ImageService, + PlaceholderService, TextStyleService, InlineAnnotationsService, LinkService, ListsService, ListToolGroupService, TablesService, - TableToolGroupService + TableToolGroupService, + BaseService, + BaseToolGroupService } from "wax-prosemirror-services"; export default { @@ -32,6 +35,8 @@ export default { new LinkService(), new ListsService(), new TableToolGroupService(), - new TablesService() + new TablesService(), + new BaseService(), + new BaseToolGroupService() ] }; diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js index 107eca983af1a8ef68bd7712a01d49542db250ab..235be06c651073ededad5557cc3f4e4e098e21a5 100644 --- a/wax-prosemirror-services/index.js +++ b/wax-prosemirror-services/index.js @@ -20,6 +20,7 @@ export { default as Tool } from "./src/lib/Tools"; /* All Elements services */ +export { default as BaseService } from "./src/BaseService/BaseService"; export { default as InlineAnnotationsService } from "./src/InlineAnnotations/InlineAnnotationsService"; @@ -29,6 +30,10 @@ export { default as TablesService } from "./src/TablesService/TablesService"; /* ToolGroups */ +export { + default as BaseToolGroupService +} from "./src/WaxToolGroups/BaseToolGroupService/BaseToolGroupService"; + export { default as AnnotationToolGroupService } from "./src/WaxToolGroups/AnnotationToolGroupService/AnnotationToolGroupService"; diff --git a/wax-prosemirror-services/src/BaseService/RedoService/Redo.js b/wax-prosemirror-services/src/BaseService/RedoService/Redo.js index 386932ba243924c03991e07cf84e9a39dcfa923e..bc9ddc249c9c31184d3b2b97f56dfd70ef2d9053 100644 --- a/wax-prosemirror-services/src/BaseService/RedoService/Redo.js +++ b/wax-prosemirror-services/src/BaseService/RedoService/Redo.js @@ -1,5 +1,5 @@ import { redo } from "prosemirror-history"; -import Tools from "../lib/Tools"; +import Tools from "../../lib/Tools"; import { injectable } from "inversify"; import { icons } from "wax-prosemirror-components"; diff --git a/wax-prosemirror-services/src/BaseService/RedoService/RedoService.js b/wax-prosemirror-services/src/BaseService/RedoService/RedoService.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..fcd403e46d542a94eb845a84c8f842d3b41d0ee3 100644 --- a/wax-prosemirror-services/src/BaseService/RedoService/RedoService.js +++ b/wax-prosemirror-services/src/BaseService/RedoService/RedoService.js @@ -0,0 +1,12 @@ +import Service from "wax-prosemirror-core/src/services/Service"; +import Redo from "./Redo"; + +class RedoService extends Service { + boot() {} + + register() { + this.container.bind("Redo").to(Redo); + } +} + +export default RedoService; diff --git a/wax-prosemirror-services/src/BaseService/SaveService/Save.js b/wax-prosemirror-services/src/BaseService/SaveService/Save.js new file mode 100644 index 0000000000000000000000000000000000000000..6d43004adf21cbb16378d24b8a9cc6dff0a19770 --- /dev/null +++ b/wax-prosemirror-services/src/BaseService/SaveService/Save.js @@ -0,0 +1,13 @@ +import Tools from "../../lib/Tools"; +import { injectable } from "inversify"; +import { icons } from "wax-prosemirror-components"; + +@injectable() +export default class Save extends Tools { + title = "Save changes"; + content = icons.save; + + get run() {} + + get enable() {} +} diff --git a/wax-prosemirror-services/src/BaseService/SaveService/SaveService.js b/wax-prosemirror-services/src/BaseService/SaveService/SaveService.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..6ed2c5bef669cd195ca3f9fa1f02f3846278b649 100644 --- a/wax-prosemirror-services/src/BaseService/SaveService/SaveService.js +++ b/wax-prosemirror-services/src/BaseService/SaveService/SaveService.js @@ -0,0 +1,12 @@ +import Service from "wax-prosemirror-core/src/services/Service"; +import Save from "./Save"; + +class SaveService extends Service { + boot() {} + + register() { + this.container.bind("Save").to(Save); + } +} + +export default SaveService; diff --git a/wax-prosemirror-services/src/BaseService/UndoService/Undo.js b/wax-prosemirror-services/src/BaseService/UndoService/Undo.js index 9d07b6c2592e458b86c80d84ef6a0db2a00f27e1..27027af0f0a729af09457f8c6a1c5141d58526d5 100644 --- a/wax-prosemirror-services/src/BaseService/UndoService/Undo.js +++ b/wax-prosemirror-services/src/BaseService/UndoService/Undo.js @@ -1,5 +1,5 @@ import { undo } from "prosemirror-history"; -import Tools from "../lib/Tools"; +import Tools from "../../lib/Tools"; import { injectable } from "inversify"; import { icons } from "wax-prosemirror-components"; diff --git a/wax-prosemirror-services/src/BaseService/UndoService/UndoService.js b/wax-prosemirror-services/src/BaseService/UndoService/UndoService.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5a52e780a1104c6f9db13473a2f17864157b9b14 100644 --- a/wax-prosemirror-services/src/BaseService/UndoService/UndoService.js +++ b/wax-prosemirror-services/src/BaseService/UndoService/UndoService.js @@ -0,0 +1,12 @@ +import Service from "wax-prosemirror-core/src/services/Service"; +import Undo from "./Undo"; + +class UndoService extends Service { + boot() {} + + register() { + this.container.bind("Undo").to(Undo); + } +} + +export default UndoService; diff --git a/wax-prosemirror-services/src/BaseService/index.js b/wax-prosemirror-services/src/BaseService/index.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ac21c7dee1b100298434bdca50e12e2212341275 100644 --- a/wax-prosemirror-services/src/BaseService/index.js +++ b/wax-prosemirror-services/src/BaseService/index.js @@ -0,0 +1,5 @@ +import UndoService from "./UndoService/UndoService"; +import RedoService from "./RedoService/RedoService"; +import SaveService from "./SaveService/SaveService"; + +export default [new UndoService(), new RedoService()]; diff --git a/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js b/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js index 1c3639429c22793f916202c03c42e1f721f84476..e0b2190aa462d9271c67f657f4d2697b7fb7a47d 100644 --- a/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js +++ b/wax-prosemirror-services/src/WaxToolGroups/BaseToolGroupService/Base.js @@ -4,9 +4,9 @@ import ToolGroup from "../../lib/ToolGroup"; @injectable() class Base extends ToolGroup { tools = []; - constructor() { + constructor(@inject("Undo") undo, @inject("Redo") redo) { super(); - this.tools = []; + this.tools = [undo, redo]; } renderTools(view) {