diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js index 29a78d46fca77f1eb14777d2ecf1ab8e553394c0..32b9cd5317ef61b6163734252bdc3fc2d1d8f1ec 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js @@ -6,6 +6,7 @@ import QuestionComponent from './components/QuestionComponent'; import MultipleChoiceNodeView from './MultipleChoiceNodeView'; import MultipleChoiceSingleCorrectQuestionService from './MultipleChoiceSingleCorrectQuestionService/MultipleChoiceSingleCorrectQuestionService'; import TrueFalseQuestionService from './TrueFalseQuestionService/TrueFalseQuestionService'; +import TrueFalseSingleCorrectQuestionService from './TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectQuestionService'; class MultipleChoiceQuestionService extends Service { register() { @@ -31,6 +32,7 @@ class MultipleChoiceQuestionService extends Service { dependencies = [ new MultipleChoiceSingleCorrectQuestionService(), new TrueFalseQuestionService(), + new TrueFalseSingleCorrectQuestionService(), ]; } diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/TrueFalseQuestion.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/TrueFalseQuestion.js index 403b2455100fb8c68e21db121c0d8d0074e14c58..a5d73636e32050dad148183e0b52f9ec95c7227b 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/TrueFalseQuestion.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseQuestionService/TrueFalseQuestion.js @@ -11,7 +11,7 @@ import helpers from '../helpers/helpers'; import Tools from '../../lib/Tools'; @injectable() -class MultipleChoiceQuestion extends Tools { +class TrueFalseQuestion extends Tools { title = 'Add True False Question'; icon = 'multipleChoice'; name = 'TrueFalse'; @@ -66,4 +66,4 @@ class MultipleChoiceQuestion extends Tools { } } -export default MultipleChoiceQuestion; +export default TrueFalseQuestion; diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectNodeView.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectNodeView.js index 327937384a6fcd686c6ae87a4faf854223029f37..d57375c18a0d127cb8bbc958004cc113d00c2289 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectNodeView.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectNodeView.js @@ -23,7 +23,6 @@ export default class TrueFalseSingleCorrectNodeView extends AbstractNodeView { } update(node) { - // if (!node.sameMarkup(this.node)) return false; this.node = node; if (this.context.view[node.attrs.id]) { const { state } = this.context.view[node.attrs.id]; diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectQuestionService.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectQuestionService.js index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f90d3bb2b41b767eea2e6d93019c5a1fe48e9983 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectQuestionService.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectQuestionService.js @@ -0,0 +1,32 @@ +import Service from '../../Service'; +import TrueFalseSingleCorrectQuestion from './TrueFalseSingleCorrectQuestion'; +import trueFalseSingleCorrectNode from './schema/trueFalseSingleCorrectNode'; +import trueFalseSingleCorrectContainerNode from './schema/trueFalseSingleCorrectContainerNode'; +import QuestionComponent from './components/QuestionComponent'; +import TrueFalseSingleCorrectNodeView from './TrueFalseSingleCorrectNodeView'; + +class TrueFalseSingleCorrectQuestionService extends Service { + register() { + this.container + .bind('TrueFalseSingleCorrectQuestion') + .to(TrueFalseSingleCorrectQuestion); + const createNode = this.container.get('CreateNode'); + const addPortal = this.container.get('AddPortal'); + + createNode({ + true_false_single_correct: trueFalseSingleCorrectNode, + }); + + createNode({ + true_false_single_correct_container: trueFalseSingleCorrectContainerNode, + }); + + addPortal({ + nodeView: TrueFalseSingleCorrectNodeView, + component: QuestionComponent, + context: this.app, + }); + } +} + +export default TrueFalseSingleCorrectQuestionService; diff --git a/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js b/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js index 75f1b2359b9b7246af15978d2b4604373a71b6b7..3972ed034961e816df572d57590ab42ce00913af 100644 --- a/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js +++ b/wax-prosemirror-services/src/WaxToolGroups/MultipleDropDownToolGroupService/MultipleDropDown.js @@ -16,12 +16,14 @@ class MultipleDropDown extends ToolGroup { @inject('MultipleChoiceSingleCorrectQuestion') multipleChoiceSingleCorrectQuestion, @inject('TrueFalseQuestion') trueFalseQuestion, + @inject('TrueFalseSingleCorrectQuestion') trueFalseSingleCorrectQuestion, ) { super(); this.tools = [ multipleChoiceQuestion, multipleChoiceSingleCorrectQuestion, trueFalseQuestion, + trueFalseSingleCorrectQuestion, ]; } @@ -67,7 +69,7 @@ class MultipleDropDown extends ToolGroup { view: { main }, } = context; const { state } = view; - + console.log(this._tools); const dropDownOptions = [ { label: 'Multiple Choice', @@ -84,11 +86,11 @@ class MultipleDropDown extends ToolGroup { value: '2', item: this._tools[2], }, - // { - // label: 'True/False (single correct)', - // value: '3', - // item: this._tools[0], - // }, + { + label: 'True/False (single correct)', + value: '3', + item: this._tools[3], + }, ]; const isDisabled = this._tools[0].select(state, activeView);