]> BookStack Code Mirror - bookstack/blobdiff - resources/js/wysiwyg/toolbars.js
Audit Log: Fixed bad reference to linked entity item
[bookstack] / resources / js / wysiwyg / toolbars.js
index 208b3c508dc8e2f8b2671ed1c8ad3b43199da685..897aa9f06ef2facbded27b2f64b2dfdfa2b3fbc4 100644 (file)
@@ -12,8 +12,8 @@ export function getPrimaryToolbar(options) {
         'alignleft aligncenter alignright alignjustify',
         'bullist numlist listoverflow',
         textDirPlugins,
-        'link table imagemanager-insert insertoverflow',
-        'code about fullscreen'
+        'link customtable imagemanager-insert insertoverflow',
+        'code about fullscreen',
     ];
 
     return toolbar.filter(row => Boolean(row)).join(' | ');
@@ -26,17 +26,17 @@ function registerPrimaryToolbarGroups(editor) {
     editor.ui.registry.addGroupToolbarButton('formatoverflow', {
         icon: 'more-drawer',
         tooltip: 'More',
-        items: 'strikethrough superscript subscript inlinecode removeformat'
+        items: 'strikethrough superscript subscript inlinecode removeformat',
     });
     editor.ui.registry.addGroupToolbarButton('listoverflow', {
         icon: 'more-drawer',
         tooltip: 'More',
-        items: 'tasklist outdent indent'
+        items: 'tasklist outdent indent',
     });
     editor.ui.registry.addGroupToolbarButton('insertoverflow', {
         icon: 'more-drawer',
         tooltip: 'More',
-        items: 'hr codeeditor drawio media details'
+        items: 'customhr codeeditor drawio media details',
     });
 }
 
@@ -50,7 +50,7 @@ function registerLinkContextToolbar(editor) {
         },
         position: 'node',
         scope: 'node',
-        items: 'link unlink openlink'
+        items: 'link unlink openlink',
     });
 }
 
@@ -60,20 +60,34 @@ function registerLinkContextToolbar(editor) {
 function registerImageContextToolbar(editor) {
     editor.ui.registry.addContextToolbar('imagecontexttoolbar', {
         predicate(node) {
-            return node.closest('img') !== null;
+            return node.closest('img') !== null && !node.hasAttribute('data-mce-object');
         },
         position: 'node',
         scope: 'node',
-        items: 'image'
+        items: 'image',
+    });
+}
+
+/**
+ * @param {Editor} editor
+ */
+function registerObjectContextToolbar(editor) {
+    editor.ui.registry.addContextToolbar('objectcontexttoolbar', {
+        predicate(node) {
+            return node.closest('img') !== null && node.hasAttribute('data-mce-object');
+        },
+        position: 'node',
+        scope: 'node',
+        items: 'media',
     });
 }
 
 /**
  * @param {Editor} editor
- * @param {WysiwygConfigOptions} options
  */
-export function registerAdditionalToolbars(editor, options) {
+export function registerAdditionalToolbars(editor) {
     registerPrimaryToolbarGroups(editor);
     registerLinkContextToolbar(editor);
     registerImageContextToolbar(editor);
-}
\ No newline at end of file
+    registerObjectContextToolbar(editor);
+}