Module: Binda::ComponentsHelper
- Defined in:
- app/helpers/binda/components_helper.rb
Instance Method Summary collapse
-
#get_sort_index_link ⇒ Object
Get the sort index link.
-
#get_sort_link_by(argument) ⇒ string
Get sort link by argument.
-
#get_sort_link_icon_by(arg) ⇒ string
Get sort link icon by argument.
-
#prepare_description_for_form_hint(field_setting) ⇒ Object
Prepare description for form hint.
-
#prepare_description_for_selections_form_hint(field_setting) ⇒ Object
Prepare description for form hint belonging to select, radio and checkbox fields.
-
#prepare_description_for_selections_from_hint_with(field_setting) ⇒ String
Prepare description for selections with field setting detail.
Instance Method Details
#get_sort_index_link ⇒ Object
Get the sort index link
This helper generate the a link to the page where to sort components, or
a broken link that tells you that you have too many components to go to that page.
9 10 11 12 13 14 15 |
# File 'app/helpers/binda/components_helper.rb', line 9 def get_sort_index_link if @structure.components.length < Component.sort_limit link_to "<i class=\"fa fa-random\" aria-hidden=\"true\"></i>Sort #{ @structure.name.humanize.split.map(&:capitalize).join(' ').pluralize }".html_safe, structure_components_sort_index_path, class: 'main-header--link b-btn b-btn-primary' else link_to "Sort #{ @structure.name.humanize.split.map(&:capitalize).join(' ').pluralize }", '#', class: 'main-header--link b-btn b-btn-primary', onclick: "alert(\"Sorry! It's not possible to sort #{@structure.name.pluralize} anymore. You currently have more than #{Component.sort_limit} #{@structure.name.pluralize} which is the maximum limit.\")" end end |
#get_sort_link_by(argument) ⇒ string
Get sort link by argument
This method returns a URL which contains the current sort options
and update just the title one. The URL then is used to change the
sorting of the index in which is used.
Rails guide reference –> guides.rubyonrails.org/action_controller_overview.html#hash-and-array-parameters
72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'app/helpers/binda/components_helper.rb', line 72 def get_sort_link_by argument arg = "#{argument}".to_sym if params[:order].nil? structure_components_path( [@structure], { order: {arg => "DESC"} } ) else order_hash = params[:order].permit(:name, :publish_state).to_h if order_hash[arg] == "ASC" order_hash[arg] = "DESC" structure_components_path( [@structure], { order: order_hash } ) else order_hash[arg] = "ASC" structure_components_path( [@structure], { order: order_hash } ) end end end |
#get_sort_link_icon_by(arg) ⇒ string
Get sort link icon by argument
This method returns a Font Awesome icon
95 96 97 98 99 100 101 102 103 104 |
# File 'app/helpers/binda/components_helper.rb', line 95 def get_sort_link_icon_by arg case when params[:order].nil? '<i class="fas fa-sort-alpha-down"></i>' when params[:order][arg] == "DESC" '<i class="fas fa-sort-alpha-up"></i>' else '<i class="fas fa-sort-alpha-down"></i>' end end |
#prepare_description_for_form_hint(field_setting) ⇒ Object
Prepare description for form hint.
This helper return the field description (as ‘string`) or false (as `boolean`)
in order to tell Simple Form whether to generate or not the hint html tag.
23 24 25 26 27 28 29 |
# File 'app/helpers/binda/components_helper.rb', line 23 def prepare_description_for_form_hint(field_setting) if field_setting.description.blank? return false else return field_setting.description end end |
#prepare_description_for_selections_form_hint(field_setting) ⇒ Object
Prepare description for form hint belonging to select, radio and checkbox fields.
This helper return the field description (as ‘string`) or false (as `boolean`)
in order to tell Simple Form whether to generate or not the hint html tag.
38 39 40 41 42 43 44 |
# File 'app/helpers/binda/components_helper.rb', line 38 def prepare_description_for_selections_form_hint(field_setting) unless field_setting.description.blank? && field_setting.allow_null? prepare_description_for_selections_from_hint_with(field_setting) else return false end end |
#prepare_description_for_selections_from_hint_with(field_setting) ⇒ String
Prepare description for selections with field setting detail
53 54 55 56 57 58 |
# File 'app/helpers/binda/components_helper.rb', line 53 def prepare_description_for_selections_from_hint_with(field_setting) description = [] description << field_setting.description unless field_setting.description.blank? description << I18n.t("binda.null_is_not_allowed") if !field_setting.allow_null? return description.join('. ') end |