From 832b25ec8db1aa23693dbdec7afae6737f60e332 Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Thu, 9 Nov 2023 12:59:49 +0200 Subject: [PATCH] pass id to component --- editors/demo/src/HHMI/config/config.js | 4 -- .../components/EditorComponent.js | 2 + .../NumericalAnswerDropDown.js | 37 ------------------- .../NumericalAnswerDropDownService.js | 13 ------- .../NumericalAnswerService.js | 3 -- .../NumericalAnswer.js | 13 ------- .../NumericalAnswerToolGroupService.js | 10 ----- .../NumericalAnswerContainerComponent.js | 21 +++++------ .../NumericalAnswerDropDownCompontent.js | 5 ++- 9 files changed, 16 insertions(+), 92 deletions(-) delete mode 100644 wax-questions-service/src/NumericalAnswerService/NumericalAnswerDropDownService/NumericalAnswerDropDown.js delete mode 100644 wax-questions-service/src/NumericalAnswerService/NumericalAnswerDropDownService/NumericalAnswerDropDownService.js delete mode 100644 wax-questions-service/src/NumericalAnswerService/NumericalAnswerToolGroupService/NumericalAnswer.js delete mode 100644 wax-questions-service/src/NumericalAnswerService/NumericalAnswerToolGroupService/NumericalAnswerToolGroupService.js diff --git a/editors/demo/src/HHMI/config/config.js b/editors/demo/src/HHMI/config/config.js index d4f24e412..163f21462 100644 --- a/editors/demo/src/HHMI/config/config.js +++ b/editors/demo/src/HHMI/config/config.js @@ -53,10 +53,6 @@ export default { templateArea: 'MultipleDropDown', toolGroups: ['MultipleDropDown'], }, - { - templateArea: 'NumericalAnswer', - toolGroups: ['NumericalAnswer'], - }, ], SchemaService: DefaultSchema, diff --git a/wax-questions-service/src/MultipleChoiceQuestionService/components/EditorComponent.js b/wax-questions-service/src/MultipleChoiceQuestionService/components/EditorComponent.js index 0d1cc820a..24d4bfbf4 100644 --- a/wax-questions-service/src/MultipleChoiceQuestionService/components/EditorComponent.js +++ b/wax-questions-service/src/MultipleChoiceQuestionService/components/EditorComponent.js @@ -67,6 +67,7 @@ const QuestionEditorComponent = ({ view, getPos, placeholderText = 'Type your item', + QuestionType = 'Multiple', }) => { const editorRef = useRef(); @@ -191,6 +192,7 @@ const QuestionEditorComponent = ({ } }, }, + type: QuestionType, scrollMargin: 200, scrollThreshold: 200, attributes: { diff --git a/wax-questions-service/src/NumericalAnswerService/NumericalAnswerDropDownService/NumericalAnswerDropDown.js b/wax-questions-service/src/NumericalAnswerService/NumericalAnswerDropDownService/NumericalAnswerDropDown.js deleted file mode 100644 index 380c11457..000000000 --- a/wax-questions-service/src/NumericalAnswerService/NumericalAnswerDropDownService/NumericalAnswerDropDown.js +++ /dev/null @@ -1,37 +0,0 @@ -import React from 'react'; -import { injectable } from 'inversify'; -import { isEmpty } from 'lodash'; -import { Tools } from 'wax-prosemirror-core'; -import NumericalAnswerDropDownCompontent from '../components/NumericalAnswerDropDownCompontent'; - -@injectable() -class NumericalAnswerDropDown extends Tools { - title = 'Select Numerical Answer Option'; - icon = ''; - name = 'Select Numerical Answer'; - label = 'Select Numerical Answer'; - - get run() { - return (state, dispatch) => {}; - } - - select = (state, activeViewId, activeView) => { - if (activeView.props.type && activeView.props.type === 'filltheGapContaier') - return true; - - return false; - }; - - renderTool(view) { - if (isEmpty(view)) return null; - return this.isDisplayed() ? ( - <NumericalAnswerDropDownCompontent - item={this.toJSON()} - key="numerical-answer-options" - view={view} - /> - ) : null; - } -} - -export default NumericalAnswerDropDown; diff --git a/wax-questions-service/src/NumericalAnswerService/NumericalAnswerDropDownService/NumericalAnswerDropDownService.js b/wax-questions-service/src/NumericalAnswerService/NumericalAnswerDropDownService/NumericalAnswerDropDownService.js deleted file mode 100644 index 3ac405e5b..000000000 --- a/wax-questions-service/src/NumericalAnswerService/NumericalAnswerDropDownService/NumericalAnswerDropDownService.js +++ /dev/null @@ -1,13 +0,0 @@ -import { Service } from 'wax-prosemirror-core'; -import NumericalAnswerDropDown from './NumericalAnswerDropDown'; -import NumericalAnswerToolGroupService from '../NumericalAnswerToolGroupService/NumericalAnswerToolGroupService'; - -class NumericalAnswerDropDownService extends Service { - register() { - this.container.bind('NumericalAnswerDropDown').to(NumericalAnswerDropDown); - } - - dependencies = [new NumericalAnswerToolGroupService()]; -} - -export default NumericalAnswerDropDownService; diff --git a/wax-questions-service/src/NumericalAnswerService/NumericalAnswerService.js b/wax-questions-service/src/NumericalAnswerService/NumericalAnswerService.js index a2c348072..bb867dfa2 100644 --- a/wax-questions-service/src/NumericalAnswerService/NumericalAnswerService.js +++ b/wax-questions-service/src/NumericalAnswerService/NumericalAnswerService.js @@ -3,7 +3,6 @@ import NumericalAnswerContainerNode from './schema/NumericalAnswerContainerNode' import NumericalAnswerQuestion from './NumericalAnswerQuestion'; import NumericalAnswerContainerNodeView from './NumericalAnswerContainerNodeView'; import NumericalAnswerContainerComponent from './components/NumericalAnswerContainerComponent'; -import NumericalAnswerDropDownService from './NumericalAnswerDropDownService/NumericalAnswerDropDownService'; import './numericalAnswer.css'; class NumericalAnswerService extends Service { @@ -22,8 +21,6 @@ class NumericalAnswerService extends Service { context: this.app, }); } - - dependencies = [new NumericalAnswerDropDownService()]; } export default NumericalAnswerService; diff --git a/wax-questions-service/src/NumericalAnswerService/NumericalAnswerToolGroupService/NumericalAnswer.js b/wax-questions-service/src/NumericalAnswerService/NumericalAnswerToolGroupService/NumericalAnswer.js deleted file mode 100644 index 210dc52f2..000000000 --- a/wax-questions-service/src/NumericalAnswerService/NumericalAnswerToolGroupService/NumericalAnswer.js +++ /dev/null @@ -1,13 +0,0 @@ -import { injectable, inject } from 'inversify'; -import { ToolGroup } from 'wax-prosemirror-core'; - -@injectable() -class NumericalAnswer extends ToolGroup { - tools = []; - constructor(@inject('NumericalAnswerDropDown') NumericalAnswerDropDown) { - super(); - this.tools = [NumericalAnswerDropDown]; - } -} - -export default NumericalAnswer; diff --git a/wax-questions-service/src/NumericalAnswerService/NumericalAnswerToolGroupService/NumericalAnswerToolGroupService.js b/wax-questions-service/src/NumericalAnswerService/NumericalAnswerToolGroupService/NumericalAnswerToolGroupService.js deleted file mode 100644 index d18bd11a9..000000000 --- a/wax-questions-service/src/NumericalAnswerService/NumericalAnswerToolGroupService/NumericalAnswerToolGroupService.js +++ /dev/null @@ -1,10 +0,0 @@ -import { Service } from 'wax-prosemirror-core'; -import NumericalAnswer from './NumericalAnswer'; - -class NumericalAnswerToolGroupService extends Service { - register() { - this.container.bind('NumericalAnswer').to(NumericalAnswer); - } -} - -export default NumericalAnswerToolGroupService; diff --git a/wax-questions-service/src/NumericalAnswerService/components/NumericalAnswerContainerComponent.js b/wax-questions-service/src/NumericalAnswerService/components/NumericalAnswerContainerComponent.js index f3a1381c0..759259341 100644 --- a/wax-questions-service/src/NumericalAnswerService/components/NumericalAnswerContainerComponent.js +++ b/wax-questions-service/src/NumericalAnswerService/components/NumericalAnswerContainerComponent.js @@ -1,13 +1,9 @@ import React, { useContext } from 'react'; -import { - WaxContext, - ComponentPlugin, - DocumentHelpers, - Icon, -} from 'wax-prosemirror-core'; +import { WaxContext, DocumentHelpers, Icon } from 'wax-prosemirror-core'; import styled from 'styled-components'; import EditorComponent from '../../MultipleChoiceQuestionService/components/EditorComponent'; import FeedbackComponent from '../../MultipleChoiceQuestionService/components/FeedbackComponent'; +import NumericalAnswerDropDownCompontent from './NumericalAnswerDropDownCompontent'; import ExactAnswerComponent from './ExactAnswerComponent'; import PreciseAnswerComponent from './PreciseAnswerComponent'; import RangeAnswerComponent from './RangeAnswerComponent'; @@ -43,7 +39,7 @@ const ActionButton = styled.button` margin-top: 16px; border: none; position: relative; - bottom: 14px; + bottom: 40px; left: -11px; float: right; `; @@ -61,8 +57,6 @@ export default ({ node, view, getPos }) => { } = context; const { numericalAnswer } = options; - const NumericalAnswerTool = ComponentPlugin('NumericalAnswer'); - const customProps = main.props.customValues; const { testMode } = customProps; @@ -92,7 +86,7 @@ export default ({ node, view, getPos }) => { <div> {!testMode && !readOnly && ( <NumericalAnswerContainerTool> - <NumericalAnswerTool /> + <NumericalAnswerDropDownCompontent nodeId={node.attrs.id} /> <ActionButton aria-label="delete this question" onClick={removeQuestion} @@ -104,7 +98,12 @@ export default ({ node, view, getPos }) => { )} </div> <NumericalAnswerContainer className="numerical-answer"> - <EditorComponent getPos={getPos} node={node} view={view} /> + <EditorComponent + getPos={getPos} + node={node} + type="NumericalAnswer" + view={view} + /> <NumericalAnswerOption> {!numericalAnswer && <>No Type Selected</>} {numericalAnswer === 'exactAnswer' && <ExactAnswerComponent />} diff --git a/wax-questions-service/src/NumericalAnswerService/components/NumericalAnswerDropDownCompontent.js b/wax-questions-service/src/NumericalAnswerService/components/NumericalAnswerDropDownCompontent.js index d15511dd7..61efd0d2a 100644 --- a/wax-questions-service/src/NumericalAnswerService/components/NumericalAnswerDropDownCompontent.js +++ b/wax-questions-service/src/NumericalAnswerService/components/NumericalAnswerDropDownCompontent.js @@ -21,6 +21,8 @@ const DropDownButton = styled.button` cursor: ${props => (props.disabled ? 'not-allowed' : 'pointer')}; display: flex; position: relative; + top: 2px; + left: 3px; width: 235px; height: 26px; @@ -66,7 +68,8 @@ const StyledIcon = styled(Icon)` position: relative; `; -const NumericalAnswerDropDownCompontent = ({ view = {}, item }) => { +const NumericalAnswerDropDownCompontent = ({ nodeId }) => { + console.log(nodeId); const dropDownOptions = [ { label: 'Exact answer with margin of error', -- GitLab