From d2cae67822560b933d684eccacef4942a15228c5 Mon Sep 17 00:00:00 2001
From: chris <kokosias@yahoo.gr>
Date: Tue, 23 Feb 2021 09:48:51 +0200
Subject: [PATCH] images fix

---
 .../customtag/CustomTagInlineOverlayCompoment.js      | 11 +++++++++--
 .../src/DisplayBlockLevel/HeadingService/Heading2.js  |  2 +-
 .../src/DisplayBlockLevel/HeadingService/Heading3.js  |  2 +-
 .../src/DisplayBlockLevel/HeadingService/Heading4.js  |  2 +-
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/wax-prosemirror-components/src/components/customtag/CustomTagInlineOverlayCompoment.js b/wax-prosemirror-components/src/components/customtag/CustomTagInlineOverlayCompoment.js
index aed8e0827..00187f37e 100644
--- a/wax-prosemirror-components/src/components/customtag/CustomTagInlineOverlayCompoment.js
+++ b/wax-prosemirror-components/src/components/customtag/CustomTagInlineOverlayCompoment.js
@@ -9,7 +9,6 @@ import React, {
 import styled from 'styled-components';
 import { grid, th } from '@pubsweet/ui-toolkit';
 import { WaxContext } from 'wax-prosemirror-core';
-import { DocumentHelpers } from 'wax-prosemirror-utilities';
 import { v4 as uuidv4 } from 'uuid';
 import Icon from '../../helpers/Icon';
 
@@ -104,12 +103,20 @@ const CustomTagInlineOverlayComponent = ({ mark, setPosition, position }) => {
     customTagsConfig && customTagsConfig.tags
       ? customTagsConfig.tags
       : initialArr;
+
   const saveTags =
     customTagsConfig && customTagsConfig.updateTags
       ? customTagsConfig.updateTags
       : () => true;
   const [allTags, setAllTags] = useState(configTags);
 
+  let image = false;
+  state.doc.nodesBetween($from.pos, $to.pos, (node, pos) => {
+    if (node.type.name === 'image') {
+      image = true;
+    }
+  });
+
   const onChangeTagName = () => {
     setInputValue(ref.current.value);
   };
@@ -193,7 +200,7 @@ const CustomTagInlineOverlayComponent = ({ mark, setPosition, position }) => {
 
   const styles = $from.pos === $to.pos ? disabledStyles : {};
 
-  return isCustomTagInline === true ? (
+  return isCustomTagInline === true && !image ? (
     <Wrapper>
       <InlineHeader>Custom Inline</InlineHeader>
       {inlineTags.map(item => {
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
index cb07816bf..3dd460550 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
@@ -24,7 +24,7 @@ class Heading2 extends Tools {
       if (activeViewId !== 'main') return false;
       const { from, to } = state.selection;
       state.doc.nodesBetween(from, to, (node, pos) => {
-        if (node.type.name === 'list_item') {
+        if (node.type.name === 'list_item' || node.type.name === 'image') {
           isActive = false;
         }
       });
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
index a4d444810..21a99033e 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
@@ -24,7 +24,7 @@ class Heading3 extends Tools {
       if (activeViewId !== 'main') return false;
       const { from, to } = state.selection;
       state.doc.nodesBetween(from, to, (node, pos) => {
-        if (node.type.name === 'list_item') {
+        if (node.type.name === 'list_item' || node.type.name === 'image') {
           isActive = false;
         }
       });
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading4.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading4.js
index 013e735f9..fdc4e4ffe 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading4.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading4.js
@@ -24,7 +24,7 @@ class Heading4 extends Tools {
       if (activeViewId !== 'main') return false;
       const { from, to } = state.selection;
       state.doc.nodesBetween(from, to, (node, pos) => {
-        if (node.type.name === 'list_item') {
+        if (node.type.name === 'list_item' || node.type.name === 'image') {
           isActive = false;
         }
       });
-- 
GitLab