From 1b8bea13dca1b236ea09c6f22bc188660caa8b1a Mon Sep 17 00:00:00 2001 From: chris <kokosias@yahoo.gr> Date: Sun, 29 Jan 2023 05:37:46 +0200 Subject: [PATCH] expiremental filter transaction --- .../MultipleChoiceQuestionService.js | 8 +++++++ .../plugins/MoveCursorPlugin.js | 21 +++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 wax-prosemirror-services/src/MultipleChoiceQuestionService/plugins/MoveCursorPlugin.js diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js index d27735b7f..8b36b9924 100644 --- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestionService.js @@ -12,8 +12,16 @@ import MultipleChoiceSingleCorrectQuestionService from './MultipleChoiceSingleCo import TrueFalseQuestionService from './TrueFalseQuestionService/TrueFalseQuestionService'; import TrueFalseSingleCorrectQuestionService from './TrueFalseSingleCorrectQuestionService/TrueFalseSingleCorrectQuestionService'; import './multipleQuestionStyles.css'; +import MoveCursorPlugin from './plugins/MoveCursorPlugin'; class MultipleChoiceQuestionService extends Service { + boot() { + this.app.PmPlugins.add( + 'moveCursorPlugin', + MoveCursorPlugin('moveCursorPlugin'), + ); + } + register() { this.container.bind('MultipleChoiceQuestion').to(MultipleChoiceQuestion); const createNode = this.container.get('CreateNode'); diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/plugins/MoveCursorPlugin.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/plugins/MoveCursorPlugin.js new file mode 100644 index 000000000..2b910dffd --- /dev/null +++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/plugins/MoveCursorPlugin.js @@ -0,0 +1,21 @@ +import { Plugin, PluginKey } from 'prosemirror-state'; + +const testPlugin = new PluginKey('moveCursorPlugin'); + +export default () => { + return new Plugin({ + key: testPlugin, + filterTransaction: (transaction, state) => { + // if ( + // transaction.getMeta('fromOutside') && + // transaction.doc && + // transaction.doc.type && + // transaction.doc.type.name === 'multiple_drop_down_container' + // ) { + // return false; + // } + + return true; + }, + }); +}; -- GitLab