Module: LatoSettings::SettingsHelper

Defined in:
app/helpers/lato_settings/settings_helper.rb

Instance Method Summary collapse

Instance Method Details

#lato_settings_setting_actions(setting) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'app/helpers/lato_settings/settings_helper.rb', line 24

def lato_settings_setting_actions(setting)
  (:div, class: 'btn-group btn-group-sm') do
    concat link_to(I18n.t('lato_settings.cta_edit'), lato_settings.edit_setting_path(setting), class: 'btn btn-primary', data: { lato_action_target: 'trigger', turbo_frame: dom_id(setting, 'form'), action_title: I18n.t('lato_settings.edit_setting') })

    unless setting.required
      concat link_to(I18n.t('lato_settings.cta_delete'), lato_settings.setting_path(setting), class: 'btn btn-danger', data: { turbo_confirm: I18n.t('lato_settings.cta_delete_confirm'), turbo_method: :delete })
    end
  end
end

#lato_settings_setting_key(setting) ⇒ Object



3
4
5
# File 'app/helpers/lato_settings/settings_helper.rb', line 3

def lato_settings_setting_key(setting)
  print_content(setting, setting.key, :key)
end

#lato_settings_setting_label(setting) ⇒ Object



11
12
13
14
15
16
17
18
# File 'app/helpers/lato_settings/settings_helper.rb', line 11

def lato_settings_setting_label(setting)
  (:div, class: 'd-flex flex-column') do
    concat (:strong, setting.label)
    if setting.description
      concat (:small, setting.description, class: 'text-muted')
    end
  end
end

#lato_settings_setting_updated_at(setting) ⇒ Object



20
21
22
# File 'app/helpers/lato_settings/settings_helper.rb', line 20

def lato_settings_setting_updated_at(setting)
  setting.updated_at.strftime('%d/%m/%Y %H:%M')
end

#lato_settings_setting_value(setting) ⇒ Object



7
8
9
# File 'app/helpers/lato_settings/settings_helper.rb', line 7

def lato_settings_setting_value(setting)
  print_content(setting, setting.value_formatted, :value)
end


34
35
36
37
38
39
40
41
42
43
# File 'app/helpers/lato_settings/settings_helper.rb', line 34

def print_content(setting, content, type)
  raw "
    <div class=\"input-group input-group-sm\" data-controller=\"lato-copyclip\">
      <input type=\"text\" class=\"form-control\" placeholder=\"#{setting.label || setting.key}\" aria-label=\"#{setting.label || setting.key}\" aria-describedby=\"#{type}_#{setting.id}\" value=\"#{content}\" data-lato-copyclip-target=\"input\" readonly>
      <button class=\"btn btn-primary\" type=\"button\" id=\"#{type}_#{setting.id}\" data-lato-copyclip-target=\"button\" data-action=\"lato-copyclip#onButtonClick\" title=\"#{I18n.t('lato_settings.cta_copy')}\" aria-label=\"#{I18n.t('lato_settings.cta_copy')}\" data-copy-text=\"<i class='bi bi-clipboard-check'></i>\">
        <i class=\"bi bi-clipboard\"></i>
      </button>
    </div>
  "
end