App.MarkdownEditor = refresh_preview: (element, md) -> textarea_content = App.MarkdownEditor.find_textarea(element).val() result = md.render(textarea_content) element.find('.markdown-preview').html(result) # Multi-locale (translatable) form fields work by hiding inputs of locales # which are not "active". find_textarea: (editor) -> editor.find('textarea') initialize: -> $('.markdown-editor').each -> md = window.markdownit({ html: true, breaks: true, typographer: true, }) editor = $(this) editor.on 'input', -> App.MarkdownEditor.refresh_preview($(this), md) $('.legislation-draft-versions-edit .warning').show() return editor.find('textarea').on 'scroll', -> editor.find('.markdown-preview').scrollTop($(this).scrollTop()) editor.find('.fullscreen-toggle').on 'click', -> editor.toggleClass('fullscreen') $('.fullscreen-container').toggleClass('medium-8', 'medium-12') span = $(this).find('span') current_html = span.html() if(current_html == span.data('open-text')) span.html(span.data('closed-text')) else span.html(span.data('open-text')) if editor.hasClass('fullscreen') App.MarkdownEditor.find_textarea(editor).height($(window).height() - 100) App.MarkdownEditor.refresh_preview(editor, md) else App.MarkdownEditor.find_textarea(editor).height("10em")