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.
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
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'app/helpers/binda/components_helper.rb', line 60 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
83 84 85 86 87 88 89 90 91 92 |
# File 'app/helpers/binda/components_helper.rb', line 83 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 45 46 47 |
# File 'app/helpers/binda/components_helper.rb', line 38 def prepare_description_for_selections_form_hint(field_setting) description = [] unless field_setting.description.blank? && field_setting.allow_null? 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('. ') else return false end end |