diff --git a/app/views/admin/settings/_index.html.erb b/app/views/admin/settings/_index.html.erb index adf2e4f..2993d30 100644 --- a/app/views/admin/settings/_index.html.erb +++ b/app/views/admin/settings/_index.html.erb @@ -8,7 +8,7 @@ - <% settings_model.settings.each_pair do |field_name, value| %> + <% settings_model.settings.sort.to_h.each_pair do |field_name, value| %> <%= f.label field_name, t("settings.attributes.#{field_name}", default: field_name) %> diff --git a/lib/activeadmin_settings_cached.rb b/lib/activeadmin_settings_cached.rb index d3e5bb5..9d41552 100644 --- a/lib/activeadmin_settings_cached.rb +++ b/lib/activeadmin_settings_cached.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'activeadmin_settings_cached/engine' +require 'activeadmin_settings_cached/dsl' module ActiveadminSettingsCached class Configuration diff --git a/lib/activeadmin_settings_cached/model.rb b/lib/activeadmin_settings_cached/model.rb index 9dfbe85..8395a46 100644 --- a/lib/activeadmin_settings_cached/model.rb +++ b/lib/activeadmin_settings_cached/model.rb @@ -22,11 +22,23 @@ def field_options(field_name, value) collection: default_value, #TODO: allow multiply for colleactions selected: value, } - # TODO: display checkboxes for booleans - # elsif (default_value.is_a?(TrueClass) || default_value.is_a?(FalseClass)) - # { - # input_html: { checked: value }, label: '', checked_value: 'true', unchecked_value: 'false' - # } + elsif (field_name.include?("time") || field_name.include?("hour")) + { + as: :time_picker, + input_html: { value: value, placeholder: default_value }, + } + elsif (default_value.is_a?(TrueClass) || default_value.is_a?(FalseClass)) + { + as: :boolean, + input_html: { checked: value }, label: '', checked_value: 'true', unchecked_value: 'false' + } + + + #elsif (default_value.is_a?(TrueClass) || default_value.is_a?(FalseClass)) && + # display[settings_name].to_s == 'boolean' + # { + # input_html: { checked: value }, label: '', checked_value: 'true', unchecked_value: 'false' + # } else { input_html: { value: value, placeholder: default_value },