diff --git a/wax-prosemirror-components/src/components/ImageUpload.js b/wax-prosemirror-components/src/components/ImageUpload.js
index a82798f3235855db220bd20e96db1b4ec1260e8c..be6a613e100694b7b9628a2c8296d384a04ea4dc 100644
--- a/wax-prosemirror-components/src/components/ImageUpload.js
+++ b/wax-prosemirror-components/src/components/ImageUpload.js
@@ -1,7 +1,10 @@
-import React from "react";
-import styled from "styled-components";
+import React, { useContext } from 'react';
+import styled from 'styled-components';
+import { WaxContext } from 'wax-prosemirror-core';
 
 const UploadImage = styled.div`
+  opacity: ${props => (props.select ? 1 : 0.4)};
+  pointer-events: ${props => (props.select ? 'default' : 'none')};
   color: #777;
   display: inline-flex;
   padding: 0px 10px;
@@ -14,20 +17,24 @@ const UploadImage = styled.div`
     display: none;
   }
 `;
-const ImageUpload = ({ item, fileUpload }) => (
-  <UploadImage>
-    <label
-      className="custom-file-upload"
-      title="upload image"
-      htmlFor="file-upload"
-    >
-      {item.content}
-      <input
-        id="file-upload"
-        onChange={e => fileUpload(e.target.files[0])}
-        type="file"
-      />
-    </label>
-  </UploadImage>
-);
+const ImageUpload = ({ item, fileUpload, view }) => {
+  const { activeViewId } = useContext(WaxContext);
+  console.log(item);
+  return (
+    <UploadImage select={item.select && item.select(view.state, activeViewId)}>
+      <label
+        className="custom-file-upload"
+        title="upload image"
+        htmlFor="file-upload"
+      >
+        {item.content}
+        <input
+          id="file-upload"
+          onChange={e => fileUpload(e.target.files[0])}
+          type="file"
+        />
+      </label>
+    </UploadImage>
+  );
+};
 export default ImageUpload;
diff --git a/wax-prosemirror-services/src/CodeBlockService/CodeBlockTool.js b/wax-prosemirror-services/src/CodeBlockService/CodeBlockTool.js
index 6b2b9fca1fcd5bd68db6221ba8312a032084754d..b533ca58d0d42ce09caa904241a45b79d1401789 100644
--- a/wax-prosemirror-services/src/CodeBlockService/CodeBlockTool.js
+++ b/wax-prosemirror-services/src/CodeBlockService/CodeBlockTool.js
@@ -14,6 +14,11 @@ class CodeBlockTool extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return setBlockType(state.config.schema.nodes.code_block)(state);
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/Author.js b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/Author.js
index 6d68ff01db12d5efedef6a3b489b485eb0b36eb4..a3ee0f83e7593b9738f3fe690814b3e8ae182cd0 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/Author.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/AuthorService/Author.js
@@ -15,6 +15,11 @@ class Author extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.author)(state);
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js
index 819a449b1ec67d9c4b4f6cc39386068922b241a9..b0637041a9e2dbd9312e494bed0600736a2344ef 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphPoetryService/EpigraphPoetry.js
@@ -15,6 +15,11 @@ class EpigraphPoetry extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.epigraphPoetry)(
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js
index d4a504b3554d4f20dbb0b58d31880e4d3fa1bc44..7ec1f1494876e32a27d6517b48550182bbdb1ab4 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/EpigraphProseService/EpigraphProse.js
@@ -16,6 +16,11 @@ class EpigraphProse extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.epigraphProse)(
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js
index d1724fc9d888d2f21146d52be5c530ae8ca2800c..ce22bd8b3883fbd00c86878c3c1eb729cde7e8f7 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading1.js
@@ -17,6 +17,11 @@ class Heading1 extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.heading, {
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
index 792d810b09767ca9fdab1a7a1e43717698af2a42..da42959866840a0d4a823b2c634cd9250cf61850 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading2.js
@@ -17,6 +17,11 @@ class Heading2 extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.heading, {
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
index e1e133d52c26e6f93811586530aeb236a1c32d47..1706b0c14c1329d717e37ddddd8a1a7d1d5464a5 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/HeadingService/Heading3.js
@@ -17,6 +17,11 @@ class Heading3 extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.heading, {
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitle.js b/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitle.js
index 332d816d9aee15c4e1d616d2382d500875954cb1..d8957703e8782056a3ebced585220b614e534a7e 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitle.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/SubTitleService/SubTitle.js
@@ -1,20 +1,25 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
 
 @injectable()
 export default class SubTitle extends Tools {
-  title = "Change to Subtitle";
-  content = "Subtitle";
+  title = 'Change to Subtitle';
+  content = 'Subtitle';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.subtitle, {
-        class: "cst"
+        class: 'cst',
       })(state, dispatch);
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.subtitle)(state);
diff --git a/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/Title.js b/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/Title.js
index 469096c151095cef8c20dee2ffd9ebeac9acc39c..7548b7b705127f95cbac7ecad04f9c20a15573e0 100644
--- a/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/Title.js
+++ b/wax-prosemirror-services/src/DisplayBlockLevel/TitleService/Title.js
@@ -1,20 +1,25 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
 
 @injectable()
 export default class Title extends Tools {
-  title = "Change to Title";
-  content = "Title";
+  title = 'Change to Title';
+  content = 'Title';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.title, {
-        class: "title"
+        class: 'title',
       })(state, dispatch);
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.title)(state);
diff --git a/wax-prosemirror-services/src/ImageService/Image.js b/wax-prosemirror-services/src/ImageService/Image.js
index 7f0e6fea2b83d42969ee7b49c866a8e7d25adc38..726284945fc44ffcc7c6fdb70f81e6c66b78e673 100644
--- a/wax-prosemirror-services/src/ImageService/Image.js
+++ b/wax-prosemirror-services/src/ImageService/Image.js
@@ -17,6 +17,11 @@ class Image extends Tools {
     return () => true;
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.canInsert(state.config.schema.nodes.image)(state);
@@ -31,7 +36,12 @@ class Image extends Tools {
       this.pmplugins.get('imagePlaceHolder'),
     );
     return this._isDisplayed ? (
-      <ImageUpload key={uuidv4()} item={this.toJSON()} fileUpload={upload} />
+      <ImageUpload
+        key={uuidv4()}
+        item={this.toJSON()}
+        fileUpload={upload}
+        view={view}
+      />
     ) : null;
   }
 }
diff --git a/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js b/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
index 80ab99f14769e795af2350193d5e37a3970f5a93..eab23cb2aeed0cb9a17d45a288e2a9c0056f32c6 100644
--- a/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
+++ b/wax-prosemirror-services/src/ListsService/BulletListService/BulletList.js
@@ -1,12 +1,12 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { icons } from "wax-prosemirror-components";
-import { wrapInList } from "prosemirror-schema-list";
-import { Commands } from "wax-prosemirror-utilities";
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { icons } from 'wax-prosemirror-components';
+import { wrapInList } from 'prosemirror-schema-list';
+import { Commands } from 'wax-prosemirror-utilities';
 
 @injectable()
 export default class BulletList extends Tools {
-  title = "Wrap in bullet list";
+  title = 'Wrap in bullet list';
   content = icons.bullet_list;
 
   get run() {
@@ -21,6 +21,11 @@ export default class BulletList extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get active() {
     return state => {
       return Commands.blockActive(state.config.schema.nodes.bulletlist)(state);
diff --git a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
index 9f01a6b82605b9517a4686950d2f0cd7a431d3d2..e421df0959c0bf438c0cbaa1e521ef14bee452b9 100644
--- a/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
+++ b/wax-prosemirror-services/src/ListsService/OrderedListService/OrderedList.js
@@ -1,12 +1,12 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { icons } from "wax-prosemirror-components";
-import { wrapInList } from "prosemirror-schema-list";
-import { Commands } from "wax-prosemirror-utilities";
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { icons } from 'wax-prosemirror-components';
+import { wrapInList } from 'prosemirror-schema-list';
+import { Commands } from 'wax-prosemirror-utilities';
 
 @injectable()
 export default class OrderedList extends Tools {
-  title = "Wrap in ordered list";
+  title = 'Wrap in ordered list';
   content = icons.ordered_list;
 
   get run() {
@@ -21,6 +21,11 @@ export default class OrderedList extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get active() {
     return state => {
       return Commands.blockActive(state.config.schema.nodes.orderedlist)(state);
diff --git a/wax-prosemirror-services/src/NoteService/Note.js b/wax-prosemirror-services/src/NoteService/Note.js
index a676d1cf054f6ac66fafdccbd7791a4d14174b57..75f04f45bf6f20e74c2be08b321cac8c502ef211 100644
--- a/wax-prosemirror-services/src/NoteService/Note.js
+++ b/wax-prosemirror-services/src/NoteService/Note.js
@@ -1,12 +1,12 @@
-import Tools from "../lib/Tools";
-import { injectable } from "inversify";
-import { icons } from "wax-prosemirror-components";
-import { Fragment } from "prosemirror-model";
-import { v4 as uuidv4 } from "uuid";
+import Tools from '../lib/Tools';
+import { injectable } from 'inversify';
+import { icons } from 'wax-prosemirror-components';
+import { Fragment } from 'prosemirror-model';
+import { v4 as uuidv4 } from 'uuid';
 
 @injectable()
 export default class Note extends Tools {
-  title = "Insert Note";
+  title = 'Insert Note';
   content = icons.footnote;
 
   get run() {
@@ -16,18 +16,22 @@ export default class Note extends Tools {
       if (!empty && $from.sameParent($to) && $from.parent.inlineContent)
         content = $from.parent.content.cut(
           $from.parentOffset,
-          $to.parentOffset
+          $to.parentOffset,
         );
       const footnote = state.config.schema.nodes.footnote.create(
         { id: uuidv4() },
-        content
+        content,
       );
       dispatch(state.tr.replaceSelectionWith(footnote));
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
-    //   // TODO disable on notes editor
     return state => {
       return true;
     };
diff --git a/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js b/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js
index cae1293ff31721cdfcf1022dc4bfd4c26c7faf13..0649aef3d3220da470b9a2e3550b43da71862977 100644
--- a/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js
+++ b/wax-prosemirror-services/src/TablesService/InsertTableService/Table.js
@@ -1,11 +1,11 @@
-import Tools from "../../lib/Tools";
-import { Commands } from "wax-prosemirror-utilities";
-import { injectable } from "inversify";
-import { icons } from "wax-prosemirror-components";
+import Tools from '../../lib/Tools';
+import { Commands } from 'wax-prosemirror-utilities';
+import { injectable } from 'inversify';
+import { icons } from 'wax-prosemirror-components';
 
 @injectable()
 export default class Table extends Tools {
-  title = "Insert table";
+  title = 'Insert table';
   content = icons.table;
 
   get run() {
@@ -14,6 +14,11 @@ export default class Table extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.canInsert(state.config.schema.nodes.table)(state);
diff --git a/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js b/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js
index 77ac0af54e863f2ce42ec57ce4f0b1fc8944f5c0..2c2e9ceb26b7c9f3f63c167e86e6f1fc4f28f3cd 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/BlockQuoteService/BlockQuote.js
@@ -1,11 +1,11 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { wrapIn } from "prosemirror-commands";
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { wrapIn } from 'prosemirror-commands';
 
 @injectable()
 class BlockQuote extends Tools {
-  title = "Change to Block Quote";
-  content = "Block Quote";
+  title = 'Change to Block Quote';
+  content = 'Block Quote';
 
   get run() {
     return (state, dispatch) => {
@@ -13,6 +13,11 @@ class BlockQuote extends Tools {
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return wrapIn(state.config.schema.nodes.blockquote)(state);
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetry.js b/wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetry.js
index d4c87d7f53c796d5f07077a0a40fd555a083e409..8ec0b529daece7882dab92478265c3188039ee21 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetry.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/ExtractPoetryService/ExtractPoetry.js
@@ -1,24 +1,29 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
 
 @injectable()
 class ExtractPoetry extends Tools {
-  title = "Change to Extract Poetry";
-  content = "Extract Poetry";
+  title = 'Change to Extract Poetry';
+  content = 'Extract Poetry';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.extractPoetry, {
-        class: "extract-poetry"
+        class: 'extract-poetry',
       })(state, dispatch);
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.extractPoetry)(
-        state
+        state,
       );
     };
   }
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProse.js b/wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProse.js
index e887b90542a3012cbf8e269f719a1c119c0a4ed0..c3acd93e47c225ffde0d9132a92965edecd2f7fc 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProse.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/ExtractProseService/ExtractProse.js
@@ -1,24 +1,29 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
 
 @injectable()
 class ExtractProse extends Tools {
-  title = "Change to Extract Prose";
-  content = "Extract Prose";
+  title = 'Change to Extract Prose';
+  content = 'Extract Prose';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.extractProse, {
-        class: "extract-prose"
+        class: 'extract-prose',
       })(state, dispatch);
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.extractProse)(
-        state
+        state,
       );
     };
   }
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinued.js b/wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinued.js
index 0821ef32b4390949cb99a1452a6c43b97d775f1d..c3d9b03ed90bdbb62b3c6849c326b818deacc7ba 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinued.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/ParagraphContinuedService/ParagraphContinued.js
@@ -1,24 +1,29 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
 
 @injectable()
 class ParagraphContinued extends Tools {
-  title = "Change to Paragraph Continued";
-  content = "Paragraph Continued";
+  title = 'Change to Paragraph Continued';
+  content = 'Paragraph Continued';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.paragraphCont, {
-        class: "paragraph-cont"
+        class: 'paragraph-cont',
       })(state, dispatch);
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.paragraphCont)(
-        state
+        state,
       );
     };
   }
diff --git a/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/Paragraph.js b/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/Paragraph.js
index e3018a4e2bcf78c83f10d8c8480cdec20345178f..918ae7607b1538c5b28e0c0f966d523429d0a60f 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/Paragraph.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/ParagraphService/Paragraph.js
@@ -1,20 +1,25 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
 
 @injectable()
 export default class Paragraph extends Tools {
-  title = "Change to Paragraph";
-  content = "Paragraph";
+  title = 'Change to Paragraph';
+  content = 'Paragraph';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.paragraph, {
-        class: "paragraph"
+        class: 'paragraph',
       })(state, dispatch);
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.paragraph)(state);
diff --git a/wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNote.js b/wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNote.js
index 3e333e8dd142d1c4906db3e38f43db467a7bfb62..b40a17d1d27fd6fde502925b614d984fe621a4d6 100644
--- a/wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNote.js
+++ b/wax-prosemirror-services/src/TextBlockLevel/SourceNoteService/SourceNote.js
@@ -1,20 +1,25 @@
-import Tools from "../../lib/Tools";
-import { injectable } from "inversify";
-import { Commands } from "wax-prosemirror-utilities";
+import Tools from '../../lib/Tools';
+import { injectable } from 'inversify';
+import { Commands } from 'wax-prosemirror-utilities';
 
 @injectable()
 class SourceNote extends Tools {
-  title = "Change to Source Note";
-  content = "Source Note";
+  title = 'Change to Source Note';
+  content = 'Source Note';
 
   get run() {
     return (state, dispatch) => {
       Commands.setBlockType(state.config.schema.nodes.sourceNote, {
-        class: "source-note"
+        class: 'source-note',
       })(state, dispatch);
     };
   }
 
+  select = (state, activeViewId) => {
+    if (activeViewId !== 'main') return false;
+    return true;
+  };
+
   get enable() {
     return state => {
       return Commands.setBlockType(state.config.schema.nodes.sourceNote)(state);