ui_bibz 2.5.5 → 3.0.0.alpha6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +3 -2
- data/.rubocop.yml +89 -1
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +96 -108
- data/README.md +9 -52
- data/Rakefile +3 -2
- data/bin/test +7 -0
- data/config/initializers/will_paginate.rb +2 -1
- data/lib/ui_bibz.rb +17 -3
- data/lib/ui_bibz/concerns/models/searchable.rb +3 -3
- data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +9 -1
- data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +20 -1
- data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +10 -2
- data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +1 -1
- data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +9 -5
- data/lib/ui_bibz/helpers/ui/ux_helper.rb +2 -6
- data/lib/ui_bibz/infos.rb +11 -5
- data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +15 -2
- data/lib/ui_bibz/inputs/ui_bibz_inputs/base_input.rb +4 -7
- data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +6 -9
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_checkbox_field_input.rb +5 -1
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_choice_field_input.rb +23 -0
- 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_slider_field_input.rb +12 -0
- data/lib/ui_bibz/rails/engine.rb +1 -16
- data/lib/ui_bibz/railtie.rb +6 -0
- data/lib/ui_bibz/ui/concerns/card_itemable_concern.rb +67 -0
- data/lib/ui_bibz/ui/concerns/html_concern.rb +16 -0
- data/lib/ui_bibz/ui/core/boxes/card.rb +5 -50
- data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +2 -0
- data/lib/ui_bibz/ui/core/boxes/card_column.rb +3 -1
- data/lib/ui_bibz/ui/core/boxes/card_deck.rb +3 -1
- data/lib/ui_bibz/ui/core/boxes/card_grid.rb +60 -0
- data/lib/ui_bibz/ui/core/boxes/card_group.rb +3 -1
- data/lib/ui_bibz/ui/core/boxes/components/body/card_body_link.rb +0 -3
- data/lib/ui_bibz/ui/core/boxes/components/body/card_body_subtitle.rb +47 -0
- data/lib/ui_bibz/ui/core/boxes/components/body/card_body_text.rb +0 -3
- data/lib/ui_bibz/ui/core/boxes/components/body/card_body_title.rb +1 -4
- data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +15 -0
- data/lib/ui_bibz/ui/core/boxes/components/card_col.rb +65 -0
- data/lib/ui_bibz/ui/core/boxes/components/card_footer.rb +0 -3
- data/lib/ui_bibz/ui/core/boxes/components/card_header.rb +2 -4
- data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +1 -4
- data/lib/ui_bibz/ui/core/boxes/components/card_row.rb +65 -0
- data/lib/ui_bibz/ui/core/boxes/components/card_tab_group.rb +0 -4
- data/lib/ui_bibz/ui/core/boxes/jumbotron.rb +1 -4
- data/lib/ui_bibz/ui/core/component.rb +16 -9
- data/lib/ui_bibz/ui/core/forms/buttons/button.rb +2 -2
- data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +9 -11
- data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_dropdown.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_split_dropdown.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +7 -10
- data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +20 -10
- data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +22 -2
- data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +24 -12
- data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +17 -6
- data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +5 -5
- data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +12 -15
- data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_divider.rb +0 -1
- data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_header.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +19 -20
- data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +7 -5
- data/lib/ui_bibz/ui/core/forms/files/file_field.rb +20 -10
- data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +16 -8
- data/lib/ui_bibz/ui/core/forms/numbers/number_field.rb +20 -3
- data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +51 -5
- data/lib/ui_bibz/ui/core/forms/numbers/slider_field.rb +144 -0
- data/lib/ui_bibz/ui/core/forms/numbers/slider_header.rb +71 -0
- data/lib/ui_bibz/ui/core/forms/selects/abstract_select.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +41 -62
- data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/selects/select_field.rb +2 -5
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_addon.rb +1 -4
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_group.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_refresh.rb +1 -12
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_checkbox_field.rb +9 -4
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_radio_field.rb +9 -4
- data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_switch_field.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +4 -12
- data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +4 -7
- data/lib/ui_bibz/ui/core/forms/texts/auto_complete_field.rb +2 -5
- data/lib/ui_bibz/ui/core/forms/texts/text_field.rb +0 -3
- data/lib/ui_bibz/ui/core/icons/components/glyph_counter.rb +0 -3
- data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +1 -4
- data/lib/ui_bibz/ui/core/icons/glyph.rb +1 -4
- data/lib/ui_bibz/ui/core/icons/star.rb +0 -3
- data/lib/ui_bibz/ui/core/layouts/col.rb +5 -42
- data/lib/ui_bibz/ui/core/layouts/container.rb +9 -6
- data/lib/ui_bibz/ui/core/layouts/row.rb +32 -2
- data/lib/ui_bibz/ui/core/lists/components/list.rb +6 -8
- data/lib/ui_bibz/ui/core/lists/components/list/list_body.rb +0 -3
- data/lib/ui_bibz/ui/core/lists/components/list/list_header.rb +0 -3
- data/lib/ui_bibz/ui/core/lists/list_group.rb +9 -6
- data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +3 -2
- data/lib/ui_bibz/ui/core/navigations/components/breadcrumb_link.rb +0 -3
- data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +2 -5
- data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +3 -1
- data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +15 -6
- data/lib/ui_bibz/ui/core/navigations/components/nav_link_list.rb +0 -4
- data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +1 -4
- data/lib/ui_bibz/ui/core/navigations/components/nav_text.rb +0 -3
- data/lib/ui_bibz/ui/core/navigations/components/navbar_brand.rb +0 -3
- data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +4 -4
- data/lib/ui_bibz/ui/core/navigations/components/navbar_nav.rb +1 -4
- data/lib/ui_bibz/ui/core/navigations/components/navbar_text.rb +0 -3
- data/lib/ui_bibz/ui/core/navigations/components/pagination_link.rb +0 -3
- data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +3 -3
- data/lib/ui_bibz/ui/core/navigations/link.rb +0 -3
- data/lib/ui_bibz/ui/core/navigations/nav.rb +37 -10
- data/lib/ui_bibz/ui/core/navigations/navbar.rb +28 -7
- data/lib/ui_bibz/ui/core/navigations/pagination.rb +3 -1
- data/lib/ui_bibz/ui/core/navigations/tab_group.rb +10 -5
- data/lib/ui_bibz/ui/core/navigations/toolbar.rb +2 -0
- data/lib/ui_bibz/ui/core/notifications/alert.rb +2 -2
- data/lib/ui_bibz/ui/core/notifications/badge.rb +2 -5
- data/lib/ui_bibz/ui/core/notifications/components/alert_body.rb +0 -3
- data/lib/ui_bibz/ui/core/notifications/components/alert_header.rb +4 -10
- data/lib/ui_bibz/ui/core/notifications/components/bar.rb +0 -3
- data/lib/ui_bibz/ui/core/notifications/components/toast_body.rb +0 -3
- data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +1 -6
- data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +7 -5
- data/lib/ui_bibz/ui/core/notifications/spinner.rb +0 -3
- data/lib/ui_bibz/ui/core/notifications/toast.rb +14 -3
- data/lib/ui_bibz/ui/core/windows/components/modal_body.rb +0 -3
- data/lib/ui_bibz/ui/core/windows/components/modal_footer.rb +0 -3
- data/lib/ui_bibz/ui/core/windows/components/modal_header.rb +1 -7
- data/lib/ui_bibz/ui/core/windows/modal.rb +65 -14
- data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +6 -2
- data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +9 -9
- data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +2 -2
- data/lib/ui_bibz/ui/ux/containers/components/panel_body.rb +0 -3
- data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +2 -0
- data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +2 -0
- data/lib/ui_bibz/ui/ux/containers/components/panel_footer.rb +0 -3
- data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +2 -0
- data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +4 -6
- data/lib/ui_bibz/ui/ux/containers/components/panel_header_title.rb +47 -0
- data/lib/ui_bibz/ui/ux/containers/components/panel_tab_group.rb +0 -4
- data/lib/ui_bibz/ui/ux/containers/components/panel_toolbar.rb +0 -3
- data/lib/ui_bibz/ui/ux/containers/panel.rb +4 -2
- data/lib/ui_bibz/ui/ux/tables/components/thead.rb +0 -3
- data/lib/ui_bibz/ui/ux/tables/table.rb +2 -4
- data/lib/ui_bibz/ui/ux/tables/table_card.rb +4 -3
- data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +5 -5
- data/lib/ui_bibz/utils/breakdown_class_name_generator.rb +82 -0
- data/lib/ui_bibz/utils/internationalization.rb +2 -2
- data/lib/ui_bibz/utils/screwdriver.rb +16 -10
- data/test/dummy/Rakefile +1 -1
- data/test/dummy/app/javascripts/packs/index.js +3 -0
- data/test/dummy/app/views/layouts/application.html.erb +4 -1
- data/{app/ui/.keep → test/dummy/app/views/users/index.html.erb} +0 -0
- data/test/dummy/bin/setup +17 -13
- data/test/dummy/config.ru +2 -1
- data/test/dummy/config/application.rb +1 -0
- data/test/dummy/config/cable.yml +10 -0
- data/test/dummy/config/database.yml +1 -1
- data/test/dummy/config/environment.rb +1 -1
- data/test/dummy/config/environments/development.rb +33 -12
- data/test/dummy/config/environments/production.rb +52 -19
- data/test/dummy/config/environments/test.rb +18 -12
- data/test/dummy/config/initializers/application_controller_renderer.rb +9 -0
- data/test/dummy/config/initializers/assets.rb +4 -3
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -1
- data/test/dummy/config/initializers/content_security_policy.rb +29 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
- data/test/dummy/config/initializers/inflections.rb +0 -1
- data/test/dummy/config/initializers/mime_types.rb +0 -1
- data/test/dummy/config/initializers/wrap_parameters.rb +2 -2
- data/test/dummy/config/puma.rb +40 -0
- data/test/dummy/config/routes.rb +3 -0
- data/test/dummy/config/spring.rb +8 -0
- data/test/dummy/config/storage.yml +34 -0
- data/test/dummy/db/migrate/20150123191805_create_users.rb +1 -1
- data/test/dummy/db/schema.rb +24 -24
- data/test/dummy/public/404.html +6 -6
- data/test/dummy/public/422.html +6 -6
- data/test/dummy/public/500.html +6 -6
- data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
- data/test/dummy/public/apple-touch-icon.png +0 -0
- data/test/dummy/storage/.keep +0 -0
- data/test/simple_form_test.rb +45 -44
- data/test/store_test.rb +5 -5
- data/test/test_helper.rb +18 -9
- data/test/ui/core/boxes/card_grid_test.rb +17 -0
- data/test/ui/core/boxes/card_test.rb +46 -12
- data/test/ui/core/boxes/jumbotron_test.rb +2 -2
- data/test/ui/core/component_test.rb +1 -1
- data/test/ui/core/forms/buttons/button_group_test.rb +1 -1
- data/test/ui/core/forms/buttons/button_link_test.rb +1 -1
- data/test/ui/core/forms/buttons/button_test.rb +2 -2
- data/test/ui/core/forms/choices/checkbox_field_test.rb +9 -2
- data/test/ui/core/forms/choices/choice_group_test.rb +11 -9
- data/test/ui/core/forms/choices/radio_field_test.rb +1 -1
- data/test/ui/core/forms/dates/date_picker_field_test.rb +1 -1
- data/test/ui/core/forms/dropdowns/dropdown_test.rb +2 -2
- data/test/ui/core/forms/files/file_field_test.rb +12 -0
- data/test/ui/core/forms/numbers/formula_field_test.rb +1 -1
- data/test/ui/core/forms/numbers/range_field_test.rb +37 -2
- data/test/ui/core/forms/numbers/slider_field_test.rb +26 -0
- data/test/ui/core/forms/selects/multi_column_field_test.rb +1 -1
- data/test/ui/core/forms/selects/multi_select_field_test.rb +7 -7
- data/test/ui/core/forms/selects/select_field_test.rb +3 -3
- data/test/ui/core/forms/surrounds/surround_field_test.rb +39 -3
- data/test/ui/core/forms/textareas/markdown_editor_field_test.rb +1 -1
- data/test/ui/core/forms/texts/auto_complete_field_test.rb +8 -8
- data/test/ui/core/forms/texts/text_field_test.rb +2 -2
- data/test/ui/core/layouts/col_test.rb +11 -2
- data/test/ui/core/layouts/container_test.rb +15 -1
- data/test/ui/core/layouts/row_test.rb +68 -3
- data/test/ui/core/lists/list_group_test.rb +1 -1
- data/test/ui/core/navigations/breadcrumb_test.rb +1 -1
- data/test/ui/core/navigations/link_test.rb +1 -1
- data/test/ui/core/navigations/nav_test.rb +17 -5
- data/test/ui/core/navigations/navbar_test.rb +7 -8
- data/test/ui/core/navigations/tab_group_test.rb +4 -4
- data/test/ui/core/notifications/alert_test.rb +2 -2
- data/test/ui/core/notifications/badge_test.rb +3 -3
- data/test/ui/core/notifications/progress_bar_test.rb +1 -1
- data/test/ui/core/notifications/toast_test.rb +10 -1
- data/test/ui/core/windows/modal_test.rb +15 -1
- data/test/ui/utils/breakdown_class_name_generator_test.rb +74 -0
- data/test/ui/ux/containers/panel_test.rb +5 -5
- data/test/ui/ux/tables/table_test.rb +6 -6
- data/test/ui_bibz_test.rb +1 -1
- data/ui_bibz.gemspec +16 -16
- metadata +100 -109
- data/.rubocop_todo.yml +0 -25
- data/app/assets/javascripts/fix_bootstrap.coffee +0 -7
- data/app/assets/javascripts/form.coffee +0 -83
- data/app/assets/javascripts/formula.coffee +0 -69
- data/app/assets/javascripts/input-connected.coffee +0 -101
- data/app/assets/javascripts/interface.coffee +0 -55
- data/app/assets/javascripts/jquery.multi-select-extend.coffee +0 -38
- data/app/assets/javascripts/table.coffee +0 -36
- data/app/assets/javascripts/ui_bibz.coffee.erb +0 -75
- data/app/assets/stylesheets/_custom_variables.sass +0 -20
- data/app/assets/stylesheets/_panel.scss +0 -315
- data/app/assets/stylesheets/bootstrap-switch.sass +0 -159
- data/app/assets/stylesheets/boxes.sass +0 -5
- data/app/assets/stylesheets/containers.sass +0 -2
- data/app/assets/stylesheets/fix-bootstrap-4.sass +0 -19
- data/app/assets/stylesheets/fix_addon.sass +0 -216
- data/app/assets/stylesheets/forms.sass +0 -91
- data/app/assets/stylesheets/navigations.sass +0 -17
- data/app/assets/stylesheets/notifications.sass +0 -42
- data/app/assets/stylesheets/tables.sass +0 -66
- data/app/assets/stylesheets/ui_bibz.sass.erb +0 -55
- data/lib/generators/ui_bibz/install_generator.rb +0 -17
- data/lib/generators/ui_bibz/templates/ui_bibz_initializer.rb +0 -5
- data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +0 -125
- data/lib/ui_bibz/ui/core/icons/glyph_group.rb +0 -101
- data/test/dummy/bin/bundle +0 -5
- data/test/ui/core/forms/files/text_field_test.rb +0 -12
- data/test/ui/core/forms/selects/dropdown_select_field_test.rb +0 -84
- data/test/ui/core/icons/glyph_group_test.rb +0 -37
@@ -43,9 +43,6 @@ module UiBibz::Ui::Core::Notifications::Components
|
|
43
43
|
#
|
44
44
|
class Bar < UiBibz::Ui::Core::Component
|
45
45
|
# See UiBibz::Ui::Core::Component.initialize
|
46
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
47
|
-
super
|
48
|
-
end
|
49
46
|
|
50
47
|
# Render html tag
|
51
48
|
def pre_render
|
@@ -32,9 +32,6 @@ module UiBibz::Ui::Core::Notifications::Components
|
|
32
32
|
#
|
33
33
|
class ToastBody < UiBibz::Ui::Core::Component
|
34
34
|
# See UiBibz::Ui::Core::Component.initialize
|
35
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
36
|
-
super
|
37
|
-
end
|
38
35
|
|
39
36
|
def pre_render
|
40
37
|
content_tag :div, content, html_options
|
@@ -32,9 +32,6 @@ module UiBibz::Ui::Core::Notifications::Components
|
|
32
32
|
#
|
33
33
|
class ToastHeader < UiBibz::Ui::Core::Component
|
34
34
|
# See UiBibz::Ui::Core::Component.initialize
|
35
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
36
|
-
super
|
37
|
-
end
|
38
35
|
|
39
36
|
def pre_render
|
40
37
|
content_tag :div, html_options do
|
@@ -49,9 +46,7 @@ module UiBibz::Ui::Core::Notifications::Components
|
|
49
46
|
private
|
50
47
|
|
51
48
|
def close_button
|
52
|
-
content_tag :button, class: 'ml-2 mb-1 close', "data-dismiss": 'toast', "aria-label": 'Close'
|
53
|
-
content_tag(:span, '×', "aria-hidden": true).html_safe
|
54
|
-
end
|
49
|
+
content_tag :button, '', class: 'ml-2 mb-1 btn-close', "data-dismiss": 'toast', "aria-label": 'Close'
|
55
50
|
end
|
56
51
|
|
57
52
|
def component_html_classes
|
@@ -47,7 +47,7 @@ module UiBibz::Ui::Core::Notifications
|
|
47
47
|
#
|
48
48
|
# ui_progress_bar(integer, options = {}, html_options = {})
|
49
49
|
#
|
50
|
-
# ui_progress_bar(options = {
|
50
|
+
# ui_progress_bar(options = {}, html_options = {}) do |pb|
|
51
51
|
# pb.bar(integer, options = {}, html_options = {})
|
52
52
|
# pb.bar(options = {}, html_options = {}) do
|
53
53
|
# integer
|
@@ -55,10 +55,12 @@ module UiBibz::Ui::Core::Notifications
|
|
55
55
|
# end
|
56
56
|
#
|
57
57
|
class ProgressBar < UiBibz::Ui::Core::Component
|
58
|
+
include UiBibz::Ui::Concerns::HtmlConcern
|
59
|
+
|
58
60
|
# See UiBibz::Ui::Core::Component.initialize
|
59
61
|
def initialize(content = nil, options = nil, html_options = nil, &block)
|
60
62
|
super
|
61
|
-
@
|
63
|
+
@items = []
|
62
64
|
end
|
63
65
|
|
64
66
|
# Render html tag
|
@@ -67,7 +69,7 @@ module UiBibz::Ui::Core::Notifications
|
|
67
69
|
end
|
68
70
|
|
69
71
|
def bar(content = nil, options = nil, html_options = nil, &block)
|
70
|
-
@
|
72
|
+
@items << UiBibz::Ui::Core::Notifications::Components::Bar.new(content, options, html_options, &block).render
|
71
73
|
end
|
72
74
|
|
73
75
|
private
|
@@ -77,8 +79,8 @@ module UiBibz::Ui::Core::Notifications
|
|
77
79
|
end
|
78
80
|
|
79
81
|
def bars
|
80
|
-
if !@
|
81
|
-
@
|
82
|
+
if !@items.empty?
|
83
|
+
@items
|
82
84
|
elsif options[:stacked]
|
83
85
|
stacked_bars
|
84
86
|
else
|
@@ -48,9 +48,6 @@ module UiBibz::Ui::Core::Notifications
|
|
48
48
|
#
|
49
49
|
class Spinner < UiBibz::Ui::Core::Component
|
50
50
|
# See UiBibz::Ui::Core::Component.initialize
|
51
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
52
|
-
super
|
53
|
-
end
|
54
51
|
|
55
52
|
# Render html tag
|
56
53
|
def pre_render
|
@@ -49,7 +49,7 @@ module UiBibz::Ui::Core::Notifications
|
|
49
49
|
#
|
50
50
|
# ==== Helper
|
51
51
|
#
|
52
|
-
# ui_toast(options = {
|
52
|
+
# ui_toast(options = {}, html_options = {}) do |t|
|
53
53
|
# t.header "My header toast", glyph: 'eye', time: 'now'
|
54
54
|
# t.body "My body toast"
|
55
55
|
# end
|
@@ -58,6 +58,7 @@ module UiBibz::Ui::Core::Notifications
|
|
58
58
|
# See UiBibz::Ui::Core::Component.initialize
|
59
59
|
def initialize(content = nil, options = nil, html_options = nil, &block)
|
60
60
|
super
|
61
|
+
body(@content) unless @tapped
|
61
62
|
end
|
62
63
|
|
63
64
|
# Render html tag
|
@@ -81,7 +82,7 @@ module UiBibz::Ui::Core::Notifications
|
|
81
82
|
private
|
82
83
|
|
83
84
|
def component_html_classes
|
84
|
-
super << 'toast'
|
85
|
+
super << ['toast', status, white_text_color]
|
85
86
|
end
|
86
87
|
|
87
88
|
def component_html_options
|
@@ -90,7 +91,17 @@ module UiBibz::Ui::Core::Notifications
|
|
90
91
|
|
91
92
|
def component_html_data
|
92
93
|
super
|
93
|
-
add_html_data 'autohide', options[:auto_hide] if options[:auto_hide]
|
94
|
+
add_html_data 'autohide', value: options[:auto_hide] if options[:auto_hide]
|
95
|
+
end
|
96
|
+
|
97
|
+
def status
|
98
|
+
"bg-#{options[:status]}" if options[:status]
|
99
|
+
end
|
100
|
+
|
101
|
+
def white_text_color
|
102
|
+
return if options[:status].nil?
|
103
|
+
|
104
|
+
'text-white' unless %i[info warning info light].include?(options[:status])
|
94
105
|
end
|
95
106
|
end
|
96
107
|
end
|
@@ -32,9 +32,6 @@ module UiBibz::Ui::Core::Windows::Components
|
|
32
32
|
#
|
33
33
|
class ModalBody < UiBibz::Ui::Core::Component
|
34
34
|
# See UiBibz::Ui::Core::Component.initialize
|
35
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
36
|
-
super
|
37
|
-
end
|
38
35
|
|
39
36
|
# Render html tag
|
40
37
|
def pre_render
|
@@ -32,9 +32,6 @@ module UiBibz::Ui::Core::Windows::Components
|
|
32
32
|
#
|
33
33
|
class ModalFooter < UiBibz::Ui::Core::Component
|
34
34
|
# See UiBibz::Ui::Core::Component.initialize
|
35
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
36
|
-
super
|
37
|
-
end
|
38
35
|
|
39
36
|
# Render html tag
|
40
37
|
def pre_render
|
@@ -32,9 +32,6 @@ module UiBibz::Ui::Core::Windows::Components
|
|
32
32
|
#
|
33
33
|
class ModalHeader < UiBibz::Ui::Core::Component
|
34
34
|
# See UiBibz::Ui::Core::Component.initialize
|
35
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
36
|
-
super
|
37
|
-
end
|
38
35
|
|
39
36
|
# Render html tag
|
40
37
|
def pre_render
|
@@ -51,10 +48,7 @@ module UiBibz::Ui::Core::Windows::Components
|
|
51
48
|
end
|
52
49
|
|
53
50
|
def close_button_html
|
54
|
-
content_tag :button, class: 'close', 'data-dismiss' => 'modal', 'aria-label' => 'Close'
|
55
|
-
concat content_tag :span, '×', 'aria-hidden' => true
|
56
|
-
concat content_tag :span, 'Close', class: 'sr-only'
|
57
|
-
end
|
51
|
+
content_tag :button, '', class: 'btn-close', 'data-dismiss' => 'modal', 'aria-label' => 'Close'
|
58
52
|
end
|
59
53
|
end
|
60
54
|
end
|
@@ -19,7 +19,11 @@ module UiBibz::Ui::Core::Windows
|
|
19
19
|
# You can add HTML attributes using the +html_options+.
|
20
20
|
# You can pass arguments in options attribute:
|
21
21
|
# * +size+
|
22
|
-
# (+:
|
22
|
+
# (+:xl:,+:lg+, +:md+, +:sm+)
|
23
|
+
# * +fullscreen+ - Boolean
|
24
|
+
# * +backdrop+ - Symbol (+:static+)
|
25
|
+
# * +scrollable+ - Boolean
|
26
|
+
# * +position+ - Symbol (+:centered+)
|
23
27
|
#
|
24
28
|
# ==== Signatures
|
25
29
|
#
|
@@ -55,48 +59,95 @@ module UiBibz::Ui::Core::Windows
|
|
55
59
|
#
|
56
60
|
class Modal < UiBibz::Ui::Core::Component
|
57
61
|
# See UiBibz::Ui::Core::Component.initialize
|
58
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
59
|
-
super
|
60
|
-
end
|
61
62
|
|
62
63
|
# Render html tag
|
63
64
|
def pre_render
|
64
|
-
content_tag :div,
|
65
|
-
content_tag :div, class:
|
65
|
+
content_tag :div, modal_html_options do
|
66
|
+
content_tag :div, class: modal_dialog_classes do
|
66
67
|
content_tag :div, class: 'modal-content' do
|
67
|
-
concat @header
|
68
|
-
concat @body
|
69
|
-
concat @footer
|
68
|
+
concat @header&.render
|
69
|
+
concat @body&.render
|
70
|
+
concat @footer&.render
|
70
71
|
end
|
71
72
|
end
|
72
73
|
end
|
73
74
|
end
|
74
75
|
|
75
76
|
def header(content = nil, options = nil, html_options = nil, &block)
|
76
|
-
@header = UiBibz::Ui::Core::Windows::Components::ModalHeader.new(content, options, html_options, &block)
|
77
|
+
@header = UiBibz::Ui::Core::Windows::Components::ModalHeader.new(content, options, html_options, &block)
|
77
78
|
end
|
78
79
|
|
79
80
|
def footer(content = nil, options = nil, html_options = nil, &block)
|
80
|
-
@footer = UiBibz::Ui::Core::Windows::Components::ModalFooter.new(content, options, html_options, &block)
|
81
|
+
@footer = UiBibz::Ui::Core::Windows::Components::ModalFooter.new(content, options, html_options, &block)
|
81
82
|
end
|
82
83
|
|
83
84
|
def body(content = nil, options = nil, html_options = nil, &block)
|
84
|
-
@body = UiBibz::Ui::Core::Windows::Components::ModalBody.new(content, options, html_options, &block)
|
85
|
+
@body = UiBibz::Ui::Core::Windows::Components::ModalBody.new(content, options, html_options, &block)
|
85
86
|
end
|
86
87
|
|
87
88
|
private
|
88
89
|
|
90
|
+
def modal_dialog_classes
|
91
|
+
UiBibz::Utils::Screwdriver.join_classes('modal-dialog', fullscreen_size, size, position, scrollable)
|
92
|
+
end
|
93
|
+
|
89
94
|
def component_html_classes
|
90
95
|
'modal'
|
91
96
|
end
|
92
97
|
|
93
|
-
|
98
|
+
def scrollable
|
99
|
+
'modal-dialog-scrollable' if @options[:scrollable]
|
100
|
+
end
|
101
|
+
|
102
|
+
# centered
|
103
|
+
def position
|
104
|
+
"modal-dialog-#{@options[:position]}" if @options[:position]
|
105
|
+
end
|
106
|
+
|
107
|
+
# :xl, :lg, :sm or :xs
|
108
|
+
def fullscreen_size
|
109
|
+
[modal, fullscreen, @options[:size], down].compact.join('-')
|
110
|
+
end
|
111
|
+
|
94
112
|
def size
|
95
|
-
|
113
|
+
[modal, @options[:size]].compact.join('-') if @options[:size]
|
114
|
+
end
|
115
|
+
|
116
|
+
def fullscreen
|
117
|
+
'fullscreen' if @options[:fullscreen]
|
96
118
|
end
|
97
119
|
|
98
120
|
def effect
|
99
121
|
@options[:effect] unless @options[:effect].nil?
|
100
122
|
end
|
123
|
+
|
124
|
+
def down
|
125
|
+
'down' if @options[:size] && @options[:fullscreen]
|
126
|
+
end
|
127
|
+
|
128
|
+
def modal
|
129
|
+
'modal' if @options[:size] || @options[:fullscreen]
|
130
|
+
end
|
131
|
+
|
132
|
+
# Update html_options only during pre-render
|
133
|
+
def modal_html_options
|
134
|
+
html_options.merge({ tabindex: '-1', aria: { labelledby: labelled_by, hidden: 'true' } })
|
135
|
+
end
|
136
|
+
|
137
|
+
def component_html_data
|
138
|
+
super
|
139
|
+
backdrop
|
140
|
+
end
|
141
|
+
|
142
|
+
def labelled_by
|
143
|
+
sanitize_text(@header&.content || 'Modal')
|
144
|
+
end
|
145
|
+
|
146
|
+
def backdrop
|
147
|
+
return unless @options[:backdrop]
|
148
|
+
|
149
|
+
add_html_data 'backdrop', value: @options[:backdrop]
|
150
|
+
add_html_data 'keyboard', value: 'false'
|
151
|
+
end
|
101
152
|
end
|
102
153
|
end
|
@@ -13,7 +13,11 @@ module GlyphExtension
|
|
13
13
|
# Render glyph with space html
|
14
14
|
def glyph_with_space
|
15
15
|
out = [glyph]
|
16
|
-
out <<
|
16
|
+
out << if options[:text] == false
|
17
|
+
content_tag(:span, ' ', class: 'empty-space')
|
18
|
+
else
|
19
|
+
' '
|
20
|
+
end
|
17
21
|
out.join unless glyph.nil?
|
18
22
|
end
|
19
23
|
|
@@ -23,7 +27,7 @@ module GlyphExtension
|
|
23
27
|
|
24
28
|
glyph_options = if options[:glyph].is_a?(Hash)
|
25
29
|
options[:glyph]
|
26
|
-
elsif options[:glyph]
|
30
|
+
elsif options[:glyph]
|
27
31
|
{ name: options[:glyph] }
|
28
32
|
else
|
29
33
|
{}
|
@@ -8,27 +8,27 @@ module PopoverExtension
|
|
8
8
|
trigger offset fallback_placement boundary sanitize white_list sanitize_fn].freeze
|
9
9
|
|
10
10
|
def popover_data_html
|
11
|
-
|
12
|
-
add_html_data :toggle, 'popover'
|
13
|
-
add_html_data :content, (options[:popover].is_a?(String) ? options[:popover] : options[:popover][:content])
|
11
|
+
if options[:popover].present?
|
12
|
+
add_html_data :toggle, value: 'popover'
|
13
|
+
add_html_data :content, value: (options[:popover].is_a?(String) ? options[:popover] : options[:popover][:content])
|
14
14
|
end
|
15
15
|
|
16
16
|
return unless options[:popover].is_a?(Hash)
|
17
17
|
|
18
|
-
POPOVER_METHODS.each { |mth| add_html_data(mth, options[:popover].try(:[], mth)) unless options[:popover].try(:[], mth).nil? }
|
19
|
-
add_html_data :placement, options[:popover].try(:[], :position) unless options[:popover].try(:[], :position).nil?
|
18
|
+
POPOVER_METHODS.each { |mth| add_html_data(mth, value: options[:popover].try(:[], mth)) unless options[:popover].try(:[], mth).nil? }
|
19
|
+
add_html_data :placement, value: options[:popover].try(:[], :position) unless options[:popover].try(:[], :position).nil?
|
20
20
|
end
|
21
21
|
|
22
22
|
def tooltip_data_html
|
23
23
|
return if options[:tooltip].nil?
|
24
24
|
|
25
|
-
add_html_data :toggle, 'tooltip'
|
25
|
+
add_html_data :toggle, value: 'tooltip'
|
26
26
|
|
27
27
|
if options[:tooltip].is_a?(Hash)
|
28
|
-
TOOLTIP_METHODS.each { |mth| add_html_data(mth, options[:tooltip].try(:[], mth)) unless options[:tooltip].try(:[], mth).nil? }
|
29
|
-
add_html_data :placement, options[:tooltip].try(:[], :position) unless options[:tooltip].try(:[], :position).nil?
|
28
|
+
TOOLTIP_METHODS.each { |mth| add_html_data(mth, value: options[:tooltip].try(:[], mth)) unless options[:tooltip].try(:[], mth).nil? }
|
29
|
+
add_html_data :placement, value: options[:tooltip].try(:[], :position) unless options[:tooltip].try(:[], :position).nil?
|
30
30
|
else
|
31
|
-
add_html_data :title, options[:tooltip]
|
31
|
+
add_html_data :title, value: options[:tooltip]
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -14,7 +14,7 @@ module ConnectExtension
|
|
14
14
|
|
15
15
|
def connect_opts
|
16
16
|
selector = options[:refresh][:target][:selector]
|
17
|
-
options[:refresh][:target][:selector] = selector.
|
17
|
+
options[:refresh][:target][:selector] = selector.presence || "##{connect_options_selector}"
|
18
18
|
|
19
19
|
options[:refresh].merge({
|
20
20
|
connect: {
|
@@ -26,6 +26,6 @@ module ConnectExtension
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def connect_options
|
29
|
-
add_html_data('connect', options[:connect]) if options[:connect]
|
29
|
+
add_html_data('connect', value: options[:connect]) if options[:connect]
|
30
30
|
end
|
31
31
|
end
|
@@ -32,9 +32,6 @@ module UiBibz::Ui::Ux::Containers::Components
|
|
32
32
|
#
|
33
33
|
class PanelBody < UiBibz::Ui::Core::Component
|
34
34
|
# See UiBibz::Ui::Core::Component.initialize
|
35
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
36
|
-
super
|
37
|
-
end
|
38
35
|
|
39
36
|
# Render html tag
|
40
37
|
def pre_render
|
@@ -23,6 +23,8 @@ module UiBibz::Ui::Ux::Containers::Components
|
|
23
23
|
# end.render
|
24
24
|
#
|
25
25
|
class PanelColumn < UiBibz::Ui::Core::Component
|
26
|
+
include UiBibz::Ui::Concerns::HtmlConcern
|
27
|
+
|
26
28
|
# See UiBibz::Ui::Core::Component.initialize
|
27
29
|
def initialize(content = nil, options = nil, html_options = nil, &block)
|
28
30
|
super
|
@@ -23,6 +23,8 @@ module UiBibz::Ui::Ux::Containers::Components
|
|
23
23
|
# end.render
|
24
24
|
#
|
25
25
|
class PanelDeck < UiBibz::Ui::Core::Component
|
26
|
+
include UiBibz::Ui::Concerns::HtmlConcern
|
27
|
+
|
26
28
|
# See UiBibz::Ui::Core::Component.initialize
|
27
29
|
def initialize(content = nil, options = nil, html_options = nil, &block)
|
28
30
|
super
|
@@ -33,9 +33,6 @@ module UiBibz::Ui::Ux::Containers::Components
|
|
33
33
|
#
|
34
34
|
class PanelFooter < UiBibz::Ui::Core::Component
|
35
35
|
# See UiBibz::Ui::Core::Component.initialize
|
36
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
37
|
-
super
|
38
|
-
end
|
39
36
|
|
40
37
|
# Render html tag
|
41
38
|
def pre_render
|
@@ -21,6 +21,8 @@ module UiBibz::Ui::Ux::Containers::Components
|
|
21
21
|
# end.render
|
22
22
|
#
|
23
23
|
class PanelGroup < UiBibz::Ui::Core::Component
|
24
|
+
include UiBibz::Ui::Concerns::HtmlConcern
|
25
|
+
|
24
26
|
# See UiBibz::Ui::Core::Component.initialize
|
25
27
|
def initialize(content = nil, options = nil, html_options = nil, &block)
|
26
28
|
super
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'ui_bibz/ui/ux/containers/components/panel_tab_group'
|
4
|
+
require 'ui_bibz/ui/ux/containers/components/panel_header_title'
|
4
5
|
module UiBibz::Ui::Ux::Containers::Components
|
5
6
|
# Create a panel header
|
6
7
|
#
|
@@ -33,9 +34,6 @@ module UiBibz::Ui::Ux::Containers::Components
|
|
33
34
|
#
|
34
35
|
class PanelHeader < UiBibz::Ui::Core::Component
|
35
36
|
# See UiBibz::Ui::Core::Component.initialize
|
36
|
-
def initialize(content = nil, options = nil, html_options = nil, &block)
|
37
|
-
super
|
38
|
-
end
|
39
37
|
|
40
38
|
# Render html tag
|
41
39
|
def pre_render
|
@@ -45,8 +43,8 @@ module UiBibz::Ui::Ux::Containers::Components
|
|
45
43
|
end
|
46
44
|
end
|
47
45
|
|
48
|
-
def title(
|
49
|
-
@content =
|
46
|
+
def title(content = nil, options = nil, html_options = nil, &block)
|
47
|
+
@content = PanelHeaderTitle.new(content, options, html_options, &block).render
|
50
48
|
end
|
51
49
|
|
52
50
|
def actions(content = nil, options = nil, html_options = nil, &block)
|
@@ -54,7 +52,7 @@ module UiBibz::Ui::Ux::Containers::Components
|
|
54
52
|
end
|
55
53
|
|
56
54
|
def tab_group(content = nil, options = nil, html_options = nil, &block)
|
57
|
-
@content = if
|
55
|
+
@content = if tapped?(block)
|
58
56
|
PanelTabGroup.new(content, options, html_options).tap(&block).render
|
59
57
|
else
|
60
58
|
PanelTabGroup.new(content, options, html_options, &block).render
|