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