Содержание
В summernote для codeview используется codemirror, так что нам надо, чтобы сам summernote расставил переносы строк (prettifyHtml: true), а средствами codemirror`а мы уже сделаем отступы.
При клике на кнопку codeview выполним 3 команды. Клик по кнопке ловится через event, который ловим средствами самого summernote.
- Выделим весь текст
- Сделаем автоотступы для всего выделения
- Переставим курсор в начало текста, чтобы снять выделение
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');
});