diff --git a/app/assets/javascripts/manage/lib/codeMirror.js b/app/assets/javascripts/manage/lib/codeMirror.js index b729bab3f..ef206df42 100644 --- a/app/assets/javascripts/manage/lib/codeMirror.js +++ b/app/assets/javascripts/manage/lib/codeMirror.js @@ -1,9 +1,10 @@ function setupCodeMirror() { $('[data-code-mirror-textarea]').each(function(i, element) { + var mode = $(this).data('code-mirror-mode') || 'htmlmixed'; var myCodeMirror = CodeMirror.fromTextArea(element, { lineNumbers: true, - mode: 'htmlmixed', + mode: mode, }); - myCodeMirror.setSize(null, window.innerHeight - 200); + myCodeMirror.setSize(null, window.innerHeight - 250); }); } diff --git a/app/assets/javascripts/manage/lib/simpleMde.js b/app/assets/javascripts/manage/lib/simpleMde.js index 006568a88..de9bfa0ce 100644 --- a/app/assets/javascripts/manage/lib/simpleMde.js +++ b/app/assets/javascripts/manage/lib/simpleMde.js @@ -4,10 +4,11 @@ function setupSimpleMde() { element: element, forceSync: true, }; - if ($(element).data('message-live-preview-base-src')) { + var baseSrc = $(element).data('message-live-preview-base-src'); + if (baseSrc) { options['previewRender'] = function(plainText) { var iframe = document.createElement('iframe'); - var baseSrc = $(element).data('message-live-preview-base-src'); + var baseSrc = baseSrc; var newSrc = baseSrc + '?body=' + encodeURIComponent(plainText); iframe.className = 'email-preview-in-simplemde'; iframe.src = newSrc; diff --git a/app/views/manage/configs/edit.html.haml b/app/views/manage/configs/edit.html.haml index 3afa09bb4..0ffef2add 100644 --- a/app/views/manage/configs/edit.html.haml +++ b/app/views/manage/configs/edit.html.haml @@ -1,3 +1,8 @@ +:ruby + text_field_vars = %w() + markdown_field_vars = %w(bus_captain_notes thanks_for_rsvp_message thanks_for_applying_message disclaimer_message) + css_field_vars = %w(custom_css) + = render "layouts/manage/page_title", title: "Edit Configuration", subtitle: @config.var do = link_to 'Cancel', manage_configs_path, class: 'btn btn-sm btn-outline-secondary' @@ -9,6 +14,12 @@ - if [true, false].include? @config.value -# = f.input :value, label: @config.var, as: :boolean, 'yes', 'no' = f.input @config.var.to_sym, as: :radio_buttons, :collection => [['true',true], ['false',false]], label_method: :first, value_method: :last, :prompt => 'Choose one...' + - elsif css_field_vars.include? @config.var + = f.input @config.var.to_sym, as: :text, input_html: { value: @config.value, 'data-code-mirror-textarea': '1', 'data-code-mirror-mode': 'css' } + - elsif markdown_field_vars.include? @config.var + = f.input @config.var.to_sym, as: :text, input_html: { value: @config.value, 'data-simple-mde' => '1' } + - elsif text_field_vars.include? @config.var + = f.input @config.var.to_sym, as: :text, input_html: { value: @config.value } - else = f.input @config.var.to_sym, input_html: { value: @config.value }