Summernote:启用Air-mode和默认工具栏

时间:2016-09-29 19:00:30

标签: javascript jquery summernote

有没有办法在summernote编辑器中同时启用默认工具栏和空气模式工具栏?

例如,我需要用户首先使用默认工具栏编辑textarea,当他只想编辑一个单词时,他可以选择它并弹出空气模式工具栏。 (就像微软的话一样)

谢谢

1 个答案:

答案 0 :(得分:1)

我通过编辑summernote的源代码并重建它(需要npm)来做到这一点。你只需要编辑两个文件并进行构建就很容易了。

下载/克隆summernote - 开发源代码 https://github.com/summernote/summernote

请按照以下步骤操作
1.打开文件夹summernote-develop
2.打开src/js/bs3/module/Toolbar.js

你会找到

this.shouldInitialize = function () {
          return !options.airMode;
        };


此代码实际检查airMode是否为true,然后它不会初始化工具栏,现在将代码更改为 <
/ p>

this.shouldInitialize = function () {
      return true;
    };


并保存。

3.打开src/js/bs3/ui.js

您可以在第176行找到此代码。

var $editor = (options.airMode ? ui.airEditor([
    ui.editingArea([
        ui.airEditable()
    ])
    ]) : ui.editor([
             ui.toolbar(),
             ui.editingArea([
                 ui.codable(),
                 ui.editable()
          ]),
          ui.statusbar()
     ])).render();


此代码通常会检查airMode并相应地加载UI,我们需要加载传统的UI,无论airMode说什么。将其更改为

var $editor = (ui.editor([
        ui.toolbar(),
        ui.editingArea([
          ui.codable(),
          ui.editable()
        ]),
        ui.statusbar()
      ])).render();

这将加载传统的夏令营ui。

4.现在我们必须重建整个项目生成所需的js文件,在终端上执行这些命令

summernote-develop username $ npm install

summernote-develop username $ npm run build
  1. 导航到 summernote-develop 中的 dist 文件夹,将在那里生成所需的js文件。
  2. 注意:不要忘记在初始化summernote时启用airMode,即 airMode:true