ui_bibz 2.4.0 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.overcommit.yml +5 -0
- data/.rubocop.yml +52 -0
- data/.rubocop_todo.yml +25 -0
- data/Gemfile +5 -3
- data/Gemfile.lock +25 -1
- data/Rakefile +8 -6
- data/config/initializers/simple_form_init.rb +3 -1
- data/config/initializers/will_paginate.rb +11 -6
- data/lib/generators/ui_bibz/install_generator.rb +6 -5
- data/lib/generators/ui_bibz/templates/ui_bibz_initializer.rb +1 -1
- data/lib/tasks/ui_bibz_tasks.rake +2 -0
- data/lib/ui_bibz.rb +91 -100
- data/lib/ui_bibz/concerns/models/searchable.rb +56 -61
- data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +9 -9
- data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +26 -26
- data/lib/ui_bibz/helpers/ui/core/icons_helper.rb +6 -6
- data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +5 -5
- data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +5 -4
- data/lib/ui_bibz/helpers/ui/core/navigations_helper.rb +9 -9
- data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +11 -11
- data/lib/ui_bibz/helpers/ui/core/windows_helper.rb +3 -3
- data/lib/ui_bibz/helpers/ui/core_helper.rb +2 -0
- data/lib/ui_bibz/helpers/ui/ux_helper.rb +12 -12
- data/lib/ui_bibz/helpers/utils_helper.rb +8 -11
- data/lib/ui_bibz/infos.rb +9 -7
- data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +40 -39
- data/lib/ui_bibz/inputs/ui_bibz_inputs/base_input.rb +6 -5
- data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +8 -6
- data/lib/ui_bibz/inputs/ui_bibz_inputs/string_input.rb +18 -18
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_auto_complete_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_box_switch_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_checkbox_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_choice_group_input.rb +6 -5
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_date_picker_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_dropdown_select_field_input.rb +3 -3
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_file_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_formula_field_input.rb +5 -4
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_markdown_editor_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_column_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_select_field_input.rb +3 -3
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_number_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_radio_field_input.rb +7 -7
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_range_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_select_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_switch_field_input.rb +3 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +3 -2
- data/lib/ui_bibz/rails/engine.rb +11 -15
- data/lib/ui_bibz/ui/base.rb +10 -6
- data/lib/ui_bibz/ui/core/boxes/card.rb +31 -32
- data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +7 -8
- data/lib/ui_bibz/ui/core/boxes/card_column.rb +11 -12
- data/lib/ui_bibz/ui/core/boxes/card_deck.rb +11 -12
- data/lib/ui_bibz/ui/core/boxes/card_group.rb +11 -12
- data/lib/ui_bibz/ui/core/boxes/components/body/card_body_link.rb +5 -6
- data/lib/ui_bibz/ui/core/boxes/components/body/card_body_text.rb +5 -6
- data/lib/ui_bibz/ui/core/boxes/components/body/card_body_title.rb +5 -6
- data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +11 -12
- data/lib/ui_bibz/ui/core/boxes/components/card_footer.rb +7 -8
- data/lib/ui_bibz/ui/core/boxes/components/card_header.rb +12 -13
- data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +6 -7
- data/lib/ui_bibz/ui/core/boxes/components/card_list_group.rb +4 -5
- data/lib/ui_bibz/ui/core/boxes/components/card_tab_group.rb +5 -6
- data/lib/ui_bibz/ui/core/boxes/jumbotron.rb +5 -6
- data/lib/ui_bibz/ui/core/component.rb +22 -20
- data/lib/ui_bibz/ui/core/forms/buttons/button.rb +14 -15
- data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +14 -15
- data/lib/ui_bibz/ui/core/forms/buttons/button_link.rb +5 -6
- data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +11 -11
- data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_dropdown.rb +5 -6
- data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_split_dropdown.rb +5 -6
- data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +5 -6
- data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +10 -11
- data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +8 -9
- data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +5 -6
- data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +6 -7
- data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +4 -5
- data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +22 -23
- data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_divider.rb +3 -5
- data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_header.rb +4 -5
- data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_link.rb +6 -7
- data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +21 -22
- data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +8 -9
- data/lib/ui_bibz/ui/core/forms/files/file_field.rb +5 -6
- data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +10 -11
- data/lib/ui_bibz/ui/core/forms/numbers/number_field.rb +3 -4
- data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +3 -4
- data/lib/ui_bibz/ui/core/forms/selects/abstract_select.rb +9 -9
- data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +6 -7
- data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +9 -10
- data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +13 -14
- data/lib/ui_bibz/ui/core/forms/selects/select_field.rb +6 -7
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_addon.rb +4 -4
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +3 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_group.rb +3 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +3 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_refresh.rb +3 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_checkbox_field.rb +4 -4
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +3 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_radio_field.rb +3 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_switch_field.rb +3 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +24 -25
- data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +4 -5
- data/lib/ui_bibz/ui/core/forms/texts/auto_complete_field.rb +6 -7
- data/lib/ui_bibz/ui/core/forms/texts/text_field.rb +6 -6
- data/lib/ui_bibz/ui/core/icons/components/glyph_counter.rb +5 -6
- data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +5 -6
- data/lib/ui_bibz/ui/core/icons/glyph.rb +13 -14
- data/lib/ui_bibz/ui/core/icons/glyph_group.rb +16 -17
- data/lib/ui_bibz/ui/core/icons/star.rb +7 -9
- data/lib/ui_bibz/ui/core/layouts/col.rb +20 -21
- data/lib/ui_bibz/ui/core/layouts/container.rb +5 -6
- data/lib/ui_bibz/ui/core/layouts/row.rb +4 -5
- data/lib/ui_bibz/ui/core/lists/components/list.rb +19 -20
- data/lib/ui_bibz/ui/core/lists/components/list/list_body.rb +4 -5
- data/lib/ui_bibz/ui/core/lists/components/list/list_header.rb +5 -6
- data/lib/ui_bibz/ui/core/lists/list_group.rb +15 -16
- data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +5 -6
- data/lib/ui_bibz/ui/core/navigations/components/breadcrumb_link.rb +7 -8
- data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +6 -7
- data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +12 -13
- data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +7 -8
- data/lib/ui_bibz/ui/core/navigations/components/nav_link_list.rb +4 -5
- data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +8 -9
- data/lib/ui_bibz/ui/core/navigations/components/nav_text.rb +8 -9
- data/lib/ui_bibz/ui/core/navigations/components/navbar_brand.rb +5 -6
- data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +8 -8
- data/lib/ui_bibz/ui/core/navigations/components/navbar_nav.rb +6 -7
- data/lib/ui_bibz/ui/core/navigations/components/navbar_text.rb +6 -7
- data/lib/ui_bibz/ui/core/navigations/components/pagination_link.rb +5 -6
- data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +7 -7
- data/lib/ui_bibz/ui/core/navigations/link.rb +6 -7
- data/lib/ui_bibz/ui/core/navigations/nav.rb +20 -27
- data/lib/ui_bibz/ui/core/navigations/navbar.rb +23 -24
- data/lib/ui_bibz/ui/core/navigations/pagination.rb +9 -12
- data/lib/ui_bibz/ui/core/navigations/tab_group.rb +7 -8
- data/lib/ui_bibz/ui/core/navigations/toolbar.rb +14 -15
- data/lib/ui_bibz/ui/core/notifications/alert.rb +11 -12
- data/lib/ui_bibz/ui/core/notifications/badge.rb +7 -8
- data/lib/ui_bibz/ui/core/notifications/components/alert_body.rb +5 -6
- data/lib/ui_bibz/ui/core/notifications/components/alert_header.rb +8 -9
- data/lib/ui_bibz/ui/core/notifications/components/bar.rb +11 -12
- data/lib/ui_bibz/ui/core/notifications/components/toast_body.rb +5 -6
- data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +7 -8
- data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +12 -13
- data/lib/ui_bibz/ui/core/notifications/spinner.rb +11 -12
- data/lib/ui_bibz/ui/core/notifications/toast.rb +9 -10
- data/lib/ui_bibz/ui/core/windows/components/modal_body.rb +4 -5
- data/lib/ui_bibz/ui/core/windows/components/modal_footer.rb +4 -5
- data/lib/ui_bibz/ui/core/windows/components/modal_header.rb +6 -7
- data/lib/ui_bibz/ui/core/windows/modal.rb +8 -9
- data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +13 -15
- data/lib/ui_bibz/ui/extensions/core/component/klass_extension.rb +9 -10
- data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +22 -21
- data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +9 -9
- data/lib/ui_bibz/ui/extensions/core/forms/surround_extension.rb +8 -10
- data/lib/ui_bibz/ui/ux/containers/components/panel_body.rb +5 -6
- data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +6 -7
- data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +6 -7
- data/lib/ui_bibz/ui/ux/containers/components/panel_footer.rb +5 -6
- data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +6 -7
- data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +12 -12
- data/lib/ui_bibz/ui/ux/containers/components/panel_tab_group.rb +5 -6
- data/lib/ui_bibz/ui/ux/containers/components/panel_toolbar.rb +5 -6
- data/lib/ui_bibz/ui/ux/containers/panel.rb +21 -22
- data/lib/ui_bibz/ui/ux/tables/components/actions.rb +14 -16
- data/lib/ui_bibz/ui/ux/tables/components/as.rb +8 -9
- data/lib/ui_bibz/ui/ux/tables/components/column.rb +4 -4
- data/lib/ui_bibz/ui/ux/tables/components/columns.rb +4 -3
- data/lib/ui_bibz/ui/ux/tables/components/store.rb +5 -7
- data/lib/ui_bibz/ui/ux/tables/components/thead.rb +5 -6
- data/lib/ui_bibz/ui/ux/tables/extensions/actionable.rb +24 -23
- data/lib/ui_bibz/ui/ux/tables/extensions/paginable.rb +8 -10
- data/lib/ui_bibz/ui/ux/tables/extensions/searchable.rb +9 -9
- data/lib/ui_bibz/ui/ux/tables/extensions/sortable.rb +26 -26
- data/lib/ui_bibz/ui/ux/tables/table.rb +32 -39
- data/lib/ui_bibz/ui/ux/tables/table_card.rb +18 -26
- data/lib/ui_bibz/ui/ux/tables/table_pagination.rb +15 -18
- data/lib/ui_bibz/ui/ux/tables/table_pagination_per_page.rb +15 -18
- data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +19 -23
- data/lib/ui_bibz/utils/glyph_changer.rb +13 -13
- data/lib/ui_bibz/utils/internationalization.rb +10 -7
- data/lib/ui_bibz/utils/screwdriver.rb +7 -5
- data/test/dummy/Rakefile +3 -1
- data/test/dummy/app/controllers/application_controller.rb +2 -0
- data/test/dummy/app/controllers/users_controller.rb +15 -14
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/models/application_record.rb +2 -0
- data/test/dummy/app/models/continent.rb +2 -0
- data/test/dummy/app/models/country.rb +2 -0
- data/test/dummy/app/models/user.rb +2 -0
- data/test/dummy/bin/bundle +3 -1
- data/test/dummy/bin/rails +3 -1
- data/test/dummy/bin/rake +2 -0
- data/test/dummy/bin/setup +10 -8
- data/test/dummy/config.ru +2 -0
- data/test/dummy/config/application.rb +5 -4
- data/test/dummy/config/boot.rb +4 -2
- data/test/dummy/config/environment.rb +3 -1
- data/test/dummy/config/environments/development.rb +2 -0
- data/test/dummy/config/environments/production.rb +2 -0
- data/test/dummy/config/environments/test.rb +2 -0
- data/test/dummy/config/initializers/assets.rb +2 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +2 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +2 -0
- data/test/dummy/config/initializers/inflections.rb +2 -0
- data/test/dummy/config/initializers/mime_types.rb +2 -0
- data/test/dummy/config/initializers/session_store.rb +2 -0
- data/test/dummy/config/initializers/simple_form_bootstrap.rb +3 -1
- data/test/dummy/config/initializers/ui_bibz.rb +1 -1
- data/test/dummy/config/initializers/wrap_parameters.rb +2 -0
- data/test/dummy/config/routes.rb +2 -0
- data/test/dummy/db/migrate/20150123191805_create_users.rb +2 -0
- data/test/dummy/db/migrate/20170309084406_continents.rb +2 -0
- data/test/dummy/db/migrate/20170309084453_countries.rb +2 -0
- data/test/dummy/db/schema.rb +22 -22
- data/test/dummy/test/models/user_test.rb +2 -0
- data/test/factories/user.rb +6 -4
- data/test/simple_form_test.rb +28 -34
- data/test/store_test.rb +10 -9
- data/test/support/factory_bot.rb +9 -5
- data/test/test_helper.rb +8 -8
- data/test/ui/core/boxes/card_test.rb +28 -26
- data/test/ui/core/boxes/jumbotron_test.rb +4 -3
- data/test/ui/core/component_test.rb +4 -4
- data/test/ui/core/forms/buttons/button_group_test.rb +8 -7
- data/test/ui/core/forms/buttons/button_link_test.rb +16 -14
- data/test/ui/core/forms/buttons/button_refresh_test.rb +5 -5
- data/test/ui/core/forms/buttons/button_test.rb +25 -23
- data/test/ui/core/forms/choices/box_switch_field_test.rb +62 -62
- data/test/ui/core/forms/choices/checkbox_field_test.rb +7 -6
- data/test/ui/core/forms/choices/choice_group_test.rb +6 -5
- data/test/ui/core/forms/choices/radio_field_test.rb +7 -6
- data/test/ui/core/forms/dates/date_picker_field_test.rb +12 -11
- data/test/ui/core/forms/dropdowns/dropdown_test.rb +12 -11
- data/test/ui/core/forms/files/text_field_test.rb +7 -6
- data/test/ui/core/forms/numbers/formula_field_test.rb +7 -6
- data/test/ui/core/forms/numbers/number_field_test.rb +12 -11
- data/test/ui/core/forms/numbers/range_field_test.rb +12 -11
- data/test/ui/core/forms/selects/dropdown_select_field_test.rb +61 -60
- data/test/ui/core/forms/selects/multi_column_field_test.rb +14 -13
- data/test/ui/core/forms/selects/multi_select_field_test.rb +19 -18
- data/test/ui/core/forms/selects/select_field_test.rb +13 -13
- data/test/ui/core/forms/surrounds/surround_field_test.rb +54 -54
- data/test/ui/core/forms/textareas/markdown_editor_field_test.rb +7 -6
- data/test/ui/core/forms/texts/auto_complete_field_test.rb +8 -7
- data/test/ui/core/forms/texts/text_field_test.rb +17 -16
- data/test/ui/core/icons/glyph_group_test.rb +8 -8
- data/test/ui/core/icons/glyph_test.rb +4 -4
- data/test/ui/core/icons/star_test.rb +37 -36
- data/test/ui/core/layouts/col_test.rb +11 -10
- data/test/ui/core/layouts/container_test.rb +3 -2
- data/test/ui/core/layouts/row_test.rb +4 -3
- data/test/ui/core/lists/list_group_test.rb +7 -6
- data/test/ui/core/navigations/breadcrumb_test.rb +12 -14
- data/test/ui/core/navigations/link_test.rb +9 -8
- data/test/ui/core/navigations/nav_test.rb +22 -21
- data/test/ui/core/navigations/navbar_test.rb +11 -11
- data/test/ui/core/navigations/pagination_test.rb +14 -13
- data/test/ui/core/navigations/tab_group_test.rb +22 -21
- data/test/ui/core/navigations/toolbar_test.rb +4 -3
- data/test/ui/core/notifications/alert_test.rb +5 -4
- data/test/ui/core/notifications/badge_test.rb +5 -4
- data/test/ui/core/notifications/progress_bar_test.rb +13 -13
- data/test/ui/core/notifications/spinner_test.rb +9 -8
- data/test/ui/core/notifications/toast_test.rb +3 -2
- data/test/ui/core/windows/modal_test.rb +3 -2
- data/test/ui/ux/containers/panel_test.rb +7 -6
- data/test/ui/ux/tables/table_test.rb +33 -33
- data/test/ui_bibz_test.rb +3 -1
- data/ui_bibz.gemspec +32 -28
- metadata +73 -42
@@ -1,6 +1,7 @@
|
|
1
|
-
|
2
|
-
module UiBibz::Ui::Core::Lists
|
1
|
+
# frozen_string_literal: true
|
3
2
|
|
3
|
+
require 'ui_bibz/ui/core/lists/components/list'
|
4
|
+
module UiBibz::Ui::Core::Lists
|
4
5
|
# Create a list group
|
5
6
|
#
|
6
7
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -70,43 +71,41 @@ module UiBibz::Ui::Core::Lists
|
|
70
71
|
# end
|
71
72
|
#
|
72
73
|
class ListGroup < UiBibz::Ui::Core::Component
|
73
|
-
|
74
74
|
# See UiBibz::Ui::Core::Component.initialize
|
75
|
-
def initialize
|
75
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
76
76
|
super
|
77
77
|
@lists = []
|
78
78
|
end
|
79
79
|
|
80
80
|
# Render html tag
|
81
81
|
def pre_render
|
82
|
-
content_tag tag_type, @lists.join
|
82
|
+
content_tag tag_type, @lists.join.html_safe, html_options
|
83
83
|
end
|
84
84
|
|
85
85
|
# Add group list
|
86
86
|
# See UiBibz::Ui::Core::List
|
87
|
-
def list
|
87
|
+
def list(content = nil, options = {}, html_options = nil, &block)
|
88
88
|
options = options.merge({ tag_type: @options[:tag_type] }) unless @options[:tag_type].nil?
|
89
89
|
|
90
|
-
if
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
90
|
+
@lists << if tap?(content, options)
|
91
|
+
UiBibz::Ui::Core::Lists::Components::List.new(content, options, html_options).tap(&block).render
|
92
|
+
else
|
93
|
+
UiBibz::Ui::Core::Lists::Components::List.new(content, options, html_options, &block).render
|
94
|
+
end
|
95
95
|
end
|
96
96
|
|
97
|
-
|
97
|
+
private
|
98
98
|
|
99
99
|
def component_html_classes
|
100
|
-
super << [
|
100
|
+
super << ['list-group', flush]
|
101
101
|
end
|
102
102
|
|
103
103
|
def flush
|
104
|
-
|
104
|
+
'list-group-flush' if options[:flush]
|
105
105
|
end
|
106
106
|
|
107
107
|
def tag_type
|
108
|
-
[
|
108
|
+
%i[a button].include?(options[:tag_type]) ? :div : :ul
|
109
109
|
end
|
110
|
-
|
111
110
|
end
|
112
111
|
end
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'ui_bibz/ui/core/navigations/components/breadcrumb_link'
|
2
4
|
module UiBibz::Ui::Core::Navigations
|
3
|
-
|
4
5
|
# Breadcrumb
|
5
6
|
#
|
6
7
|
# Indicate the current page's location within a navigational hierarchy.
|
@@ -68,9 +69,8 @@ module UiBibz::Ui::Core::Navigations
|
|
68
69
|
# ui_breadcrumb(@users, { link_label: name, link_url: user_path(:id) })
|
69
70
|
#
|
70
71
|
class Breadcrumb < UiBibz::Ui::Core::Component
|
71
|
-
|
72
72
|
# See UiBibz::Ui::Core::Component.initialize
|
73
|
-
def initialize
|
73
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
74
74
|
super
|
75
75
|
@links = []
|
76
76
|
generate_links unless @content.nil?
|
@@ -85,14 +85,14 @@ module UiBibz::Ui::Core::Navigations
|
|
85
85
|
|
86
86
|
# Add breadcrumb link items
|
87
87
|
# See UiBibz::Ui::Core::BreadcrumbLink
|
88
|
-
def link
|
88
|
+
def link(content = nil, options = nil, html_options = nil, &block)
|
89
89
|
@links << UiBibz::Ui::Core::Navigations::Components::BreadcrumbLink.new(content, options, html_options, &block).render
|
90
90
|
end
|
91
91
|
|
92
92
|
private
|
93
93
|
|
94
94
|
def component_html_options
|
95
|
-
super.merge({ "arial-label":
|
95
|
+
super.merge({ "arial-label": 'breadcrumb' })
|
96
96
|
end
|
97
97
|
|
98
98
|
def model_name
|
@@ -116,6 +116,5 @@ module UiBibz::Ui::Core::Navigations
|
|
116
116
|
def last_item
|
117
117
|
content.last
|
118
118
|
end
|
119
|
-
|
120
119
|
end
|
121
120
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations::Components
|
3
4
|
# Create a BreadcrumbLink
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -14,7 +15,7 @@ module UiBibz::Ui::Core::Navigations::Components
|
|
14
15
|
#
|
15
16
|
# You can add HTML attributes using the +html_options+.
|
16
17
|
# You can pass arguments in options attribute:
|
17
|
-
# * +state+ - status of
|
18
|
+
# * +state+ - status of element with symbol value:
|
18
19
|
# (+:active+)
|
19
20
|
# * +url+ - String
|
20
21
|
# * +glyph+ - Add glyph with name or hash options
|
@@ -39,9 +40,8 @@ module UiBibz::Ui::Core::Navigations::Components
|
|
39
40
|
# end.render
|
40
41
|
#
|
41
42
|
class BreadcrumbLink < UiBibz::Ui::Core::Navigations::Link
|
42
|
-
|
43
43
|
# See UiBibz::Ui::Core::Component.initialize
|
44
|
-
def initialize
|
44
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
45
45
|
super
|
46
46
|
end
|
47
47
|
|
@@ -50,14 +50,14 @@ module UiBibz::Ui::Core::Navigations::Components
|
|
50
50
|
content_tag :li, link_html, html_options
|
51
51
|
end
|
52
52
|
|
53
|
-
|
53
|
+
private
|
54
54
|
|
55
55
|
def component_html_options
|
56
|
-
super.merge(options[:current] ? { "aria-current":
|
56
|
+
super.merge(options[:current] ? { "aria-current": 'page' } : {})
|
57
57
|
end
|
58
58
|
|
59
59
|
def component_html_classes
|
60
|
-
|
60
|
+
'breadcrumb-item'
|
61
61
|
end
|
62
62
|
|
63
63
|
def component_options
|
@@ -71,6 +71,5 @@ module UiBibz::Ui::Core::Navigations::Components
|
|
71
71
|
link_to glyph_and_content_html, options[:url] || '#'
|
72
72
|
end
|
73
73
|
end
|
74
|
-
|
75
74
|
end
|
76
75
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations
|
3
4
|
# Create a dropdown
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Navigations::Component.
|
@@ -15,7 +16,7 @@ module UiBibz::Ui::Core::Navigations
|
|
15
16
|
#
|
16
17
|
# You can add HTML attributes using the +html_options+.
|
17
18
|
# You can pass arguments in options attribute:
|
18
|
-
# * +status+ - status of
|
19
|
+
# * +status+ - status of element with symbol value:
|
19
20
|
# (+:default+, +:primary+, +:info+, +:warning+, +:danger+)
|
20
21
|
# * +size+
|
21
22
|
# (+:xs+, +:sm+, +:lg+)
|
@@ -42,9 +43,8 @@ module UiBibz::Ui::Core::Navigations
|
|
42
43
|
# end.render
|
43
44
|
#
|
44
45
|
class NavDropdown < UiBibz::Ui::Core::Forms::Dropdowns::Dropdown
|
45
|
-
|
46
46
|
# See UiBibz::Ui::Core::Dropdown.initialize
|
47
|
-
def initialize
|
47
|
+
def initialize(content, options = nil, html_options = nil, &block)
|
48
48
|
super
|
49
49
|
end
|
50
50
|
|
@@ -56,15 +56,14 @@ module UiBibz::Ui::Core::Navigations
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
-
|
59
|
+
private
|
60
60
|
|
61
61
|
def component_html_classes
|
62
62
|
[type, 'nav-item', without_caret]
|
63
63
|
end
|
64
64
|
|
65
65
|
def link_html
|
66
|
-
link_to button_content,
|
66
|
+
link_to button_content, '#', class: join_classes(size, 'dropdown-toggle', 'nav-link'), 'data-toggle' => 'dropdown', 'aria-expanded' => false
|
67
67
|
end
|
68
|
-
|
69
68
|
end
|
70
69
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'ui_bibz/ui/core/navigations/components/nav_link_link'
|
2
4
|
require 'ui_bibz/ui/core/navigations/components/nav_link_list'
|
3
5
|
require 'ui_bibz/ui/core/navigations/components/nav_link_span'
|
4
6
|
module UiBibz::Ui::Core::Navigations
|
5
|
-
|
6
7
|
# Create a NavLink
|
7
8
|
#
|
8
9
|
# This element is an extend of UiBibz::Ui::Core::Navigations::Component.
|
@@ -17,7 +18,7 @@ module UiBibz::Ui::Core::Navigations
|
|
17
18
|
#
|
18
19
|
# You can add HTML attributes using the +html_options+.
|
19
20
|
# You can pass arguments in options attribute:
|
20
|
-
# * +state+ - status of
|
21
|
+
# * +state+ - status of element with symbol value:
|
21
22
|
# (+:active+)
|
22
23
|
# * +url+ - String
|
23
24
|
# * +badge+ - String
|
@@ -40,24 +41,23 @@ module UiBibz::Ui::Core::Navigations
|
|
40
41
|
# end.render
|
41
42
|
#
|
42
43
|
class NavLink < UiBibz::Ui::Core::Component
|
43
|
-
|
44
44
|
# See UiBibz::Ui::Core::Component.initialize
|
45
|
-
def initialize
|
45
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
46
46
|
super
|
47
47
|
@old_options = options
|
48
48
|
end
|
49
49
|
|
50
50
|
# Render html tag
|
51
51
|
def pre_render
|
52
|
-
if options[:nav_tags] == :a || options[:nav_type] ==
|
52
|
+
if options[:nav_tags] == :a || options[:nav_type] == 'nav-links'
|
53
53
|
UiBibz::Ui::Core::Navigations::NavLinkLink.new(content, options, html_options).render
|
54
54
|
else
|
55
|
-
if options[:tag_type] == :span
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
#html_options[:class] = remove_class(html_options[:class])
|
55
|
+
cont = if options[:tag_type] == :span
|
56
|
+
UiBibz::Ui::Core::Navigations::NavLinkSpan.new(content, @old_options).render
|
57
|
+
else
|
58
|
+
UiBibz::Ui::Core::Navigations::NavLinkLink.new(content, options).render
|
59
|
+
end
|
60
|
+
# html_options[:class] = remove_class(html_options[:class])
|
61
61
|
remove_classes
|
62
62
|
UiBibz::Ui::Core::Navigations::NavLinkList.new(cont, options, html_options).render
|
63
63
|
end
|
@@ -66,9 +66,8 @@ module UiBibz::Ui::Core::Navigations
|
|
66
66
|
private
|
67
67
|
|
68
68
|
def remove_classes
|
69
|
-
exclude_classes_in_html_options %w
|
69
|
+
exclude_classes_in_html_options %w[active disabled]
|
70
70
|
options.delete(:state)
|
71
71
|
end
|
72
|
-
|
73
72
|
end
|
74
73
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations
|
3
4
|
# Create a NavLinkLink
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -14,13 +15,12 @@ module UiBibz::Ui::Core::Navigations
|
|
14
15
|
#
|
15
16
|
# You can add HTML attributes using the +html_options+.
|
16
17
|
# You can pass arguments in options attribute:
|
17
|
-
# * +state+ - status of
|
18
|
+
# * +state+ - status of element with symbol value:
|
18
19
|
# (+:active+)
|
19
20
|
#
|
20
21
|
class NavLinkLink < UiBibz::Ui::Core::Component
|
21
|
-
|
22
22
|
# UiBibz::Ui::Core::Component.initialize
|
23
|
-
def initialize
|
23
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
24
24
|
super
|
25
25
|
end
|
26
26
|
|
@@ -32,15 +32,14 @@ module UiBibz::Ui::Core::Navigations
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
|
35
|
+
private
|
36
36
|
|
37
37
|
def component_html_classes
|
38
|
-
|
38
|
+
'nav-link'
|
39
39
|
end
|
40
40
|
|
41
41
|
def component_html_options
|
42
|
-
options[:nav_type] ==
|
42
|
+
options[:nav_type] == 'nav-tabs' ? { 'data-toggle' => 'tab', role: 'tab' } : {}
|
43
43
|
end
|
44
|
-
|
45
44
|
end
|
46
45
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations
|
3
4
|
# Create a NavLinkList
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -15,8 +16,7 @@ module UiBibz::Ui::Core::Navigations
|
|
15
16
|
# You can add HTML attributes using the +html_options+.
|
16
17
|
# You can pass arguments in options attribute:
|
17
18
|
class NavLinkList < UiBibz::Ui::Core::Component
|
18
|
-
|
19
|
-
def initialize content = nil, options = nil, html_options = nil, &block
|
19
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
20
20
|
super
|
21
21
|
end
|
22
22
|
|
@@ -25,11 +25,10 @@ module UiBibz::Ui::Core::Navigations
|
|
25
25
|
content_tag :li, content, html_options
|
26
26
|
end
|
27
27
|
|
28
|
-
|
28
|
+
private
|
29
29
|
|
30
30
|
def component_html_classes
|
31
31
|
'nav-item'
|
32
32
|
end
|
33
|
-
|
34
33
|
end
|
35
34
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations
|
3
4
|
# Create a NavLinkLink
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -14,13 +15,12 @@ module UiBibz::Ui::Core::Navigations
|
|
14
15
|
#
|
15
16
|
# You can add HTML attributes using the +html_options+.
|
16
17
|
# You can pass arguments in options attribute:
|
17
|
-
# * +state+ - status of
|
18
|
+
# * +state+ - status of element with symbol value:
|
18
19
|
# (+:active+)
|
19
20
|
#
|
20
21
|
class NavLinkSpan < UiBibz::Ui::Core::Component
|
21
|
-
|
22
22
|
# UiBibz::Ui::Core::Component.initialize
|
23
|
-
def initialize
|
23
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
24
24
|
super
|
25
25
|
end
|
26
26
|
|
@@ -32,20 +32,19 @@ module UiBibz::Ui::Core::Navigations
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
-
|
35
|
+
private
|
36
36
|
|
37
37
|
def component_html_classes
|
38
|
-
|
38
|
+
'nav-link'
|
39
39
|
end
|
40
40
|
|
41
41
|
def component_html_options
|
42
|
-
{
|
42
|
+
{ 'data-toggle' => 'tab', role: 'tab' }
|
43
43
|
end
|
44
44
|
|
45
45
|
def component_html_data
|
46
46
|
super
|
47
|
-
add_html_data
|
47
|
+
add_html_data 'link', options[:link] if options[:link]
|
48
48
|
end
|
49
|
-
|
50
49
|
end
|
51
50
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations
|
3
4
|
# Create a NavLinkLink
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -14,22 +15,21 @@ module UiBibz::Ui::Core::Navigations
|
|
14
15
|
#
|
15
16
|
# You can add HTML attributes using the +html_options+.
|
16
17
|
# You can pass arguments in options attribute:
|
17
|
-
# * +state+ - status of
|
18
|
+
# * +state+ - status of element with symbol value:
|
18
19
|
# (+:active+)
|
19
20
|
#
|
20
21
|
class NavText < UiBibz::Ui::Core::Component
|
21
|
-
|
22
22
|
# UiBibz::Ui::Core::Component.initialize
|
23
|
-
def initialize
|
23
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
24
24
|
super
|
25
25
|
end
|
26
26
|
|
27
27
|
# Render html tag
|
28
28
|
def pre_render
|
29
|
-
options[:nav_type] ==
|
29
|
+
options[:nav_type] == 'nav-links' ? content_html : content_tag(:li, content_html, class: 'nav-item nav-text')
|
30
30
|
end
|
31
31
|
|
32
|
-
|
32
|
+
private
|
33
33
|
|
34
34
|
def content_html
|
35
35
|
content_tag :span, html_options do
|
@@ -39,12 +39,11 @@ module UiBibz::Ui::Core::Navigations
|
|
39
39
|
end
|
40
40
|
|
41
41
|
def component_html_classes
|
42
|
-
|
42
|
+
'nav-link'
|
43
43
|
end
|
44
44
|
|
45
45
|
def component_html_options
|
46
|
-
options[:nav_type] ==
|
46
|
+
options[:nav_type] == 'nav-tabs' ? { 'data-toggle' => 'tab', role: 'tab' } : {}
|
47
47
|
end
|
48
|
-
|
49
48
|
end
|
50
49
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations
|
3
4
|
# Create a Navbar
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -15,9 +16,8 @@ module UiBibz::Ui::Core::Navigations
|
|
15
16
|
# You can add HTML attributes using the +html_options+.
|
16
17
|
# You can pass arguments in options attribute:
|
17
18
|
class NavbarBrand < UiBibz::Ui::Core::Component
|
18
|
-
|
19
19
|
# See UiBibz::Ui::Core::Component.initialize
|
20
|
-
def initialize
|
20
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
21
21
|
super
|
22
22
|
end
|
23
23
|
|
@@ -30,15 +30,14 @@ module UiBibz::Ui::Core::Navigations
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
|
33
|
+
private
|
34
34
|
|
35
35
|
def component_html_classes
|
36
36
|
'navbar-brand'
|
37
37
|
end
|
38
38
|
|
39
39
|
def brand_url
|
40
|
-
options[:url] ||
|
40
|
+
options[:url] || '/'
|
41
41
|
end
|
42
|
-
|
43
42
|
end
|
44
43
|
end
|