diff --git a/app/assets/javascripts/admin/templates/components/site-settings/string.hbs b/app/assets/javascripts/admin/templates/components/site-settings/string.hbs index 71d7216f273..77e254b42f2 100644 --- a/app/assets/javascripts/admin/templates/components/site-settings/string.hbs +++ b/app/assets/javascripts/admin/templates/components/site-settings/string.hbs @@ -1,3 +1,8 @@ -{{text-field value=value classNames="input-setting-string"}} +{{#if setting.textarea}} + {{textarea value=value classNames="input-setting-textarea"}} +{{else}} + {{text-field value=value classNames="input-setting-string"}} +{{/if}} + {{setting-validation-message message=validationMessage}}
{{{unbound setting.description}}}
diff --git a/app/assets/stylesheets/common/admin/admin_base.scss b/app/assets/stylesheets/common/admin/admin_base.scss index de075cb545a..0285fe25b8d 100644 --- a/app/assets/stylesheets/common/admin/admin_base.scss +++ b/app/assets/stylesheets/common/admin/admin_base.scss @@ -461,7 +461,7 @@ td.flaggers td { .setting-controls { float: left; } - .input-setting-string { + .input-setting-string, .input-setting-textarea { box-sizing: border-box; height: 30px; width: 100%; @@ -469,6 +469,9 @@ td.flaggers td { width: 100%; } } + .input-setting-textarea { + height: 150px; + } .input-setting-list { @media (max-width: $mobile-breakpoint) { width: 100%; @@ -531,7 +534,7 @@ td.flaggers td { } .setting.overridden.string { - input[type=text] { + input[type=text], textarea { background-color: dark-light-diff($highlight, $secondary, 50%, -60%); } } diff --git a/lib/site_setting_extension.rb b/lib/site_setting_extension.rb index 20dd2818afc..44f35a1220c 100644 --- a/lib/site_setting_extension.rb +++ b/lib/site_setting_extension.rb @@ -195,6 +195,8 @@ module SiteSettingExtension opts.merge!({valid_values: choices[s].map{|c| {name: c, value: c}}, translate_names: false}) end + opts[:textarea] = true if static_types[s] == :textarea + opts[:choices] = choices[s] if choices.has_key? s opts end