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,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_helper'
|
2
4
|
class ToolbarTest < ActionView::TestCase
|
3
5
|
include UiBibz::Helpers::Ui::CoreHelper
|
@@ -8,7 +10,7 @@ class ToolbarTest < ActionView::TestCase
|
|
8
10
|
bg.button 'Home'
|
9
11
|
end
|
10
12
|
end
|
11
|
-
expected =
|
13
|
+
expected = '<div class="btn-toolbar" role="toolbar"><div class="btn-group" role="group"><button class="btn-secondary btn">Home</button></div></div>'
|
12
14
|
|
13
15
|
assert_equal expected, actual
|
14
16
|
end
|
@@ -23,9 +25,8 @@ class ToolbarTest < ActionView::TestCase
|
|
23
25
|
bg.button 'Home 2'
|
24
26
|
end
|
25
27
|
end
|
26
|
-
expected =
|
28
|
+
expected = '<div class="btn-toolbar justify-content-between" role="toolbar"><div role="group" class="btn-group mr-2"><button class="btn-secondary btn">Home</button></div><div class="btn-group" role="group"><button class="btn-secondary btn">Home 2</button></div></div>'
|
27
29
|
|
28
30
|
assert_equal expected, actual
|
29
31
|
end
|
30
|
-
|
31
32
|
end
|
@@ -1,10 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_helper'
|
2
4
|
class AlertTest < ActionView::TestCase
|
3
5
|
include UiBibz::Helpers::Ui::CoreHelper
|
4
6
|
|
5
7
|
test 'alert' do
|
6
8
|
actual = ui_alert 'state'
|
7
|
-
expected =
|
9
|
+
expected = '<div class="alert-info alert alert-dismissible" role="alert">state</div>'
|
8
10
|
|
9
11
|
assert_equal expected, actual
|
10
12
|
end
|
@@ -14,16 +16,15 @@ class AlertTest < ActionView::TestCase
|
|
14
16
|
a.header 'Information'
|
15
17
|
a.body 'Body text'
|
16
18
|
end
|
17
|
-
expected =
|
19
|
+
expected = '<div class="alert-success alert alert-dismissible" role="alert"><h4 class="alert-header"><i class="glyph fas fa-thumbs-o-up"></i> Information<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button></h4><hr /><p class="alert-body mb-0">Body text</p></div>'
|
18
20
|
|
19
21
|
assert_equal expected, actual
|
20
22
|
end
|
21
23
|
|
22
24
|
test 'alert with timeout' do
|
23
25
|
actual = ui_alert 'timeout', timeout: 500
|
24
|
-
expected =
|
26
|
+
expected = '<div data-timeout="500" class="alert-info alert alert-dismissible" role="alert">timeout</div>'
|
25
27
|
|
26
28
|
assert_equal expected, actual
|
27
29
|
end
|
28
|
-
|
29
30
|
end
|
@@ -1,26 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_helper'
|
2
4
|
class BadgeTest < ActionView::TestCase
|
3
5
|
include UiBibz::Helpers::Ui::CoreHelper
|
4
6
|
|
5
7
|
test 'badge' do
|
6
8
|
actual = ui_badge 'state', status: :success, glyph: 'pencil'
|
7
|
-
expected =
|
9
|
+
expected = '<span class="badge-success badge"><i class="glyph fas fa-pencil"></i> state</span>'
|
8
10
|
|
9
11
|
assert_equal expected, actual
|
10
12
|
end
|
11
13
|
|
12
14
|
test 'badge with url' do
|
13
15
|
actual = ui_badge 'state', url: 'http://example.com'
|
14
|
-
expected =
|
16
|
+
expected = '<a class="badge-default badge" href="http://example.com">state</a>'
|
15
17
|
|
16
18
|
assert_equal expected, actual
|
17
19
|
end
|
18
20
|
|
19
21
|
test 'badge pill' do
|
20
22
|
actual = ui_badge 'state', status: :success, type: :pill, glyph: 'pencil'
|
21
|
-
expected =
|
23
|
+
expected = '<span class="badge-success badge badge-pill"><i class="glyph fas fa-pencil"></i> state</span>'
|
22
24
|
|
23
25
|
assert_equal expected, actual
|
24
26
|
end
|
25
|
-
|
26
27
|
end
|
@@ -1,4 +1,5 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'test_helper'
|
3
4
|
|
4
5
|
class ProgressBarTest < ActionView::TestCase
|
@@ -6,35 +7,35 @@ class ProgressBarTest < ActionView::TestCase
|
|
6
7
|
|
7
8
|
test 'progress bar' do
|
8
9
|
actual = ui_progress_bar(20)
|
9
|
-
expected =
|
10
|
+
expected = '<div class="progress"><div class="progress-bar" aria-valuenow="20.0" aria-valuemin="0" aria-valuemax="100" style="width: 20.0%" role="progressbar">20.0%</div></div>'
|
10
11
|
|
11
12
|
assert_equal expected, actual
|
12
13
|
end
|
13
14
|
|
14
15
|
test 'progress bar status' do
|
15
16
|
actual = ui_progress_bar(70, status: :danger)
|
16
|
-
expected =
|
17
|
+
expected = '<div class="progress"><div class="bg-danger progress-bar" aria-valuenow="70.0" aria-valuemin="0" aria-valuemax="100" style="width: 70.0%" role="progressbar">70.0%</div></div>'
|
17
18
|
|
18
19
|
assert_equal expected, actual
|
19
20
|
end
|
20
21
|
|
21
22
|
test 'progress bar striped' do
|
22
23
|
actual = ui_progress_bar(70, striped: true)
|
23
|
-
expected =
|
24
|
+
expected = '<div class="progress"><div class="progress-bar progress-bar-striped" aria-valuenow="70.0" aria-valuemin="0" aria-valuemax="100" style="width: 70.0%" role="progressbar">70.0%</div></div>'
|
24
25
|
|
25
26
|
assert_equal expected, actual
|
26
27
|
end
|
27
28
|
|
28
|
-
|
29
|
+
test 'progress bar animated' do
|
29
30
|
actual = ui_progress_bar(70, animated: true)
|
30
|
-
expected =
|
31
|
+
expected = '<div class="progress"><div class="progress-bar progress-bar-animated" aria-valuenow="70.0" aria-valuemin="0" aria-valuemax="100" style="width: 70.0%" role="progressbar">70.0%</div></div>'
|
31
32
|
|
32
33
|
assert_equal expected, actual
|
33
34
|
end
|
34
35
|
|
35
36
|
test 'progress bar stacked' do
|
36
37
|
actual = ui_progress_bar(76, animated: true)
|
37
|
-
expected =
|
38
|
+
expected = '<div class="progress"><div class="progress-bar progress-bar-animated" aria-valuenow="76.0" aria-valuemin="0" aria-valuemax="100" style="width: 76.0%" role="progressbar">76.0%</div></div>'
|
38
39
|
|
39
40
|
assert_equal expected, actual
|
40
41
|
end
|
@@ -44,30 +45,29 @@ class ProgressBarTest < ActionView::TestCase
|
|
44
45
|
pb.bar 25, status: :warning, striped: true
|
45
46
|
pb.bar 65, status: :danger
|
46
47
|
end
|
47
|
-
expected =
|
48
|
+
expected = '<div class="progress"><div class="bg-warning progress-bar progress-bar-striped" aria-valuenow="25.0" aria-valuemin="0" aria-valuemax="100" style="width: 25.0%" role="progressbar">25.0%</div><div class="bg-danger progress-bar" aria-valuenow="65.0" aria-valuemin="0" aria-valuemax="100" style="width: 65.0%" role="progressbar">65.0%</div></div>'
|
48
49
|
|
49
50
|
assert_equal expected, actual
|
50
51
|
end
|
51
52
|
|
52
53
|
test 'progress bar with statuses and 20%' do
|
53
54
|
actual = ui_progress_bar 20, statuses: true
|
54
|
-
expected =
|
55
|
+
expected = '<div class="progress"><div class="bg-primary progress-bar" aria-valuenow="20.0" aria-valuemin="0" aria-valuemax="100" style="width: 20.0%" role="progressbar">20.0%</div></div>'
|
55
56
|
|
56
57
|
assert_equal expected, actual
|
57
58
|
end
|
58
59
|
|
59
60
|
test 'progress bar with statuses and 80%' do
|
60
61
|
actual = ui_progress_bar 80, statuses: true
|
61
|
-
expected =
|
62
|
+
expected = '<div class="progress"><div class="bg-danger progress-bar" aria-valuenow="80.0" aria-valuemin="0" aria-valuemax="100" style="width: 80.0%" role="progressbar">80.0%</div></div>'
|
62
63
|
|
63
64
|
assert_equal expected, actual
|
64
65
|
end
|
65
66
|
|
66
67
|
test 'progress bar with custom statuses' do
|
67
|
-
actual = ui_progress_bar 80, statuses: [
|
68
|
-
expected =
|
68
|
+
actual = ui_progress_bar 80, statuses: %i[info warning]
|
69
|
+
expected = '<div class="progress"><div class="bg-warning progress-bar" aria-valuenow="80.0" aria-valuemin="0" aria-valuemax="100" style="width: 80.0%" role="progressbar">80.0%</div></div>'
|
69
70
|
|
70
71
|
assert_equal expected, actual
|
71
72
|
end
|
72
|
-
|
73
73
|
end
|
@@ -1,33 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_helper'
|
2
4
|
class SpinnerTest < ActionView::TestCase
|
3
5
|
include UiBibz::Helpers::Ui::CoreHelper
|
4
6
|
|
5
7
|
test 'spinner' do
|
6
8
|
actual = ui_spinner
|
7
|
-
expected =
|
9
|
+
expected = '<div class="spinner-border" role="status"><span class="sr-only">Loading...</span></div>'
|
8
10
|
|
9
11
|
assert_equal expected, actual
|
10
12
|
end
|
11
13
|
|
12
14
|
test 'spinner with status and content' do
|
13
|
-
actual = ui_spinner
|
14
|
-
expected =
|
15
|
+
actual = ui_spinner 'My spinner', status: :secondary
|
16
|
+
expected = '<div class="text-secondary spinner-border" role="status"><span class="sr-only">My spinner</span></div>'
|
15
17
|
|
16
18
|
assert_equal expected, actual
|
17
19
|
end
|
18
20
|
|
19
21
|
test 'spinner type' do
|
20
22
|
actual = ui_spinner nil, type: :grow
|
21
|
-
expected =
|
23
|
+
expected = '<div class="spinner-grow" role="status"><span class="sr-only">Loading...</span></div>'
|
22
24
|
|
23
25
|
assert_equal expected, actual
|
24
26
|
end
|
25
27
|
|
26
|
-
test
|
27
|
-
actual = ui_button
|
28
|
-
expected =
|
28
|
+
test 'spinner in button' do
|
29
|
+
actual = ui_button 'Load', spinner: { status: :danger, type: :grow }
|
30
|
+
expected = '<button class="btn-secondary btn"><span class="text-danger mr-2 spinner-grow spinner-grow-sm" role="status"><span class="sr-only">Loading...</span></span>Load</button>'
|
29
31
|
|
30
32
|
assert_equal expected, actual
|
31
33
|
end
|
32
|
-
|
33
34
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_helper'
|
2
4
|
class ToastTest < ActionView::TestCase
|
3
5
|
include UiBibz::Helpers::Ui::CoreHelper
|
@@ -7,9 +9,8 @@ class ToastTest < ActionView::TestCase
|
|
7
9
|
t.header 'My header toast', glyph: 'eye', time: 'Now', class: 'my-header-toast'
|
8
10
|
t.body 'My body toast', class: 'my-body-toast'
|
9
11
|
end
|
10
|
-
expected =
|
12
|
+
expected = '<div data-autohide="true" class="my-toast toast" role="alert" aria-live="assertive" aria-atomic="true"><div class="my-header-toast toast-header"><i class="mr-2 glyph fas fa-eye"></i><strong class="mr-auto">My header toast</strong><small class="text-muted">Now</small><button class="ml-2 mb-1 close" data-dismiss="toast" aria-label="Close"><span aria-hidden="true">×</span></button></div><div class="my-body-toast toast-body">My body toast</div></div>'
|
11
13
|
|
12
14
|
assert_equal expected, actual
|
13
15
|
end
|
14
|
-
|
15
16
|
end
|
@@ -1,4 +1,5 @@
|
|
1
|
-
#
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require 'test_helper'
|
3
4
|
|
4
5
|
class UiHelperTest < ActionView::TestCase
|
@@ -13,7 +14,7 @@ class UiHelperTest < ActionView::TestCase
|
|
13
14
|
concat ui_button_link 'Save', url: '#', status: :primary
|
14
15
|
end
|
15
16
|
end
|
16
|
-
expected =
|
17
|
+
expected = '<div class="modal"><div class="modal-dialog " role="document"><div class="modal-content"><div class="modal-header"><h5 class="modal-title">My title</h5><button class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button></div><div class="modal-body">My body</div><div class="modal-footer"><a class="btn-link btn" role="button" href="#">Close</a><a class="btn-primary btn" role="button" href="#">Save</a></div></div></div></div>'
|
17
18
|
|
18
19
|
assert_equal expected, actual
|
19
20
|
end
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
2
4
|
|
3
5
|
class CardTest < ActionView::TestCase
|
4
6
|
include UiBibz::Helpers::Ui::UxHelper
|
@@ -33,7 +35,7 @@ class CardTest < ActionView::TestCase
|
|
33
35
|
end
|
34
36
|
p.footer 'Footer'
|
35
37
|
end
|
36
|
-
expected =
|
38
|
+
expected = '<div class="panel"><div class="panel-header justify-content-between"><div class="panel-title">My header</div><div class="btn-group btn-group-sm" role="group"><button class="btn-outline-secondary btn btn-sm without-text"><i class="glyph fas fa-caret-up"></i></button><button class="btn-outline-secondary btn btn-sm without-text"><i class="glyph fas fa-cog"></i></button><button class="btn-outline-secondary btn btn-sm without-text"><i class="glyph fas fa-Close"></i></button></div></div><div class="btn-toolbar justify-content-between panel-toolbar" role="toolbar"><div role="group" class="btn-group btn-group-sm mr-2"><button class="btn-secondary btn btn-sm">Copy</button><button class="btn-secondary btn btn-sm">Cut</button><button class="btn-secondary btn btn-sm">Paste</button></div><div class="btn-group btn-group-sm" role="group"><button class="btn-secondary btn btn-sm">Delete</button></div></div><div class="panel-body">Body</div><div class="btn-toolbar panel-toolbar" role="toolbar"><div class="btn-group btn-group-sm" role="group"><button class="btn-success btn btn-sm without-text"><i class="glyph fas fa-plus-circle"></i></button><button class="btn-danger btn btn-sm without-text"><i class="glyph fas fa-minus-circle"></i></button></div></div><div class="panel-footer">Footer</div></div>'
|
37
39
|
|
38
40
|
assert_equal expected, actual
|
39
41
|
end
|
@@ -67,7 +69,7 @@ class CardTest < ActionView::TestCase
|
|
67
69
|
end
|
68
70
|
p.footer 'Main Panel Footer'
|
69
71
|
end
|
70
|
-
expected =
|
72
|
+
expected = '<div class="panel"><div class="panel-header justify-content-between"><div class="panel-title">Main panel header</div></div><div class="btn-toolbar justify-content-between panel-toolbar" role="toolbar"><div role="group" class="btn-group btn-group-sm mr-2"><button class="btn-secondary btn btn-sm">Copy</button><button class="btn-secondary btn btn-sm">Cut</button><button class="btn-secondary btn btn-sm">Paste</button></div><div class="btn-group btn-group-sm" role="group"><button class="btn-secondary btn btn-sm">Delete</button></div></div><div class="panel-group"><div class="panel"><div class="panel-header justify-content-between">Left Panel Header</div><div class="panel-body">Left Panel Body</div><div class="panel-footer">Left Panel Footer</div></div><div class="panel"><div class="panel-header justify-content-between">Right Panel Header</div><div class="panel-body">Right Panel Body</div></div></div><div class="panel-footer">Main Panel Footer</div></div>'
|
71
73
|
|
72
74
|
assert_equal expected, actual
|
73
75
|
end
|
@@ -101,7 +103,7 @@ class CardTest < ActionView::TestCase
|
|
101
103
|
end
|
102
104
|
p.footer 'Main Panel Footer'
|
103
105
|
end
|
104
|
-
expected =
|
106
|
+
expected = '<div class="panel"><div class="panel-header justify-content-between"><div class="panel-title">Main panel header</div></div><div class="btn-toolbar justify-content-between panel-toolbar" role="toolbar"><div role="group" class="btn-group btn-group-sm mr-2"><button class="btn-secondary btn btn-sm">Copy</button><button class="btn-secondary btn btn-sm">Cut</button><button class="btn-secondary btn btn-sm">Paste</button></div><div class="btn-group btn-group-sm" role="group"><button class="btn-secondary btn btn-sm">Delete</button></div></div><div class="panel-deck-wrapper"><div class="panel-deck"><div class="panel"><div class="panel-header justify-content-between">Left Panel Header</div><div class="panel-body">Left Panel Body</div><div class="panel-footer">Left Panel Footer</div></div><div class="panel"><div class="panel-header justify-content-between">Right Panel Header</div><div class="panel-body">Right Panel Body</div></div></div></div><div class="panel-footer">Main Panel Footer</div></div>'
|
105
107
|
|
106
108
|
assert_equal expected, actual
|
107
109
|
end
|
@@ -135,9 +137,8 @@ class CardTest < ActionView::TestCase
|
|
135
137
|
end
|
136
138
|
p.footer 'Main Panel Footer'
|
137
139
|
end
|
138
|
-
expected =
|
140
|
+
expected = '<div class="panel"><div class="panel-header justify-content-between"><div class="panel-title">Main panel header</div></div><div class="btn-toolbar justify-content-between panel-toolbar" role="toolbar"><div role="group" class="btn-group btn-group-sm mr-2"><button class="btn-secondary btn btn-sm">Copy</button><button class="btn-secondary btn btn-sm">Cut</button><button class="btn-secondary btn btn-sm">Paste</button></div><div class="btn-group btn-group-sm" role="group"><button class="btn-secondary btn btn-sm">Delete</button></div></div><div class="panel-columns"><div class="panel"><div class="panel-header justify-content-between">Left Panel Header</div><div class="panel-body">Left Panel Body</div><div class="panel-footer">Left Panel Footer</div></div><div class="panel"><div class="panel-header justify-content-between">Right Panel Header</div><div class="panel-body">Right Panel Body</div></div></div><div class="panel-footer">Main Panel Footer</div></div>'
|
139
141
|
|
140
142
|
assert_equal expected, actual
|
141
143
|
end
|
142
|
-
|
143
144
|
end
|
@@ -1,38 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'test_helper'
|
2
|
-
require
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
6
|
-
require
|
4
|
+
require 'ui_bibz/ui/ux/tables/components/store'
|
5
|
+
require 'ui_bibz/ui/ux/tables/extensions/paginable'
|
6
|
+
require 'ui_bibz/ui/ux/tables/extensions/searchable'
|
7
|
+
require 'ui_bibz/ui/ux/tables/extensions/sortable'
|
8
|
+
require 'ui_bibz/ui/ux/tables/extensions/actionable'
|
7
9
|
|
8
10
|
class TableTest < ActionView::TestCase
|
9
|
-
|
10
11
|
setup do
|
11
12
|
create_list(:user, 25)
|
12
13
|
params = ActionController::Parameters.new({
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
14
|
+
controller: 'users',
|
15
|
+
action: 'index',
|
16
|
+
sort: 'users.name_fr',
|
17
|
+
direction: 'asc',
|
18
|
+
search: 'Name fr',
|
19
|
+
per_page: 2,
|
20
|
+
page: 1,
|
21
|
+
only_path: true
|
22
|
+
})
|
22
23
|
@users = User.table_search_pagination(params, session)
|
23
24
|
@store = UiBibz::Ui::Ux::Tables::Store.new @users
|
24
25
|
end
|
25
26
|
|
26
27
|
test 'table search field' do
|
27
|
-
actual = UiBibz::Ui::Ux::Tables::TableSearchField.new({ store: @users}).render
|
28
|
-
expected =
|
28
|
+
actual = UiBibz::Ui::Ux::Tables::TableSearchField.new({ store: @users }).render
|
29
|
+
expected = '<form class="form-table-search-field" action="/users?direction=asc&page=1&per_page=2&search=Name+fr&sort=users.name_fr" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /><div class="input-group input-group-sm table-search-field"><span class="input-group-addon"><i class="glyph fas fa-search"></i></span><input type="hidden" name="sort" value="users.name_fr" /><input type="hidden" name="direction" value="asc" /><input type="hidden" name="per_page" value="2" /><input type="hidden" name="page" value="1" /><input type="hidden" name="only_path" value="true" /><input type="hidden" name="link_type" value="search" /><input type="search" value="Name fr" name="search" class="form-control" placeholder="Search by Name fr and Name en..." /><span class="input-group-btn clear-search-btn"><button type="button" class="btn btn-secondary"><i class="glyph fas fa-times-circle"></i></button></span></div></form>'
|
29
30
|
|
30
31
|
assert_equal expected, actual
|
31
32
|
end
|
32
33
|
|
33
34
|
test 'table pagination' do
|
34
35
|
actual = UiBibz::Ui::Ux::Tables::TablePagination.new({ store: @users }).render
|
35
|
-
expected =
|
36
|
+
expected = '<nav class="pagination"><ul class="pagination" role="group"><li class="previous page-item disabled"><span class="page-link">«</span></li> <li class="page-item active"><span class="page-link">1</span></li> <li class="page-item"><a class="page-link" rel="next" href="/users?direction=asc&page=2&search=Name+fr&sort=users.name_fr">2</a></li> <li class="page-item"><a class="page-link" href="/users?direction=asc&page=3&search=Name+fr&sort=users.name_fr">3</a></li> <li class="page-item"><a class="page-link" href="/users?direction=asc&page=4&search=Name+fr&sort=users.name_fr">4</a></li> <li class="page-item"><a class="page-link" href="/users?direction=asc&page=5&search=Name+fr&sort=users.name_fr">5</a></li> <li class="page-item disabled"><i class="page-link">…</i></li> <li class="page-item"><a class="page-link" href="/users?direction=asc&page=12&search=Name+fr&sort=users.name_fr">12</a></li> <li class="page-item"><a class="page-link" href="/users?direction=asc&page=13&search=Name+fr&sort=users.name_fr">13</a></li> <li class="next page-item"><a class="page-link" rel="next" href="/users?direction=asc&page=2&search=Name+fr&sort=users.name_fr">»</a></li></ul></nav>'
|
36
37
|
|
37
38
|
assert_equal expected, actual
|
38
39
|
end
|
@@ -40,7 +41,7 @@ class TableTest < ActionView::TestCase
|
|
40
41
|
test 'table non sortable' do
|
41
42
|
options = { sortable: false }
|
42
43
|
actual = UiBibz::Ui::Ux::Tables::Sortable.new(@store, options).header(@store.columns.list.first)
|
43
|
-
expected =
|
44
|
+
expected = 'Id'
|
44
45
|
|
45
46
|
assert_equal expected, actual
|
46
47
|
end
|
@@ -48,7 +49,7 @@ class TableTest < ActionView::TestCase
|
|
48
49
|
test 'table sortable' do
|
49
50
|
options = { sortable: true }
|
50
51
|
actual = UiBibz::Ui::Ux::Tables::Sortable.new(@store, options).header(@store.columns.list.first)
|
51
|
-
expected =
|
52
|
+
expected = '<a class="dropup" href="/users?column_id=id&direction=asc&link_type=column&search=Name+fr&sort=users.id">Id</a>'
|
52
53
|
|
53
54
|
assert_equal expected, actual
|
54
55
|
end
|
@@ -57,7 +58,6 @@ class TableTest < ActionView::TestCase
|
|
57
58
|
options = { paginable: false }
|
58
59
|
pagination = UiBibz::Ui::Ux::Tables::Paginable.new(@store, options)
|
59
60
|
actual = pagination.render if pagination.paginable?
|
60
|
-
expected = nil
|
61
61
|
|
62
62
|
assert_nil actual
|
63
63
|
end
|
@@ -81,7 +81,7 @@ class TableTest < ActionView::TestCase
|
|
81
81
|
test 'table non searchable' do
|
82
82
|
options = { searchable: false }
|
83
83
|
actual = UiBibz::Ui::Ux::Tables::Searchable.new(@store, options).render
|
84
|
-
expected =
|
84
|
+
expected = '<div><div class="title">Users list</div><br class="ui-bibz-clear" /></div>'
|
85
85
|
|
86
86
|
assert_equal expected, actual
|
87
87
|
end
|
@@ -89,7 +89,7 @@ class TableTest < ActionView::TestCase
|
|
89
89
|
test 'table non searchable with a title and glyph' do
|
90
90
|
options = { searchable: false, glyph: 'state', title: 'Title list' }
|
91
91
|
actual = UiBibz::Ui::Ux::Tables::Searchable.new(@store, options).render
|
92
|
-
expected =
|
92
|
+
expected = '<div><div class="title"><i class="glyph fas fa-state"></i>Title list</div><br class="ui-bibz-clear" /></div>'
|
93
93
|
|
94
94
|
assert_equal expected, actual
|
95
95
|
end
|
@@ -97,7 +97,7 @@ class TableTest < ActionView::TestCase
|
|
97
97
|
test 'table searchable' do
|
98
98
|
options = { searchable: true }
|
99
99
|
actual = UiBibz::Ui::Ux::Tables::Searchable.new(@store, options).render
|
100
|
-
expected =
|
100
|
+
expected = '<div><div class="title">Users list</div><form class="form-table-search-field" action="/users?direction=asc&page=1&per_page=2&search=Name+fr&sort=users.name_fr" accept-charset="UTF-8" method="get"><input name="utf8" type="hidden" value="✓" /><div class="input-group input-group-sm table-search-field"><span class="input-group-addon"><i class="glyph fas fa-search"></i></span><input type="hidden" name="sort" value="users.name_fr" /><input type="hidden" name="direction" value="asc" /><input type="hidden" name="per_page" value="2" /><input type="hidden" name="page" value="1" /><input type="hidden" name="only_path" value="true" /><input type="hidden" name="link_type" value="search" /><input type="search" value="Name fr" name="search" class="form-control" placeholder="Search by Name fr and Name en..." /><span class="input-group-btn clear-search-btn"><button type="button" class="btn btn-secondary"><i class="glyph fas fa-times-circle"></i></button></span></div></form><br class="ui-bibz-clear" /></div>'
|
101
101
|
|
102
102
|
assert_equal expected, actual
|
103
103
|
end
|
@@ -106,7 +106,7 @@ class TableTest < ActionView::TestCase
|
|
106
106
|
options = { actionable: true }
|
107
107
|
action = UiBibz::Ui::Ux::Tables::Actionable.new(@store, options)
|
108
108
|
actual = action.header []
|
109
|
-
expected = [
|
109
|
+
expected = ['<th class="action"></th>']
|
110
110
|
|
111
111
|
assert_equal expected, actual
|
112
112
|
end
|
@@ -115,7 +115,7 @@ class TableTest < ActionView::TestCase
|
|
115
115
|
options = { actionable: true }
|
116
116
|
action = UiBibz::Ui::Ux::Tables::Actionable.new(@store, options)
|
117
117
|
actual = action.body @store.records.first, []
|
118
|
-
expected = [
|
118
|
+
expected = ['<td></td>']
|
119
119
|
|
120
120
|
assert_equal expected, actual
|
121
121
|
end
|
@@ -124,7 +124,7 @@ class TableTest < ActionView::TestCase
|
|
124
124
|
options = { actionable: true }
|
125
125
|
action = UiBibz::Ui::Ux::Tables::Actionable.new(@store, options)
|
126
126
|
actual = action.inject_url 'http://localhost/users/id/test', @store.records.first
|
127
|
-
expected =
|
127
|
+
expected = 'http://localhost/users/1/test'
|
128
128
|
|
129
129
|
assert_equal expected, actual
|
130
130
|
end
|
@@ -161,7 +161,7 @@ class TableTest < ActionView::TestCase
|
|
161
161
|
end
|
162
162
|
|
163
163
|
test 'complex table_card with custom actions' do
|
164
|
-
actual = UiBibz::Ui::Ux::Tables::TableCard.new({ store: @users, tap: true }, { class: 'state'}).tap do |pane|
|
164
|
+
actual = UiBibz::Ui::Ux::Tables::TableCard.new({ store: @users, tap: true }, { class: 'state' }).tap do |pane|
|
165
165
|
pane.header 'Test header'
|
166
166
|
pane.body cls: 'ui' do
|
167
167
|
'Test body'
|
@@ -170,7 +170,7 @@ class TableTest < ActionView::TestCase
|
|
170
170
|
c.column(:id, { name: '#' })
|
171
171
|
c.column(:name_fr, { name: 'Name fr', link: edit_user_path(:id), order: 2 })
|
172
172
|
c.column(:name_en, { name: 'Name en', order: 1 })
|
173
|
-
c.column(:name_en, { name: 'Name en', format:
|
173
|
+
c.column(:name_en, { name: 'Name en', format: ->(_records, record) { "name #{record.id}" } })
|
174
174
|
end
|
175
175
|
pane.actions do |a|
|
176
176
|
a.link 'state', url: users_path(:id), glyph: 'eye'
|
@@ -196,16 +196,16 @@ class TableTest < ActionView::TestCase
|
|
196
196
|
|
197
197
|
test 'table visual options' do
|
198
198
|
table = UiBibz::Ui::Ux::Tables::Table.new(store: @users, striped: true, status: :inverse, responsive: true, bordered: true, size: :sm, hoverable: true, reflow: true).render
|
199
|
-
actual = Nokogiri::HTML(table).xpath(
|
200
|
-
expected =
|
199
|
+
actual = Nokogiri::HTML(table).xpath('//table')[0].attributes['class'].value
|
200
|
+
expected = 'table-inverse table table-striped table-bordered table-hoverable table-sm table-responsive table-reflow'
|
201
201
|
|
202
202
|
assert_equal expected, actual
|
203
203
|
end
|
204
204
|
|
205
205
|
test 'table thead visual options' do
|
206
206
|
table = UiBibz::Ui::Ux::Tables::Table.new(store: @users, thead: { status: :default }).render
|
207
|
-
actual = Nokogiri::HTML(table).xpath(
|
208
|
-
expected =
|
207
|
+
actual = Nokogiri::HTML(table).xpath('//thead')[0].attributes['class'].value
|
208
|
+
expected = 'thead-default'
|
209
209
|
|
210
210
|
assert_equal expected, actual
|
211
211
|
end
|