diff --git a/editors/demo/src/HHMI/FillTheGapQuestionService/FillTheGapQuestionService.js b/editors/demo/src/HHMI/FillTheGapQuestionService/FillTheGapQuestionService.js new file mode 100644 index 0000000000000000000000000000000000000000..dc8a934a4c39848ae62a85a4826fdbed77fc3dae --- /dev/null +++ b/editors/demo/src/HHMI/FillTheGapQuestionService/FillTheGapQuestionService.js @@ -0,0 +1,10 @@ +import { Service } from 'wax-prosemirror-services'; + +class FillTheGapQuestionService extends Service { + register() { + const createNode = this.container.get('CreateNode'); + const addPortal = this.container.get('AddPortal'); + } +} + +export default FillTheGapQuestionService; diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js index af4260c29dfce2facf9ba9e07961d1e6acc3191e..1101b7e124eb6287b3a5945da6503dd58f25e183 100644 --- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js +++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js @@ -1,47 +1,24 @@ import { Service } from 'wax-prosemirror-services'; import MultipleChoiceQuestion from './MultipleChoiceQuestion'; import multipleChoiceNode from './schema/multipleChoiceNode'; +import multipleChoiceContainerNode from './schema/multipleChoiceContainerNode'; import QuestionComponent from './components/QuestionComponent'; import MultipleChoiceNodeView from './MultipleChoiceNodeView'; class MultipleChoiceQuestionService extends Service { - boot() {} - register() { this.container.bind('MultipleChoiceQuestion').to(MultipleChoiceQuestion); const createNode = this.container.get('CreateNode'); + const addPortal = this.container.get('AddPortal'); createNode({ multiple_choice: multipleChoiceNode, }); createNode({ - multiple_choice_container: { - attrs: { - id: { default: '' }, - class: { default: 'mutiple-choice' }, - }, - group: 'block', - atom: true, - content: 'block+', - parseDOM: [ - { - tag: 'div.mutiple-choice', - getAttrs(dom) { - return { - id: dom.dataset.id, - class: dom.getAttribute('class'), - }; - }, - }, - ], - toDOM(node) { - return ['div', node.attrs, 0]; - }, - }, + multiple_choice_container: multipleChoiceContainerNode, }); - const addPortal = this.container.get('AddPortal'); addPortal({ nodeView: MultipleChoiceNodeView, component: QuestionComponent, diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js b/editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js new file mode 100644 index 0000000000000000000000000000000000000000..e63cf2aab632edb0fca12e8d534a88db67783099 --- /dev/null +++ b/editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js @@ -0,0 +1,25 @@ +const multipleChoiceContainerNode = { + attrs: { + id: { default: '' }, + class: { default: 'mutiple-choice' }, + }, + group: 'block', + atom: true, + content: 'block+', + parseDOM: [ + { + tag: 'div.mutiple-choice', + getAttrs(dom) { + return { + id: dom.dataset.id, + class: dom.getAttribute('class'), + }; + }, + }, + ], + toDOM(node) { + return ['div', node.attrs, 0]; + }, +}; + +export default multipleChoiceContainerNode;