From bb2d0f5a270540d52fec33fd92f2c8a59fadcafd Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Thu, 1 Apr 2021 18:56:27 +0300 Subject: [PATCH] initial service --- .../MultipleChoiceQuestion.js | 27 +++++++++++++++++++ .../MultipleChoiceQuestionService.js | 14 ++++++++++ editors/editoria/src/config/config.js | 5 ++++ wax-prosemirror-services/index.js | 2 +- 4 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 editors/editoria/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js create mode 100644 editors/editoria/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js diff --git a/editors/editoria/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js b/editors/editoria/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js new file mode 100644 index 000000000..a50f29656 --- /dev/null +++ b/editors/editoria/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js @@ -0,0 +1,27 @@ +import { injectable } from 'inversify'; +import { Tools } from 'wax-prosemirror-services'; + +@injectable() +class MultipleChoiceQuestion extends Tools { + title = 'Change to Multiple Choice'; + label = 'Multiple Choice'; + name = 'Multiple Choice'; + + get run() { + return (state, dispatch) => {}; + } + + get active() { + return state => {}; + } + + select = (state, activeViewId) => { + return true; + }; + + get enable() { + return state => {}; + } +} + +export default MultipleChoiceQuestion; diff --git a/editors/editoria/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js b/editors/editoria/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js new file mode 100644 index 000000000..c128ee420 --- /dev/null +++ b/editors/editoria/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js @@ -0,0 +1,14 @@ +import { Service } from 'wax-prosemirror-services'; +import MultipleChoiceQuestion from './MultipleChoiceQuestion'; + +class MultipleChoiceQuestionService extends Service { + boot() {} + + register() { + this.container.bind('MultipleChoiceQuestion').to(MultipleChoiceQuestion); + const createNode = this.container.get('CreateNode'); + console.log(createNode); + } +} + +export default MultipleChoiceQuestionService; diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js index b428865c8..decd0aacf 100644 --- a/editors/editoria/src/config/config.js +++ b/editors/editoria/src/config/config.js @@ -49,6 +49,10 @@ import { DefaultSchema } from 'wax-prosemirror-utilities'; import { WaxSelectionPlugin } from 'wax-prosemirror-plugins'; +/* Test Question Service*/ + +import MultipleChoiceQuestionService from '../MultipleChoiceQuestionService/MultipleChoiceQuestionService'; + import invisibles, { space, hardBreak, @@ -152,6 +156,7 @@ export default { }, services: [ + new MultipleChoiceQuestionService(), new CustomTagService(), new DisplayBlockLevelService(), new DisplayToolGroupService(), diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js index da3445673..44320d00a 100644 --- a/wax-prosemirror-services/index.js +++ b/wax-prosemirror-services/index.js @@ -9,7 +9,7 @@ export { default as SchemaService } from './src/SchemaService/SchemaService'; export { default as ShortCutsService } from './src/ShortCutsService/ShortCutsService'; -export { default as Tool } from './src/lib/Tools'; +export { default as Tools } from './src/lib/Tools'; /* All Elements services -- GitLab