/* global window ace */
const loadEditors = () => {
const $editors = $('.modal-body textarea, #id_body, #id_comment, #id_message, #id_text, #id_abstract, #id_additional_notes, #id_content_override, #id_description, #id_biography');
$editors.each((i, el) => {
const editorId = `markdown-editor-${i}`;
const reportDiv = $('
').attr('id', editorId);
const setupEditor = (editor, textarea) => {
const session = editor.getSession();
editor.setTheme('ace/theme/tomorrow');
editor.$blockScrolling = Infinity;
editor.setOption('scrollPastEnd', true);
session.setMode('ace/mode/markdown');
session.setValue(textarea.val());
session.setUseWrapMode(true);
session.on('change', () => {
textarea.val(session.getValue());
});
editor.renderer.setShowGutter(false);
session.setTabSize(4);
session.setUseSoftTabs(true);
};
const $formGroup = $(el).closest('.form-group');
const $textarea = $formGroup.find('textarea');
$formGroup.append(reportDiv);
setupEditor(ace.edit(editorId), $textarea);
});
};
$(() => {
loadEditors();
});