From 3c66a9c299e228e797c26b3ae8737738cda0e668 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Thu, 18 Feb 2021 23:03:36 +0200
Subject: [PATCH] pass update track status to editoria

---
 editors/editoria/src/config/config.js         |  6 ++++-
 wax-prosemirror-components/package.json       |  2 +-
 .../CustomTagInlineOverlayCompoment.js        | 24 +++++++++++++++----
 .../EditingSuggestingDropDown.js              | 14 ++++++-----
 wax-prosemirror-core/package.json             |  2 +-
 wax-prosemirror-plugins/package.json          |  2 +-
 wax-prosemirror-schema/package.json           |  2 +-
 wax-prosemirror-services/package.json         |  2 +-
 wax-prosemirror-utilities/package.json        |  2 +-
 9 files changed, 39 insertions(+), 17 deletions(-)

diff --git a/editors/editoria/src/config/config.js b/editors/editoria/src/config/config.js
index 96bdb592b..b6b0b6be8 100644
--- a/editors/editoria/src/config/config.js
+++ b/editors/editoria/src/config/config.js
@@ -62,6 +62,10 @@ const saveTags = tags => {
   // console.log(tags);
 };
 
+const updateTrackStatus = status => {
+  // console.log('status', status);
+};
+
 export default {
   MenuService: [
     {
@@ -109,7 +113,7 @@ export default {
   TitleService: { updateTitle },
   RulesService: [emDash, ellipsis],
   ShortCutsService: {},
-  EnableTrackChangeService: { enabled: false, toggle: true },
+  EnableTrackChangeService: { enabled: false, toggle: true, updateTrackStatus },
   AcceptTrackChangeService: {
     own: {
       accept: true,
diff --git a/wax-prosemirror-components/package.json b/wax-prosemirror-components/package.json
index 7cc027023..4d46af184 100644
--- a/wax-prosemirror-components/package.json
+++ b/wax-prosemirror-components/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.30",
   "description": "Wax prosemirror UI components",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "files": [
     "dist"
   ],
diff --git a/wax-prosemirror-components/src/components/customtag/CustomTagInlineOverlayCompoment.js b/wax-prosemirror-components/src/components/customtag/CustomTagInlineOverlayCompoment.js
index 3b6b0c98e..7f293860a 100644
--- a/wax-prosemirror-components/src/components/customtag/CustomTagInlineOverlayCompoment.js
+++ b/wax-prosemirror-components/src/components/customtag/CustomTagInlineOverlayCompoment.js
@@ -69,8 +69,13 @@ const Flex = styled.div`
   display: flex;
   justify-content: space-between;
 `;
+const ItemActive = styled.div`
+  color: #006f19;
+  width: 90%;
+`;
 
-const ItemWrapper = styled.div`
+const Item = styled.div`
+  cursor: pointer;
   width: 100%;
 `;
 
@@ -180,6 +185,14 @@ const CustomTagInlineOverlayComponent = ({ mark, setPosition, position }) => {
     return tag.tagType === 'inline';
   });
 
+  const disabledStyles = {
+    cursor: 'default',
+    opacity: '0.4',
+    pointerEvents: 'none',
+  };
+
+  const styles = $from.pos === $to.pos ? disabledStyles : {};
+
   return isCustomTagInline === true ? (
     <Wrapper>
       <InlineHeader>Custom Inline</InlineHeader>
@@ -188,11 +201,14 @@ const CustomTagInlineOverlayComponent = ({ mark, setPosition, position }) => {
           <ListStyle key={uuidv4()}>
             <Flex>
               {mark && mark.attrs.tags.includes(item.label) ? (
-                <ItemWrapper>{item.label}</ItemWrapper>
+                <ItemActive>{item.label}</ItemActive>
               ) : (
-                <ItemWrapper onMouseDown={() => addToSelection(item.label)}>
+                <Item
+                  onMouseDown={() => addToSelection(item.label)}
+                  style={styles}
+                >
                   {item.label}
-                </ItemWrapper>
+                </Item>
               )}
 
               {mark &&
diff --git a/wax-prosemirror-components/src/components/editingSuggesting/EditingSuggestingDropDown.js b/wax-prosemirror-components/src/components/editingSuggesting/EditingSuggestingDropDown.js
index 5ac65f9e2..7d639b5e9 100644
--- a/wax-prosemirror-components/src/components/editingSuggesting/EditingSuggestingDropDown.js
+++ b/wax-prosemirror-components/src/components/editingSuggesting/EditingSuggestingDropDown.js
@@ -77,25 +77,27 @@ const dropDownOptions = [
 
 const EditingSuggesting = ({ view: { dispatch, state }, item }) => {
   const { app, activeView, view } = useContext(WaxContext);
-  const isDisabled = app.config.get('config.EnableTrackChangeService').toggle;
+  const enableService = app.config.get('config.EnableTrackChangeService');
+  const isDisabled = enableService.toggle;
 
   const isEditable = view.main.props.editable(editable => {
     return editable;
   });
 
   const enableDisableTrackChanges = () => {
-    app.config.get('config.EnableTrackChangeService').enabled = !app.config.get(
-      'config.EnableTrackChangeService',
-    ).enabled;
+    enableService.enabled = !enableService.enabled;
+    if (enableService.updateTrackStatus)
+      enableService.updateTrackStatus(enableService.enabled);
+
     setTimeout(() => {
       activeView.focus();
     }, 100);
   };
 
   const selectedOption = () => {
-    if (app.config.get('config.EnableTrackChangeService').enabled)
+    if (enableService.enabled) {
       return dropDownOptions[1];
-
+    }
     return dropDownOptions[0];
   };
 
diff --git a/wax-prosemirror-core/package.json b/wax-prosemirror-core/package.json
index b75e41b66..a24cafd74 100644
--- a/wax-prosemirror-core/package.json
+++ b/wax-prosemirror-core/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.30",
   "description": "Wax prosemirror core",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "files": [
     "dist"
   ],
diff --git a/wax-prosemirror-plugins/package.json b/wax-prosemirror-plugins/package.json
index 449d80aa6..f1e9e5afc 100644
--- a/wax-prosemirror-plugins/package.json
+++ b/wax-prosemirror-plugins/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.30",
   "description": "Wax prosemirror plugins",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "files": [
     "dist"
   ],
diff --git a/wax-prosemirror-schema/package.json b/wax-prosemirror-schema/package.json
index 0efa38378..b3a25ac2e 100644
--- a/wax-prosemirror-schema/package.json
+++ b/wax-prosemirror-schema/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.30",
   "description": "Wax prosemirror schema",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "files": [
     "dist"
   ],
diff --git a/wax-prosemirror-services/package.json b/wax-prosemirror-services/package.json
index 59707d754..fa47bb8b6 100644
--- a/wax-prosemirror-services/package.json
+++ b/wax-prosemirror-services/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.30",
   "description": "Wax prosemirror services",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "files": [
     "dist"
   ],
diff --git a/wax-prosemirror-utilities/package.json b/wax-prosemirror-utilities/package.json
index 17e0357d0..c3155805c 100644
--- a/wax-prosemirror-utilities/package.json
+++ b/wax-prosemirror-utilities/package.json
@@ -4,7 +4,7 @@
   "version": "0.0.30",
   "description": "Wax prosemirror utilities",
   "license": "MIT",
-  "main": "index.js",
+  "main": "dist/index.js",
   "files": [
     "dist"
   ],
-- 
GitLab