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,8 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'ui_bibz/ui/core/boxes/components/body/card_body_text'
|
2
4
|
require 'ui_bibz/ui/core/boxes/components/body/card_body_title'
|
3
5
|
require 'ui_bibz/ui/core/boxes/components/body/card_body_link'
|
4
6
|
module UiBibz::Ui::Core::Boxes::Components
|
5
|
-
|
6
7
|
# Create a card body
|
7
8
|
#
|
8
9
|
# ==== Attributes
|
@@ -33,9 +34,8 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
33
34
|
# end.render
|
34
35
|
#
|
35
36
|
class CardBody < UiBibz::Ui::Core::Component
|
36
|
-
|
37
37
|
# See UiBibz::Ui::Core::Component.initialize
|
38
|
-
def initialize
|
38
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
39
39
|
super
|
40
40
|
@items = [@content]
|
41
41
|
end
|
@@ -43,7 +43,7 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
43
43
|
# Render html tag
|
44
44
|
def pre_render
|
45
45
|
if options[:collapse]
|
46
|
-
content_tag :div, class: join_classes(
|
46
|
+
content_tag :div, class: join_classes('collapse', show), id: options[:collapse], "data-parent": "##{options[:parent_collapse]}" do
|
47
47
|
content_tag :div, @items.join.html_safe, html_options
|
48
48
|
end
|
49
49
|
else
|
@@ -51,31 +51,30 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
def title
|
54
|
+
def title(content = nil, options = nil, html_options = nil, &block)
|
55
55
|
@items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyTitle.new(content, options, html_options, &block).render
|
56
56
|
end
|
57
57
|
|
58
|
-
def link
|
58
|
+
def link(content = nil, options = nil, html_options = nil, &block)
|
59
59
|
@items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyLink.new(content, options, html_options, &block).render
|
60
60
|
end
|
61
61
|
|
62
|
-
def text
|
62
|
+
def text(content = nil, options = nil, html_options = nil, &block)
|
63
63
|
@items << UiBibz::Ui::Core::Boxes::Components::Body::CardBodyText.new(content, options, html_options, &block).render
|
64
64
|
end
|
65
65
|
|
66
|
-
|
66
|
+
private
|
67
67
|
|
68
68
|
def component_html_classes
|
69
|
-
[
|
69
|
+
['card-body', outline]
|
70
70
|
end
|
71
71
|
|
72
72
|
def outline
|
73
|
-
"text-#{
|
73
|
+
"text-#{@options[:status]}" if @options[:outline]
|
74
74
|
end
|
75
75
|
|
76
76
|
def show
|
77
|
-
|
77
|
+
'show' if @options[:show]
|
78
78
|
end
|
79
|
-
|
80
79
|
end
|
81
80
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Boxes::Components
|
3
4
|
# Create a card footer
|
4
5
|
#
|
5
6
|
# ==== Attributes
|
@@ -30,9 +31,8 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
30
31
|
# end.render
|
31
32
|
#
|
32
33
|
class CardFooter < UiBibz::Ui::Core::Component
|
33
|
-
|
34
34
|
# See UiBibz::Ui::Core::Component.initialize
|
35
|
-
def initialize
|
35
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
36
36
|
super
|
37
37
|
end
|
38
38
|
|
@@ -41,19 +41,18 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
41
41
|
content_tag :div, glyph_and_content_html, html_options
|
42
42
|
end
|
43
43
|
|
44
|
-
|
44
|
+
private
|
45
45
|
|
46
46
|
def muted
|
47
|
-
|
47
|
+
'text-muted' unless @options[:muted].nil?
|
48
48
|
end
|
49
49
|
|
50
50
|
def component_html_classes
|
51
|
-
[
|
51
|
+
['card-footer', muted, outline]
|
52
52
|
end
|
53
53
|
|
54
54
|
def outline
|
55
|
-
"text-#{
|
55
|
+
"text-#{@options[:status]} border-#{@options[:status]} bg-transparent" if @options[:outline]
|
56
56
|
end
|
57
|
-
|
58
57
|
end
|
59
58
|
end
|
@@ -1,6 +1,7 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'ui_bibz/ui/core/boxes/components/card_tab_group'
|
2
4
|
module UiBibz::Ui::Core::Boxes::Components
|
3
|
-
|
4
5
|
# Create a card header
|
5
6
|
#
|
6
7
|
# ==== Attributes
|
@@ -38,9 +39,8 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
38
39
|
# end.render
|
39
40
|
#
|
40
41
|
class CardHeader < UiBibz::Ui::Core::Component
|
41
|
-
|
42
42
|
# See UiBibz::Ui::Core::Component.initialize
|
43
|
-
def initialize
|
43
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
44
44
|
super
|
45
45
|
end
|
46
46
|
|
@@ -49,23 +49,22 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
49
49
|
content_tag :div, glyph_and_content_html, html_options
|
50
50
|
end
|
51
51
|
|
52
|
-
def tab_group
|
53
|
-
if
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
52
|
+
def tab_group(content = nil, options = nil, html_options = nil, &block)
|
53
|
+
@content = if tap?(content, options)
|
54
|
+
CardTabGroup.new(content, options, html_options).tap(&block).render
|
55
|
+
else
|
56
|
+
CardTabGroup.new(content, options, html_options, &block).render
|
57
|
+
end
|
58
58
|
end
|
59
59
|
|
60
|
-
|
60
|
+
private
|
61
61
|
|
62
62
|
def component_html_classes
|
63
|
-
[
|
63
|
+
['card-header', outline]
|
64
64
|
end
|
65
65
|
|
66
66
|
def outline
|
67
|
-
"text-#{
|
67
|
+
"text-#{@options[:status]} border-#{@options[:status]} bg-transparent" if @options[:outline]
|
68
68
|
end
|
69
|
-
|
70
69
|
end
|
71
70
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Boxes::Components
|
3
4
|
# Create a card image
|
4
5
|
#
|
5
6
|
# ==== Attributes
|
@@ -32,27 +33,25 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
32
33
|
# end.render
|
33
34
|
#
|
34
35
|
class CardImage < 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
|
|
41
41
|
# Render html tag
|
42
42
|
def pre_render
|
43
|
-
#image_tag content, html_options
|
43
|
+
# image_tag content, html_options
|
44
44
|
image_tag content, html_options
|
45
45
|
end
|
46
46
|
|
47
|
-
|
47
|
+
private
|
48
48
|
|
49
49
|
def component_html_classes
|
50
50
|
position
|
51
51
|
end
|
52
52
|
|
53
53
|
def position
|
54
|
-
"card-img-#{
|
54
|
+
"card-img-#{@options[:position] || :top}"
|
55
55
|
end
|
56
|
-
|
57
56
|
end
|
58
57
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Boxes::Components
|
3
4
|
# Create a card list_group
|
4
5
|
#
|
5
6
|
# ==== Attributes
|
@@ -30,9 +31,8 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
30
31
|
# end.render
|
31
32
|
#
|
32
33
|
class CardListGroup < UiBibz::Ui::Core::Lists::ListGroup
|
33
|
-
|
34
34
|
# See UiBibz::Ui::Core::Component.initialize
|
35
|
-
def initialize
|
35
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
36
36
|
super
|
37
37
|
@lists = []
|
38
38
|
end
|
@@ -40,8 +40,7 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
40
40
|
protected
|
41
41
|
|
42
42
|
def component_html_classes
|
43
|
-
[
|
43
|
+
%w[list-group-flush list-group]
|
44
44
|
end
|
45
|
-
|
46
45
|
end
|
47
46
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Boxes::Components
|
3
4
|
# Create a card tab group
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Navigation::TabGroup.
|
@@ -11,16 +12,14 @@ module UiBibz::Ui::Core::Boxes::Components
|
|
11
12
|
# * +html_options+ - Html Options of element
|
12
13
|
#
|
13
14
|
class CardTabGroup < UiBibz::Ui::Core::Navigations::TabGroup
|
14
|
-
|
15
|
-
def initialize content = nil, options = nil, html_options = nil, &block
|
15
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
16
16
|
super
|
17
17
|
end
|
18
18
|
|
19
|
-
|
19
|
+
private
|
20
20
|
|
21
21
|
def component_html_classes
|
22
|
-
super <<
|
22
|
+
super << 'card-header-tabs'
|
23
23
|
end
|
24
|
-
|
25
24
|
end
|
26
25
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Boxes
|
3
4
|
# Create a jumbotron
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -41,9 +42,8 @@ module UiBibz::Ui::Core::Boxes
|
|
41
42
|
# end
|
42
43
|
#
|
43
44
|
class Jumbotron < UiBibz::Ui::Core::Component
|
44
|
-
|
45
45
|
# See UiBibz::Ui::Core::Boxes::Component.initialize
|
46
|
-
def initialize
|
46
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
47
47
|
super
|
48
48
|
end
|
49
49
|
|
@@ -58,15 +58,14 @@ module UiBibz::Ui::Core::Boxes
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
-
|
61
|
+
private
|
62
62
|
|
63
63
|
def component_html_classes
|
64
64
|
['jumbotron', fluid]
|
65
65
|
end
|
66
66
|
|
67
67
|
def fluid
|
68
|
-
|
68
|
+
'jumbotron-fluid' unless options[:fluid].nil?
|
69
69
|
end
|
70
|
-
|
71
70
|
end
|
72
71
|
end
|
@@ -1,9 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'haml'
|
2
4
|
require 'ui_bibz/ui/extensions/core/component/klass_extension'
|
3
5
|
require 'ui_bibz/ui/extensions/core/component/glyph_extension'
|
4
6
|
require 'ui_bibz/ui/extensions/core/component/popover_extension'
|
5
7
|
module UiBibz::Ui::Core
|
6
|
-
|
7
8
|
# Creates a component of the given +name+ using options created by the set of +options+.
|
8
9
|
#
|
9
10
|
# ==== Attributes
|
@@ -16,7 +17,7 @@ module UiBibz::Ui::Core
|
|
16
17
|
#
|
17
18
|
# You can add HTML attributes using the +html_options+.
|
18
19
|
# You can pass arguments in options attribute:
|
19
|
-
# * +status+ - status of
|
20
|
+
# * +status+ - status of element with symbol value:
|
20
21
|
# (+:default+, +:primary+, +:info+, +:warning+, +:danger+)
|
21
22
|
# * +glyph+ - Add glyph with name or hash options
|
22
23
|
# * +name+ - String
|
@@ -45,8 +46,8 @@ module UiBibz::Ui::Core
|
|
45
46
|
include PopoverExtension
|
46
47
|
|
47
48
|
# Constants
|
48
|
-
STATUSES = %i
|
49
|
-
SIZES = %i
|
49
|
+
STATUSES = %i[primary secondary success danger warning info light dark].freeze
|
50
|
+
SIZES = %i[lg md sm].freeze
|
50
51
|
|
51
52
|
attr_accessor :content, :html_options, :options
|
52
53
|
|
@@ -55,22 +56,24 @@ module UiBibz::Ui::Core
|
|
55
56
|
# if a block is sent, variable 'content' does not exit.
|
56
57
|
# * Options of component is defined in hash options
|
57
58
|
# * Html options is defined in hash html_options
|
58
|
-
def initialize
|
59
|
+
def initialize(content = nil, options = nil, html_options = nil, &block)
|
59
60
|
if !block.nil?
|
60
|
-
@html_options
|
61
|
+
@html_options = options
|
62
|
+
@options = content
|
61
63
|
read_cache = Rails.cache.read(@options.try(:[], :cache))
|
62
64
|
if read_cache.nil?
|
63
|
-
context = eval(
|
65
|
+
context = eval('self', block.binding) # rubocop:disable Style/EvalWithLocation
|
64
66
|
@content = context.capture(&block)
|
65
67
|
else
|
66
68
|
@content = read_cache
|
67
69
|
end
|
70
|
+
elsif content.is_a?(Hash)
|
71
|
+
@html_options = options
|
72
|
+
@options = content
|
68
73
|
else
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
@html_options, @options, @content = html_options, options, content
|
73
|
-
end
|
74
|
+
@html_options = html_options
|
75
|
+
@options = options
|
76
|
+
@content = content
|
74
77
|
end
|
75
78
|
@html_options = (@html_options || {}).with_indifferent_access
|
76
79
|
@options = (@options || {}).with_indifferent_access
|
@@ -89,11 +92,11 @@ module UiBibz::Ui::Core
|
|
89
92
|
end
|
90
93
|
|
91
94
|
# Know if component is tapped or not
|
92
|
-
def
|
93
|
-
(content[:tap] if content.
|
95
|
+
def tap?(content, options)
|
96
|
+
(content[:tap] if content.is_a?(Hash)) || (options[:tap] unless options.nil?)
|
94
97
|
end
|
95
98
|
|
96
|
-
|
99
|
+
protected
|
97
100
|
|
98
101
|
# Override this method to add html classes
|
99
102
|
# Accept Array or String
|
@@ -136,17 +139,17 @@ module UiBibz::Ui::Core
|
|
136
139
|
end
|
137
140
|
|
138
141
|
# Add html data arguments
|
139
|
-
def add_html_data
|
142
|
+
def add_html_data(name, value = true)
|
140
143
|
html_options[:data] = {} if html_options[:data].nil?
|
141
|
-
value = value.
|
144
|
+
value = value.is_a?(String) ? value.strip : value
|
142
145
|
html_options[:data].update(Hash[name, value])
|
143
146
|
end
|
144
147
|
|
145
|
-
def
|
148
|
+
def disabled?
|
146
149
|
options[:state] == :disabled || html_options[:disabled]
|
147
150
|
end
|
148
151
|
|
149
|
-
|
152
|
+
private
|
150
153
|
|
151
154
|
def render_with_or_without_cache
|
152
155
|
if options[:cache]
|
@@ -182,6 +185,5 @@ module UiBibz::Ui::Core
|
|
182
185
|
initialize_component_html_classes
|
183
186
|
initialize_component_html_options
|
184
187
|
end
|
185
|
-
|
186
188
|
end
|
187
189
|
end
|
@@ -1,5 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
2
|
|
3
|
+
module UiBibz::Ui::Core::Forms::Buttons
|
3
4
|
# Create a button
|
4
5
|
#
|
5
6
|
# This element is an extend of UiBibz::Ui::Core::Component.
|
@@ -14,7 +15,7 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
14
15
|
#
|
15
16
|
# You can add HTML attributes using the +html_options+.
|
16
17
|
# You can pass arguments in options attribute:
|
17
|
-
# * +status+ - status of
|
18
|
+
# * +status+ - status of element with symbol value:
|
18
19
|
# (+:primary+, +:secondary+, +:info+, +:warning+, +:danger+, +:link+)
|
19
20
|
# * +size+
|
20
21
|
# (+:xs+, +:sm+, +:lg+)
|
@@ -52,13 +53,12 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
52
53
|
# content
|
53
54
|
# end
|
54
55
|
class Button < UiBibz::Ui::Core::Component
|
55
|
-
|
56
56
|
# Render html tag
|
57
57
|
def pre_render
|
58
58
|
button_html_tag
|
59
59
|
end
|
60
60
|
|
61
|
-
|
61
|
+
protected
|
62
62
|
|
63
63
|
def button_html_tag
|
64
64
|
content_tag :button, html_options do
|
@@ -85,34 +85,34 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
85
85
|
# Must be flat hash not deep hash
|
86
86
|
{
|
87
87
|
"data-toggle": :collapse,
|
88
|
-
"data-target": "##{
|
88
|
+
"data-target": "##{options[:collapse]}",
|
89
89
|
"aria-controls": options[:collapse],
|
90
90
|
"aria-expanded": options[:expand_collapse].nil? ? false : options[:expand_collapse]
|
91
91
|
}
|
92
92
|
end
|
93
93
|
|
94
94
|
def status
|
95
|
-
[
|
95
|
+
['btn', outline, options[:status] || 'secondary'].compact.join('-')
|
96
96
|
end
|
97
97
|
|
98
98
|
def outline
|
99
|
-
|
99
|
+
'outline' unless options[:outline].nil?
|
100
100
|
end
|
101
101
|
|
102
102
|
def toggle
|
103
|
-
{
|
103
|
+
{ 'data-toggle' => 'button', 'aria-pressed' => false, 'autocomplete' => 'off' }
|
104
104
|
end
|
105
105
|
|
106
106
|
def active_html_options
|
107
|
-
{
|
107
|
+
{ 'aria-pressed' => true }
|
108
108
|
end
|
109
109
|
|
110
110
|
def type
|
111
|
-
|
111
|
+
'btn-block' if options[:type] == :block
|
112
112
|
end
|
113
113
|
|
114
114
|
def without_text
|
115
|
-
|
115
|
+
'without-text' unless options[:text].nil?
|
116
116
|
end
|
117
117
|
|
118
118
|
def action
|
@@ -120,7 +120,7 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
120
120
|
end
|
121
121
|
|
122
122
|
def badge_html
|
123
|
-
if options[:badge].
|
123
|
+
if options[:badge].is_a? Hash
|
124
124
|
options[:badge][:status] = options[:badge][:status] || options[:status] || :secondary
|
125
125
|
UiBibz::Ui::Core::Notifications::Badge.new(options[:badge].delete(:content), options[:badge]).render
|
126
126
|
|
@@ -131,15 +131,14 @@ module UiBibz::Ui::Core::Forms::Buttons
|
|
131
131
|
|
132
132
|
def spinner_html
|
133
133
|
opts = { size: :sm, tag: :span, class: options[:text] == false ? nil : 'mr-2' }
|
134
|
-
opts = opts.merge(options[:spinner]) if options[:spinner].
|
134
|
+
opts = opts.merge(options[:spinner]) if options[:spinner].is_a? Hash
|
135
135
|
|
136
136
|
UiBibz::Ui::Core::Notifications::Spinner.new(nil, opts).render
|
137
137
|
end
|
138
138
|
|
139
139
|
# :lg, :sm or :xs
|
140
140
|
def size
|
141
|
-
"btn-#{
|
141
|
+
"btn-#{options[:size]}" if options[:size]
|
142
142
|
end
|
143
|
-
|
144
143
|
end
|
145
144
|
end
|