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