ui_bibz 2.4.0 → 2.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'haml'
|
2
4
|
module UiBibz::Ui::Core::Navigations
|
3
|
-
|
4
5
|
# Create a NavbarForm
|
5
6
|
#
|
6
7
|
# This element is an extend of ActionView::Helpers::FormHelper::FormFor to Rails
|
@@ -43,16 +44,16 @@ module UiBibz::Ui::Core::Navigations
|
|
43
44
|
include Haml::Helpers
|
44
45
|
include SimpleForm::ActionViewExtensions::FormHelper if defined?(SimpleForm)
|
45
46
|
include UiBibz::Helpers::UtilsHelper
|
46
|
-
include ActionView::Helpers#::FormHelper
|
47
|
+
include ActionView::Helpers #::FormHelper
|
47
48
|
|
48
49
|
attr_accessor :html_options
|
49
50
|
|
50
|
-
def initialize
|
51
|
+
def initialize(model_or_url, options = {}, &block)
|
51
52
|
init_haml_helpers
|
52
53
|
@content = block
|
53
54
|
@model_or_url = model_or_url
|
54
55
|
@options = options
|
55
|
-
@html_options = !%i
|
56
|
+
@html_options = !%i[form_for ui_form_for].include?(type) ? html_options_for_form(@model_or_url, new_option) : new_option
|
56
57
|
end
|
57
58
|
|
58
59
|
# Render html tag
|
@@ -63,7 +64,7 @@ module UiBibz::Ui::Core::Navigations
|
|
63
64
|
when :ui_form_for
|
64
65
|
begin
|
65
66
|
@form = ui_form_for(@model_or_url, html_options, &@content)
|
66
|
-
|
67
|
+
## rescue
|
67
68
|
## raise 'You must install simple form to use ui_form_for.'
|
68
69
|
end
|
69
70
|
else
|
@@ -71,10 +72,10 @@ module UiBibz::Ui::Core::Navigations
|
|
71
72
|
end
|
72
73
|
end
|
73
74
|
|
74
|
-
|
75
|
+
private
|
75
76
|
|
76
77
|
def new_option
|
77
|
-
(@options || {}).merge({ class: UiBibz::Utils::Screwdriver.join_classes(
|
78
|
+
(@options || {}).merge({ class: UiBibz::Utils::Screwdriver.join_classes('navbar-form', 'form-inline', 'my-lg-0', 'my-2', @options[:class]) })
|
78
79
|
end
|
79
80
|
|
80
81
|
def protect_against_forgery?
|
@@ -88,6 +89,5 @@ module UiBibz::Ui::Core::Navigations
|
|
88
89
|
def type
|
89
90
|
@options[:type] || :form_for
|
90
91
|
end
|
91
|
-
|
92
92
|
end
|
93
93
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations
|
3
4
|
# Create a NavbarNav
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Navigations::Nav.
|
@@ -37,16 +38,15 @@ module UiBibz::Ui::Core::Navigations
|
|
37
38
|
# end.render
|
38
39
|
#
|
39
40
|
class NavbarNav < UiBibz::Ui::Core::Navigations::Nav
|
40
|
-
|
41
41
|
# See UiBibz::Ui::Core::Navigations::Nav.initialize
|
42
|
-
def initialize
|
42
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
43
43
|
super
|
44
44
|
end
|
45
45
|
|
46
|
-
|
46
|
+
private
|
47
47
|
|
48
48
|
def component_html_classes
|
49
|
-
[
|
49
|
+
['navbar-nav']
|
50
50
|
end
|
51
51
|
|
52
52
|
def type
|
@@ -54,8 +54,7 @@ module UiBibz::Ui::Core::Navigations
|
|
54
54
|
end
|
55
55
|
|
56
56
|
def position
|
57
|
-
"pull-#{
|
57
|
+
"pull-#{@options[:position]}" unless @options[:position].nil?
|
58
58
|
end
|
59
|
-
|
60
59
|
end
|
61
60
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations
|
3
4
|
# Create a NavbarText
|
4
5
|
#
|
5
6
|
# ==== Attributes
|
@@ -32,9 +33,8 @@ module UiBibz::Ui::Core::Navigations
|
|
32
33
|
# end.render
|
33
34
|
#
|
34
35
|
class NavbarText < UiBibz::Ui::Core::Component
|
35
|
-
|
36
36
|
# See UiBibz::Ui::Core::Component.initialize
|
37
|
-
def initialize
|
37
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
38
38
|
super
|
39
39
|
end
|
40
40
|
|
@@ -43,15 +43,14 @@ module UiBibz::Ui::Core::Navigations
|
|
43
43
|
content_tag :span, content, html_options
|
44
44
|
end
|
45
45
|
|
46
|
-
|
46
|
+
private
|
47
47
|
|
48
48
|
def component_html_classes
|
49
|
-
[
|
49
|
+
['navbar-text', position]
|
50
50
|
end
|
51
51
|
|
52
52
|
def position
|
53
|
-
"navbar-#{
|
53
|
+
"navbar-#{options[:position]}" unless options[:position].nil?
|
54
54
|
end
|
55
|
-
|
56
55
|
end
|
57
56
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations
|
3
4
|
# Create a PageLink
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Navigations::Component.
|
@@ -14,7 +15,7 @@ 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
|
# * +url+ - String
|
20
21
|
# * +badge+ - String
|
@@ -37,9 +38,8 @@ module UiBibz::Ui::Core::Navigations
|
|
37
38
|
# end.render
|
38
39
|
#
|
39
40
|
class PaginationLink < UiBibz::Ui::Core::Component
|
40
|
-
|
41
41
|
# See UiBibz::Ui::Core::Component.initialize
|
42
|
-
def initialize
|
42
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
43
43
|
super
|
44
44
|
end
|
45
45
|
|
@@ -53,8 +53,7 @@ module UiBibz::Ui::Core::Navigations
|
|
53
53
|
private
|
54
54
|
|
55
55
|
def component_html_classes
|
56
|
-
|
56
|
+
'page-item'
|
57
57
|
end
|
58
|
-
|
59
58
|
end
|
60
59
|
end
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'haml'
|
2
4
|
module UiBibz::Ui::Core::Navigations
|
3
|
-
|
4
5
|
# Create a ToolbarForm
|
5
6
|
#
|
6
7
|
# This element is an extend of ActionView::Helpers::FormHelper::FormFor to Rails
|
@@ -47,12 +48,12 @@ module UiBibz::Ui::Core::Navigations
|
|
47
48
|
|
48
49
|
attr_accessor :html_options
|
49
50
|
|
50
|
-
def initialize
|
51
|
+
def initialize(model_or_url, options = {}, &block)
|
51
52
|
init_haml_helpers
|
52
53
|
@content = block
|
53
54
|
@model_or_url = model_or_url
|
54
55
|
@options = options
|
55
|
-
@html_options = !%i
|
56
|
+
@html_options = !%i[form_for ui_form_for].include?(type) ? html_options_for_form(@model_or_url, new_option) : new_option
|
56
57
|
end
|
57
58
|
|
58
59
|
# Render html tag
|
@@ -63,7 +64,7 @@ module UiBibz::Ui::Core::Navigations
|
|
63
64
|
when :ui_form_for
|
64
65
|
begin
|
65
66
|
@form = ui_form_for(@model_or_url, html_options, &@content)
|
66
|
-
|
67
|
+
## rescue
|
67
68
|
## raise 'You must install simple form to use ui_form_for.'
|
68
69
|
end
|
69
70
|
else
|
@@ -71,10 +72,10 @@ module UiBibz::Ui::Core::Navigations
|
|
71
72
|
end
|
72
73
|
end
|
73
74
|
|
74
|
-
|
75
|
+
private
|
75
76
|
|
76
77
|
def new_option
|
77
|
-
(@options || {}).merge({ class: UiBibz::Utils::Screwdriver.join_classes(
|
78
|
+
(@options || {}).merge({ class: UiBibz::Utils::Screwdriver.join_classes('btn-group', @options[:class]) })
|
78
79
|
end
|
79
80
|
|
80
81
|
def protect_against_forgery?
|
@@ -88,6 +89,5 @@ module UiBibz::Ui::Core::Navigations
|
|
88
89
|
def type
|
89
90
|
@options[:type] || :form_for
|
90
91
|
end
|
91
|
-
|
92
92
|
end
|
93
93
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Navigations
|
3
4
|
# Create a Link
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -14,7 +15,7 @@ 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
|
# * +url+ - String
|
20
21
|
# * +glyph+ - Add glyph with name or hash options
|
@@ -39,15 +40,14 @@ module UiBibz::Ui::Core::Navigations
|
|
39
40
|
# end.render
|
40
41
|
#
|
41
42
|
class Link < UiBibz::Ui::Core::Component
|
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
|
|
48
48
|
# Render html tag
|
49
49
|
def pre_render
|
50
|
-
link_to glyph_and_content_html, options[:url] || "##{
|
50
|
+
link_to glyph_and_content_html, options[:url] || "##{options[:collapse]}", html_options
|
51
51
|
end
|
52
52
|
|
53
53
|
private
|
@@ -60,7 +60,7 @@ module UiBibz::Ui::Core::Navigations
|
|
60
60
|
|
61
61
|
def collapse
|
62
62
|
{
|
63
|
-
role:
|
63
|
+
role: 'button',
|
64
64
|
data: { toggle: :collapse },
|
65
65
|
aria: {
|
66
66
|
controls: options[:collapse],
|
@@ -72,6 +72,5 @@ module UiBibz::Ui::Core::Navigations
|
|
72
72
|
def text
|
73
73
|
@options[:text].nil? ? true : @options[:text]
|
74
74
|
end
|
75
|
-
|
76
75
|
end
|
77
76
|
end
|
@@ -1,8 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'ui_bibz/ui/core/navigations/components/nav_link'
|
2
4
|
require 'ui_bibz/ui/core/navigations/components/nav_text'
|
3
5
|
require 'ui_bibz/ui/core/navigations/components/nav_dropdown'
|
4
6
|
module UiBibz::Ui::Core::Navigations
|
5
|
-
|
6
7
|
# Create a nav
|
7
8
|
#
|
8
9
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -65,9 +66,8 @@ module UiBibz::Ui::Core::Navigations
|
|
65
66
|
# end
|
66
67
|
#
|
67
68
|
class Nav < UiBibz::Ui::Core::Component
|
68
|
-
|
69
69
|
# See UiBibz::Ui::Core::Component.initialize
|
70
|
-
def initialize
|
70
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
71
71
|
super
|
72
72
|
@items = []
|
73
73
|
end
|
@@ -79,83 +79,76 @@ module UiBibz::Ui::Core::Navigations
|
|
79
79
|
|
80
80
|
# Add nav link items
|
81
81
|
# See UiBibz::Ui::Core::Navigations::NavLink
|
82
|
-
def link
|
82
|
+
def link(content = nil, options = {}, html_options = nil, &block)
|
83
83
|
block_given? ? content.merge!({ nav_type: type, nav_tags: nav_tags }) : options.merge!({ nav_type: type, nav_tags: nav_tags })
|
84
84
|
@items << NavLink.new(content, options, html_options, &block)
|
85
85
|
end
|
86
86
|
|
87
|
-
def text
|
87
|
+
def text(content = nil, options = {}, html_options = nil, &block)
|
88
88
|
block_given? ? content.merge!({ nav_type: type }) : options.merge!({ nav_type: type })
|
89
89
|
@items << NavText.new(content, options, html_options, &block)
|
90
90
|
end
|
91
91
|
|
92
92
|
# Add nav in nav
|
93
|
-
def nav
|
93
|
+
def nav(content = nil, options = {}, html_options = nil, &block)
|
94
94
|
@items << UiBibz::Ui::Core::Component.new(Nav.new(content, options).tap(&block).render, {}, html_options)
|
95
95
|
end
|
96
96
|
|
97
97
|
# Add nav dropdown items
|
98
98
|
# See UiBibz::Ui::Core::Navigations::NavDropdown
|
99
|
-
def dropdown
|
99
|
+
def dropdown(content = nil, options = {}, html_options = nil, &block)
|
100
100
|
@items << NavDropdown.new(content, options, html_options).tap(&block)
|
101
101
|
end
|
102
102
|
|
103
|
-
def spacer
|
104
|
-
kls = " mr-#{
|
103
|
+
def spacer(num = 'auto')
|
104
|
+
kls = " mr-#{num}"
|
105
105
|
@items.last.html_options[:class].nil? ? @items.last.html_options[:class] = kls : @items.last.html_options[:class] << kls
|
106
106
|
end
|
107
107
|
|
108
|
-
|
108
|
+
protected
|
109
109
|
|
110
110
|
def component_html_classes
|
111
|
-
[
|
111
|
+
['nav', type, position, stacked, justify, fill]
|
112
112
|
end
|
113
113
|
|
114
114
|
# tabs or pills
|
115
115
|
def type
|
116
|
-
"nav-#{
|
116
|
+
"nav-#{@options[:type]}" unless @options[:type].nil?
|
117
117
|
end
|
118
118
|
|
119
119
|
def position
|
120
120
|
case @options[:position]
|
121
121
|
when :center
|
122
|
-
|
122
|
+
'justify-content-center'
|
123
123
|
when :right
|
124
|
-
|
125
|
-
else
|
126
|
-
nil
|
124
|
+
'justify-content-end'
|
127
125
|
end
|
128
126
|
end
|
129
127
|
|
130
128
|
def justify
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
else
|
135
|
-
"nav-fill"
|
136
|
-
end
|
137
|
-
end
|
129
|
+
return unless @options[:justify]
|
130
|
+
|
131
|
+
type == 'nav-links' ? 'nav-justified' : 'nav-fill'
|
138
132
|
end
|
139
133
|
|
140
134
|
def fill
|
141
|
-
|
135
|
+
'nav-fill' if @options[:fill]
|
142
136
|
end
|
143
137
|
|
144
138
|
def stacked
|
145
|
-
|
139
|
+
'flex-column' if @options[:stacked]
|
146
140
|
end
|
147
141
|
|
148
142
|
def tag
|
149
143
|
if options[:tag]
|
150
144
|
options[:tag]
|
151
145
|
else
|
152
|
-
type ==
|
146
|
+
type == 'nav-links' ? :nav : :ul
|
153
147
|
end
|
154
148
|
end
|
155
149
|
|
156
150
|
def nav_tags
|
157
151
|
@options[:nav_tags]
|
158
152
|
end
|
159
|
-
|
160
153
|
end
|
161
154
|
end
|
@@ -1,9 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'ui_bibz/ui/core/navigations/components/navbar_nav'
|
2
4
|
require 'ui_bibz/ui/core/navigations/components/navbar_text'
|
3
5
|
require 'ui_bibz/ui/core/navigations/components/navbar_form'
|
4
6
|
require 'ui_bibz/ui/core/navigations/components/navbar_brand'
|
5
7
|
module UiBibz::Ui::Core::Navigations
|
6
|
-
|
7
8
|
# Create a Navbar
|
8
9
|
#
|
9
10
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -69,9 +70,8 @@ module UiBibz::Ui::Core::Navigations
|
|
69
70
|
# end
|
70
71
|
#
|
71
72
|
class Navbar < UiBibz::Ui::Core::Component
|
72
|
-
|
73
73
|
# See UiBibz::Ui::Core::Component.initialize
|
74
|
-
def initialize
|
74
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
75
75
|
super
|
76
76
|
@items = []
|
77
77
|
end
|
@@ -88,38 +88,38 @@ module UiBibz::Ui::Core::Navigations
|
|
88
88
|
|
89
89
|
# Add navbar nav items
|
90
90
|
# See UiBibz::Ui::Core::NavbarNav
|
91
|
-
def nav
|
92
|
-
options
|
91
|
+
def nav(content = nil, options = nil, html_options = nil, &block)
|
92
|
+
options ||= {}
|
93
93
|
@items << UiBibz::Ui::Core::Navigations::NavbarNav.new(content, options, html_options).tap(&block)
|
94
94
|
end
|
95
95
|
|
96
96
|
# Add navbar form items
|
97
97
|
# See UiBibz::Ui::Core::NavbarForm
|
98
|
-
def form
|
98
|
+
def form(model_or_url, options = {}, &block)
|
99
99
|
@items << UiBibz::Ui::Core::Navigations::NavbarForm.new(model_or_url, options, &block)
|
100
100
|
end
|
101
101
|
|
102
102
|
# Not use !!!!!
|
103
103
|
# Add navbar text items
|
104
104
|
# See UiBibz::Ui::Core::NavbarText
|
105
|
-
def text
|
105
|
+
def text(content = nil, options = nil, html_options = nil, &block)
|
106
106
|
@items << UiBibz::Ui::Core::Navigations::NavbarText.new(content, options, html_options, &block)
|
107
107
|
end
|
108
108
|
|
109
|
-
def brand
|
109
|
+
def brand(content = nil, options = nil, html_options = nil, &block)
|
110
110
|
@brand = UiBibz::Ui::Core::Navigations::NavbarBrand.new(content, options, html_options, &block).render
|
111
111
|
end
|
112
112
|
|
113
|
-
def spacer
|
114
|
-
kls = " mr-#{
|
113
|
+
def spacer(num = 'auto')
|
114
|
+
kls = " mr-#{num}"
|
115
115
|
@items.last.html_options[:class].nil? ? @items.last.html_options[:class] = kls : @items.last.html_options[:class] << kls
|
116
116
|
end
|
117
117
|
|
118
118
|
def id
|
119
|
-
@id ||= generate_id(
|
119
|
+
@id ||= generate_id('navbar-id')
|
120
120
|
end
|
121
121
|
|
122
|
-
|
122
|
+
private
|
123
123
|
|
124
124
|
def component_html_classes
|
125
125
|
['navbar', type, position, expand_size]
|
@@ -127,28 +127,28 @@ module UiBibz::Ui::Core::Navigations
|
|
127
127
|
|
128
128
|
def title
|
129
129
|
@title ||= if @brand.nil?
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
130
|
+
brand(@options[:title]) unless @options[:title].nil?
|
131
|
+
else
|
132
|
+
@brand
|
133
|
+
end
|
134
134
|
end
|
135
135
|
|
136
136
|
def body_html
|
137
|
-
content_tag :div, class:
|
137
|
+
content_tag :div, class: 'navbar-collapse', id: id do
|
138
138
|
concat @items.map(&:render).join.html_safe
|
139
139
|
end
|
140
140
|
end
|
141
141
|
|
142
142
|
def navbar_toggle_button_html
|
143
|
-
content_tag :button,
|
143
|
+
content_tag :button, '☰', class: 'navbar-toggler hidden-sm-up', type: :button, data: { toggle: 'collapse', target: "##{id}" }
|
144
144
|
end
|
145
145
|
|
146
146
|
def expand_size
|
147
|
-
"navbar-expand-#{
|
147
|
+
"navbar-expand-#{@options[:expand_size] || :lg}" # unless @options[:expand_size].nil?
|
148
148
|
end
|
149
149
|
|
150
150
|
def position
|
151
|
-
"#{
|
151
|
+
"#{position_type}-#{@options[:position]}" unless @options[:position].nil?
|
152
152
|
end
|
153
153
|
|
154
154
|
def brand_position
|
@@ -157,16 +157,15 @@ module UiBibz::Ui::Core::Navigations
|
|
157
157
|
|
158
158
|
# fixed || sticky
|
159
159
|
def position_type
|
160
|
-
@options[:position_type] ||
|
160
|
+
@options[:position_type] || 'fixed'
|
161
161
|
end
|
162
162
|
|
163
163
|
def type
|
164
|
-
"navbar-#{
|
164
|
+
"navbar-#{@options[:type] || 'light'}"
|
165
165
|
end
|
166
166
|
|
167
167
|
def status
|
168
|
-
"bg-#{
|
168
|
+
"bg-#{@options[:status]}" unless @options[:status].nil?
|
169
169
|
end
|
170
|
-
|
171
170
|
end
|
172
171
|
end
|