如何在TinyMCE中打开/关闭侧栏

时间:2017-10-19 07:47:41

标签: javascript tinymce editor wysiwyg sidebar

在官方TinyMCE文档中没有任何关于手动打开/关闭侧边栏的可能性: https://www.tinymce.com/docs/advanced/creating-a-sidebar/#editorsidebarapi

任何人都可以帮助我吗?我认为必须是这样的:

editor.getSidebar('mysidebar').close();

我需要它,因为我想关闭我的file browser callback中的自定义侧边栏。

1 个答案:

答案 0 :(得分:0)

使用tinymce.activeEditor.execCommand('togglesidebar', false, 'sidebarname');切换侧边栏。您可以放置​​事件干扰者和侦听器,以了解事件当前是否打开或关闭:

tinymce.PluginManager.add('cheminfo', function (editor, url) {
    editor.ui.registry.addSidebar('cheminfo', {
    tooltip: 'My sidebar',
    icon: 'comment',
    onShow: function (api) {
      var event = new CustomEvent('tinymce-chem-sidebar', {'detail': true});
      window.parent.document.dispatchEvent(event);
    },
    onHide: function (api) {
      var event = new CustomEvent('tinymce-chem-sidebar', {'detail': false});
      window.parent.document.dispatchEvent(event);
    }
    });
});

然后(我正在使用React):

// detect sidebar state open/close
document.addEventListener('tinymce-chem-sidebar', function (e) {
  setOpen(e.detail);
});

PS:请确保侧边栏的名称为小写字母或将不起作用