diff --git a/editors/demo/package.json b/editors/demo/package.json index b5f7470d3b95176afb8d056c4bd82f017f3a48d4..15a482e6c9733d2f58437ead02b13c07dc09211f 100644 --- a/editors/demo/package.json +++ b/editors/demo/package.json @@ -8,7 +8,6 @@ "@pubsweet/ui-toolkit": "^2.3.1", "antd": "^4.15.4", "fontsource-merriweather": "^3.0.9", - "prosemirror-schema-basic": "^1.1.2", "prosemirror-tables": "^1.1.1", "react": "^16.13.1", "react-dom": "^16.13.1", diff --git a/editors/demo/src/Editors.js b/editors/demo/src/Editors.js index abd0628fb70695fdd171c22a2956784070ef3345..d19991a2ed8613a7f85ed0fed95a7dc6ef294736 100644 --- a/editors/demo/src/Editors.js +++ b/editors/demo/src/Editors.js @@ -70,7 +70,7 @@ const Editors = () => { case 'ncbi': return <NCBI />; default: - return <Editoria />; + return <HHMI />; } }; diff --git a/editors/demo/src/HHMI/FillTheGapQuestionService/schema/fillTheGapContainerNode.js b/editors/demo/src/HHMI/FillTheGapQuestionService/schema/fillTheGapContainerNode.js new file mode 100644 index 0000000000000000000000000000000000000000..6f1a76ec2fec74c445b33e5fe7daf92b8544ec7a --- /dev/null +++ b/editors/demo/src/HHMI/FillTheGapQuestionService/schema/fillTheGapContainerNode.js @@ -0,0 +1,26 @@ +const fillTheGapContainerNode = { + attrs: { + id: { default: '' }, + class: { default: 'fill-the-gap' }, + }, + group: 'block', + selectable: true, + draggable: true, + content: 'block+', + parseDOM: [ + { + tag: 'div.fill-the-gap', + getAttrs(dom) { + return { + id: dom.dataset.id, + class: dom.getAttribute('class'), + }; + }, + }, + ], + toDOM(node) { + return ['div', node.attrs, 0]; + }, +}; + +export default fillTheGapContainerNode; diff --git a/editors/demo/src/HHMI/FillTheGapQuestionService/schema/fillTheGapNode.js b/editors/demo/src/HHMI/FillTheGapQuestionService/schema/fillTheGapNode.js new file mode 100644 index 0000000000000000000000000000000000000000..5443c358ec6da04248a585a388f346a7ce879d92 --- /dev/null +++ b/editors/demo/src/HHMI/FillTheGapQuestionService/schema/fillTheGapNode.js @@ -0,0 +1,3 @@ +const fillTheGapNode = {}; + +export default fillTheGapNode; diff --git a/editors/demo/src/HHMI/HHMI.js b/editors/demo/src/HHMI/HHMI.js index 15a9a7e47de12d2b120815ac9f530d1b82845ae9..6c25d26054957c4261cc9cf6b20a7b0be37a0104 100644 --- a/editors/demo/src/HHMI/HHMI.js +++ b/editors/demo/src/HHMI/HHMI.js @@ -24,7 +24,7 @@ const Hhmi = () => { config={config} autoFocus fileUpload={file => renderImage(file)} - value={t} + value="" // readonly layout={HhmiLayout} // onChange={source => console.log(source)} diff --git a/editors/demo/src/HHMI/config/config.js b/editors/demo/src/HHMI/config/config.js index 96fb850d78583d6934de36b8a1d57e1c30827873..95fe5eeed5a9d213b3379acd4924ccf1abd152a4 100644 --- a/editors/demo/src/HHMI/config/config.js +++ b/editors/demo/src/HHMI/config/config.js @@ -20,6 +20,8 @@ import { SpecialCharactersToolGroupService, EditorInfoToolGroupServices, BottomInfoService, + MultipleChoiceQuestionService, + QuestionsToolGroupService, } from 'wax-prosemirror-services'; import { DefaultSchema } from 'wax-prosemirror-utilities'; @@ -27,8 +29,8 @@ import { WaxSelectionPlugin } from 'wax-prosemirror-plugins'; import invisibles, { hardBreak } from '@guardian/prosemirror-invisibles'; /* Questions Services */ -import MultipleChoiceQuestionService from '../MultipleChoiceQuestionService/MultipleChoiceQuestionService'; -import QuestionsToolGroupService from '../QuestionsToolGroupService/QuestionsToolGroupService'; +// import MultipleChoiceQuestionService from '../MultipleChoiceQuestionService/MultipleChoiceQuestionService'; +// import QuestionsToolGroupService from '../QuestionsToolGroupService/QuestionsToolGroupService'; export default { MenuService: [ diff --git a/wax-prosemirror-core/src/WaxView.js b/wax-prosemirror-core/src/WaxView.js index c8c2b38095f1b0b7686026a3b9600e49bba52fef..45bb91c6fe331e8adf704fea3d7856536be76bb4 100644 --- a/wax-prosemirror-core/src/WaxView.js +++ b/wax-prosemirror-core/src/WaxView.js @@ -44,7 +44,6 @@ export default props => { if (!mounted) { context.app.bootServices(); - console.log(context); } const setEditorRef = useCallback( diff --git a/wax-prosemirror-services/index.js b/wax-prosemirror-services/index.js index c05ff12dde7d1cd77161ffef63e7d967defeb68e..0ea0ee27c545724d96c6ff5edc46a48556521b24 100644 --- a/wax-prosemirror-services/index.js +++ b/wax-prosemirror-services/index.js @@ -44,6 +44,7 @@ export { default as TrackOptionsService } from './src/TrackOptionsService/TrackO export { default as CustomTagInlineService } from './src/CustomTagService/CustomTagInlineService/CustomTagInlineService'; export { default as CustomTagBlockService } from './src/CustomTagService/CustomTagBlockService/CustomTagBlockService'; export { default as CustomTagService } from './src/CustomTagService/CustomTagService'; +export { default as MultipleChoiceQuestionService } from './src/MultipleChoiceQuestionService/MultipleChoiceQuestionService'; /* ToolGroups @@ -69,3 +70,4 @@ export { default as TrackOptionsToolGroupService } from './src/WaxToolGroups/Tra export { default as TrackCommentOptionsToolGroupService } from './src/WaxToolGroups/TrackCommentOptionsToolGroupService/TrackCommentOptionsToolGroupService'; export { default as CustomTagInlineToolGroupService } from './src/WaxToolGroups/CustomTagToolGroupService/CustomTagInlineToolGroupService/CustomTagInlineToolGroupService'; export { default as CustomTagBlockToolGroupService } from './src/WaxToolGroups/CustomTagToolGroupService/CustomTagBlockToolGroupService/CustomTagBlockToolGroupService'; +export { default as QuestionsToolGroupService } from './src/WaxToolGroups/QuestionsToolGroupService/QuestionsToolGroupService'; diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceNodeView.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceNodeView.js similarity index 91% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceNodeView.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceNodeView.js index 78fbc24122e39d40bd512f0270ccd3a566a44e2f..742da845512a1469c261615dbcb1626ca245a228 100644 --- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceNodeView.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceNodeView.js @@ -1,5 +1,4 @@ -import { nodes } from 'prosemirror-schema-basic'; -import { AbstractNodeView } from 'wax-prosemirror-services'; +import AbstractNodeView from '../PortalService/AbstractNodeView'; export default class MultipleChoiceNodeView extends AbstractNodeView { constructor( @@ -18,6 +17,7 @@ export default class MultipleChoiceNodeView extends AbstractNodeView { this.getPos = getPos; this.context = context; } + static name() { return 'multiple_choice'; } diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js similarity index 97% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js index 735ab1857f2a37ae33269e5306d192000d09d350..6ffe599ba02feb580f125d2217e67025235e3c8c 100644 --- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestion.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js @@ -1,10 +1,9 @@ import React from 'react'; import { isEmpty } from 'lodash'; import { injectable } from 'inversify'; -import { Tools } from 'wax-prosemirror-services'; import { Commands } from 'wax-prosemirror-utilities'; - import { v4 as uuidv4 } from 'uuid'; +import Tools from '../lib/Tools'; import ToolBarBtn from './components/ToolBarBtn'; const checkifEmpty = view => { diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js similarity index 94% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js index 1101b7e124eb6287b3a5945da6503dd58f25e183..4df5be64aec344cd2f9d908946b21811bf7282cf 100644 --- a/editors/demo/src/HHMI/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js @@ -1,4 +1,4 @@ -import { Service } from 'wax-prosemirror-services'; +import Service from '../Service'; import MultipleChoiceQuestion from './MultipleChoiceQuestion'; import multipleChoiceNode from './schema/multipleChoiceNode'; import multipleChoiceContainerNode from './schema/multipleChoiceContainerNode'; diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/Button.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/Button.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/components/Button.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/components/Button.js diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/EditorComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/components/EditorComponent.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/FeedbackComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/FeedbackComponent.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/components/FeedbackComponent.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/components/FeedbackComponent.js diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/QuestionComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/QuestionComponent.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/components/QuestionComponent.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/components/QuestionComponent.js diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/Switch.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/Switch.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/components/Switch.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/components/Switch.js diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/SwitchComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/SwitchComponent.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/components/SwitchComponent.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/components/SwitchComponent.js diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/components/ToolBarBtn.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/ToolBarBtn.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/components/ToolBarBtn.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/components/ToolBarBtn.js diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/helpers/helpers.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/helpers/helpers.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/helpers/helpers.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/helpers/helpers.js diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/plugins/placeholder.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/plugins/placeholder.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/plugins/placeholder.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/plugins/placeholder.js diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceContainerNode.js diff --git a/editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceNode.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js similarity index 100% rename from editors/demo/src/HHMI/MultipleChoiceQuestionService/schema/multipleChoiceNode.js rename to wax-prosemirror-services/src/MultipleChoiceQuestionService/schema/multipleChoiceNode.js diff --git a/editors/demo/src/HHMI/QuestionsToolGroupService/Questions.js b/wax-prosemirror-services/src/WaxToolGroups/QuestionsToolGroupService/Questions.js similarity index 83% rename from editors/demo/src/HHMI/QuestionsToolGroupService/Questions.js rename to wax-prosemirror-services/src/WaxToolGroups/QuestionsToolGroupService/Questions.js index 51d123699336e9578825d08742bac60f9e746c93..8b9b9eada607a08c6bc9937f5257a696b57d98af 100644 --- a/editors/demo/src/HHMI/QuestionsToolGroupService/Questions.js +++ b/wax-prosemirror-services/src/WaxToolGroups/QuestionsToolGroupService/Questions.js @@ -1,5 +1,5 @@ import { injectable, inject } from 'inversify'; -import { ToolGroup } from 'wax-prosemirror-services'; +import ToolGroup from '../../lib/ToolGroup'; @injectable() class Questions extends ToolGroup { diff --git a/editors/demo/src/HHMI/QuestionsToolGroupService/QuestionsToolGroupService.js b/wax-prosemirror-services/src/WaxToolGroups/QuestionsToolGroupService/QuestionsToolGroupService.js similarity index 79% rename from editors/demo/src/HHMI/QuestionsToolGroupService/QuestionsToolGroupService.js rename to wax-prosemirror-services/src/WaxToolGroups/QuestionsToolGroupService/QuestionsToolGroupService.js index daaed80e70273035541d32a6cbbd9854a884e8ae..f5b68c449e652bc226bad710d132b21c55ec9277 100644 --- a/editors/demo/src/HHMI/QuestionsToolGroupService/QuestionsToolGroupService.js +++ b/wax-prosemirror-services/src/WaxToolGroups/QuestionsToolGroupService/QuestionsToolGroupService.js @@ -1,4 +1,4 @@ -import { Service } from 'wax-prosemirror-services'; +import Service from '../../Service'; import Questions from './Questions'; class QuestionsToolGroupService extends Service { diff --git a/yarn.lock b/yarn.lock index dc8bff650811672fa47fc372e3f6e37f5b491db1..23b621cba92c0268478664bc11ed97b9b2ef8f62 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14772,7 +14772,7 @@ prosemirror-model@1.14.3, prosemirror-model@>=1.0.0, prosemirror-model@^1.0.0, p dependencies: orderedmap "^1.1.0" -prosemirror-schema-basic@^1.0.0, prosemirror-schema-basic@^1.1.2: +prosemirror-schema-basic@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/prosemirror-schema-basic/-/prosemirror-schema-basic-1.1.2.tgz#4bde5c339c845e0d08ec8fe473064e372ca51ae3" integrity sha512-G4q8WflNsR1Q33QAV4MQO0xWrHLOJ+BQcKswGXMy626wlQj6c/1n1v4eC9ns+h2y1r/fJHZEgSZnsNhm9lbrDw==