From 9bb020d179458a9da21ca317834789e46cce900c Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Fri, 15 Oct 2021 19:26:49 +0300
Subject: [PATCH] disable proper tools in progress

---
 .../components/EditorComponent.js                  |  2 +-
 wax-prosemirror-services/src/ImageService/Image.js |  7 ++++---
 .../ListsService/BulletListService/BulletList.js   |  2 +-
 .../ListsService/OrderedListService/OrderedList.js |  2 +-
 .../MultipleChoiceQuestion.js                      |  4 +++-
 .../components/EditorComponent.js                  |  2 +-
 .../components/FeedbackComponent.js                | 14 ++++++++------
 .../components/ToolBarBtn.js                       |  4 ++--
 wax-prosemirror-services/src/NoteService/Editor.js |  2 +-
 .../src/TablesService/InsertTableService/Table.js  |  2 +-
 10 files changed, 23 insertions(+), 18 deletions(-)

diff --git a/wax-prosemirror-services/src/FillTheGapQuestionService/components/EditorComponent.js b/wax-prosemirror-services/src/FillTheGapQuestionService/components/EditorComponent.js
index c22ffae92..be561aa3c 100644
--- a/wax-prosemirror-services/src/FillTheGapQuestionService/components/EditorComponent.js
+++ b/wax-prosemirror-services/src/FillTheGapQuestionService/components/EditorComponent.js
@@ -91,7 +91,7 @@ const EditorComponent = ({ node, view, getPos }) => {
         }),
         // This is the magic part
         dispatchTransaction,
-        disallowedTools: ['images', 'lists', 'lift'],
+        disallowedTools: ['Images', 'Lists', 'lift'],
         handleDOMEvents: {
           mousedown: () => {
             context.view[activeViewId].dispatch(
diff --git a/wax-prosemirror-services/src/ImageService/Image.js b/wax-prosemirror-services/src/ImageService/Image.js
index a5e792d5d..e383e8be4 100644
--- a/wax-prosemirror-services/src/ImageService/Image.js
+++ b/wax-prosemirror-services/src/ImageService/Image.js
@@ -1,3 +1,4 @@
+/* eslint-disable no-underscore-dangle */
 import React from 'react';
 import { v4 as uuidv4 } from 'uuid';
 import { isEmpty } from 'lodash';
@@ -20,7 +21,7 @@ class Image extends Tools {
 
   select = activeView => {
     const { disallowedTools } = activeView.props;
-    if (disallowedTools.includes('images')) return false;
+    if (disallowedTools.includes('Images')) return false;
     return true;
   };
 
@@ -39,9 +40,9 @@ class Image extends Tools {
     );
     return this._isDisplayed ? (
       <ImageUpload
-        key={uuidv4()}
-        item={this.toJSON()}
         fileUpload={upload}
+        item={this.toJSON()}
+        key={uuidv4()}
         view={view}
       />
     ) : null;
diff --git a/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js b/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
index 36e603815..4830df167 100644
--- a/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
+++ b/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
@@ -26,7 +26,7 @@ class BulletList extends Tools {
 
   select = (state, activeViewId, activeView) => {
     const { disallowedTools } = activeView.props;
-    if (disallowedTools.includes('lists')) return false;
+    if (disallowedTools.includes('Lists')) return false;
     return true;
   };
 
diff --git a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
index d0b2119a5..82731bacb 100644
--- a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
+++ b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
@@ -24,7 +24,7 @@ class OrderedList extends Tools {
 
   select = (state, activeViewId, activeView) => {
     const { disallowedTools } = activeView.props;
-    if (disallowedTools.includes('lists')) return false;
+    if (disallowedTools.includes('Lists')) return false;
     return true;
   };
 
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
index 804302a44..a8e8821ca 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/MultipleChoiceQuestion.js
@@ -30,7 +30,9 @@ class MultipleChoiceQuestion extends Tools {
     return state => {};
   }
 
-  select = (state, activeViewId) => {
+  select = (state, activeViewId, activeView) => {
+    const { disallowedTools } = activeView.props;
+    if (disallowedTools.includes('MultipleChoice')) return false;
     let status = true;
     const { from, to } = state.selection;
     state.doc.nodesBetween(from, to, (node, pos) => {
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js
index ee1b48dea..ca16b28ec 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/EditorComponent.js
@@ -97,7 +97,7 @@ const EditorComponent = ({ node, view, getPos }) => {
         }),
         // This is the magic part
         dispatchTransaction,
-        disallowedTools: ['images', 'lists', 'lift'],
+        disallowedTools: ['Images', 'Lists', 'lift', 'MultipleChoice'],
         handleDOMEvents: {
           mousedown: () => {
             context.view[activeViewId].dispatch(
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/FeedbackComponent.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/FeedbackComponent.js
index bd5c9537f..b7e2a9d47 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/FeedbackComponent.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/FeedbackComponent.js
@@ -1,4 +1,6 @@
-/* eslint-disable react-hooks/exhaustive-deps */
+/* eslint-disable react/destructuring-assignment */
+/* eslint-disable react/prop-types */
+
 import React, { useContext, useRef, useState, useEffect } from 'react';
 import styled from 'styled-components';
 import { TextSelection } from 'prosemirror-state';
@@ -44,7 +46,7 @@ export default ({ node, view, getPos }) => {
     if (e.key === 'Backspace') {
       context.view.main.dispatch(
         context.view.main.state.tr.setSelection(
-          new TextSelection(context.view.main.state.tr.doc.resolve(0)),
+          TextSelection.create(context.view.main.state.tr.doc, 0),
         ),
       );
     }
@@ -73,7 +75,7 @@ export default ({ node, view, getPos }) => {
   const onFocus = () => {
     context.view.main.dispatch(
       context.view.main.state.tr.setSelection(
-        new TextSelection(context.view.main.state.tr.doc.resolve(0)),
+        TextSelection.create(context.view.main.state.tr.doc, 0),
       ),
     );
   };
@@ -82,14 +84,14 @@ export default ({ node, view, getPos }) => {
     <FeedBack>
       <FeedBackLabel>Feedback</FeedBackLabel>
       <FeedBackInput
-        onKeyDown={handleKeyDown}
+        onBlur={saveFeedBack}
         onChange={feedBackInput}
+        onFocus={onFocus}
+        onKeyDown={handleKeyDown}
         placeholder="Insert feedback"
         ref={feedBackRef}
         type="text"
         value={feedBack}
-        onBlur={saveFeedBack}
-        onFocus={onFocus}
       />
     </FeedBack>
   );
diff --git a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/ToolBarBtn.js b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/ToolBarBtn.js
index 110af71c7..4441a5e25 100644
--- a/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/ToolBarBtn.js
+++ b/wax-prosemirror-services/src/MultipleChoiceQuestionService/components/ToolBarBtn.js
@@ -44,8 +44,8 @@ const ToolBarBtn = ({ view = {}, item }) => {
   const createOption = () => {
     const { state, dispatch } = main;
     /* Create Wrapping */
-    let { $from, $to } = state.selection;
-    let range = $from.blockRange($to);
+    const { $from, $to } = state.selection;
+    const range = $from.blockRange($to);
 
     wrapIn(state.config.schema.nodes.multiple_choice_container, {
       id: uuidv4(),
diff --git a/wax-prosemirror-services/src/NoteService/Editor.js b/wax-prosemirror-services/src/NoteService/Editor.js
index 42a65453d..5fffc0b55 100644
--- a/wax-prosemirror-services/src/NoteService/Editor.js
+++ b/wax-prosemirror-services/src/NoteService/Editor.js
@@ -37,7 +37,7 @@ export default ({ node, view }) => {
         }),
         // This is the magic part
         dispatchTransaction,
-        disallowedTools: ['tables', 'images'],
+        disallowedTools: ['Tables', 'Images'],
         handleDOMEvents: {
           blur: () => {
             if (context.view[noteId]) {
diff --git a/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js b/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js
index 2ac2d69ab..44dc54604 100644
--- a/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js
+++ b/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js
@@ -21,7 +21,7 @@ class Table extends Tools {
 
   select = activeView => {
     const { disallowedTools } = activeView.props;
-    if (disallowedTools.includes('tables')) return false;
+    if (disallowedTools.includes('Tables')) return false;
     return true;
   };
 
-- 
GitLab