Summernote. Автоформатирование при просмотре исходного кода
frontend javascript
Published: 2017-09-19

В summernote для codeview используется codemirror, так что нам надо, чтобы сам summernote расставил переносы строк (prettifyHtml: true), а средствами codemirror`а мы уже сделаем отступы.

При клике на кнопку codeview выполним 3 команды. Клик по кнопке ловится через event, который ловим средствами самого summernote.

  1. Выделим весь текст
  2. Сделаем автоотступы для всего выделения
  3. Переставим курсор в начало текста, чтобы снять выделение
var $summernote = $('.summernote').summernote({
    prettifyHtml: true,
    // other options
});
/* Auto format CodeView with indents */
var $codeMirror;
$summernote.on('summernote.codeview.toggled', (event) => {
    var editor = $codeMirror || $('textarea.note-codable').data('cmEditor');
    editor.execCommand('selectAll');
    editor.execCommand('indentAuto');
    editor.execCommand('goDocStart');
});
comments powered by Disqus