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
|
module UiBibzInputs
|
2
4
|
class BaseInput < SimpleForm::Inputs::Base
|
3
5
|
include ActionView::Helpers::FormTagHelper
|
@@ -7,16 +9,15 @@ module UiBibzInputs
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def options
|
10
|
-
super.merge({ value: @builder.object.send(attribute_name)}).merge(@builder.options[:input_html] || {})
|
12
|
+
super.merge({ value: @builder.object.send(attribute_name) }).merge(@builder.options[:input_html] || {})
|
11
13
|
end
|
12
14
|
|
13
15
|
private
|
14
16
|
|
15
17
|
def input_attribute_name
|
16
|
-
new_attribute_name =
|
17
|
-
new_attribute_name += "[#{
|
18
|
-
new_attribute_name
|
18
|
+
new_attribute_name = @builder.lookup_model_names.first.to_s
|
19
|
+
new_attribute_name += "[#{@builder.lookup_model_names.second}_attributes]" if @builder.lookup_model_names.second
|
20
|
+
new_attribute_name + "[#{attribute_name}]"
|
19
21
|
end
|
20
|
-
|
21
22
|
end
|
22
23
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class CollectionInput < SimpleForm::Inputs::CollectionInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Selects
|
@@ -24,11 +26,11 @@ module UiBibzInputs
|
|
24
26
|
group_method, group_label_method,
|
25
27
|
value_method, label_method,
|
26
28
|
new_value
|
27
|
-
)})
|
29
|
+
) })
|
28
30
|
else
|
29
31
|
options.merge({ option_tags: options_from_collection_for_select(
|
30
32
|
collection, value_method, label_method, new_value
|
31
|
-
)})
|
33
|
+
) })
|
32
34
|
end
|
33
35
|
else
|
34
36
|
options
|
@@ -41,7 +43,7 @@ module UiBibzInputs
|
|
41
43
|
else
|
42
44
|
begin
|
43
45
|
ActiveSupport::JSON.decode(@builder.object.send(attribute_name).to_s)
|
44
|
-
rescue
|
46
|
+
rescue StandardError
|
45
47
|
@builder.object.send(attribute_name)
|
46
48
|
end
|
47
49
|
end
|
@@ -55,9 +57,9 @@ module UiBibzInputs
|
|
55
57
|
end
|
56
58
|
|
57
59
|
def input_attribute_name
|
58
|
-
new_attribute_name =
|
59
|
-
new_attribute_name += "[#{
|
60
|
-
new_attribute_name
|
60
|
+
new_attribute_name = @builder.lookup_model_names.first.to_s
|
61
|
+
new_attribute_name += "[#{@builder.lookup_model_names.second}_attributes]" if @builder.lookup_model_names.second
|
62
|
+
new_attribute_name + "[#{attribute_name}]"
|
61
63
|
end
|
62
64
|
|
63
65
|
def collection
|
@@ -1,28 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class StringInput < BaseInput
|
5
|
+
enable :placeholder, :maxlength, :minlength, :pattern
|
3
6
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
input_html_classes.unshift("string")
|
9
|
-
input_html_options[:type] ||= input_type if html5?
|
10
|
-
end
|
11
|
-
|
12
|
-
merged_input_options = merge_wrapper_options(input_html_options, wrapper_options)
|
13
|
-
|
14
|
-
@builder.text_field(attribute_name, merged_input_options)
|
7
|
+
def input(wrapper_options = nil)
|
8
|
+
unless string?
|
9
|
+
input_html_classes.unshift('string')
|
10
|
+
input_html_options[:type] ||= input_type if html5?
|
15
11
|
end
|
16
12
|
|
17
|
-
|
18
|
-
super.merge({ value: @builder.object.send(attribute_name) || super[:value] })
|
19
|
-
end
|
13
|
+
merged_input_options = merge_wrapper_options(input_html_options, wrapper_options)
|
20
14
|
|
21
|
-
|
15
|
+
@builder.text_field(attribute_name, merged_input_options)
|
16
|
+
end
|
22
17
|
|
23
|
-
|
24
|
-
|
25
|
-
|
18
|
+
def options
|
19
|
+
super.merge({ value: @builder.object.send(attribute_name) || super[:value] })
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
26
23
|
|
24
|
+
def string?
|
25
|
+
input_type == :string
|
26
|
+
end
|
27
27
|
end
|
28
28
|
end
|
@@ -1,14 +1,15 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiAutoCompleteFieldInput < CollectionInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Texts
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Texts::AutoCompleteField.new(input_attribute_name, new_options, input_html_options).render
|
7
9
|
end
|
8
10
|
|
9
11
|
def new_options
|
10
12
|
super.merge({ value: @builder.object.send(attribute_name) })
|
11
13
|
end
|
12
|
-
|
13
14
|
end
|
14
15
|
end
|
@@ -1,8 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiBoxSwitchFieldInput < BaseInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Choices
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new(input_attribute_name, options, new_input_html_options).render
|
7
9
|
end
|
8
10
|
|
@@ -13,6 +15,5 @@ module UiBibzInputs
|
|
13
15
|
def value
|
14
16
|
@value ||= @builder.object.send(attribute_name)
|
15
17
|
end
|
16
|
-
|
17
18
|
end
|
18
19
|
end
|
@@ -1,8 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiCheckboxFieldInput < BaseInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Choices
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Choices::CheckboxField.new(input_attribute_name, new_options, new_input_html_options).render
|
7
9
|
end
|
8
10
|
|
@@ -17,6 +19,5 @@ module UiBibzInputs
|
|
17
19
|
def new_options
|
18
20
|
options.merge({ label: attribute_name.to_s.titleize })
|
19
21
|
end
|
20
|
-
|
21
22
|
end
|
22
23
|
end
|
@@ -1,20 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
|
-
class UiChoiceGroupInput < CollectionInput
|
4
|
+
class UiChoiceGroupInput < CollectionInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Choices
|
4
6
|
|
5
7
|
def input(wrapper_options = nil)
|
6
|
-
label_method, value_method = detect_collection_methods
|
8
|
+
label_method, value_method = detect_collection_methods # rubocop:disable Lint/UselessAssignment
|
7
9
|
|
8
|
-
merged_input_options = merge_wrapper_options(input_html_options, wrapper_options)
|
10
|
+
merged_input_options = merge_wrapper_options(input_html_options, wrapper_options) # rubocop:disable Lint/UselessAssignment
|
9
11
|
|
10
12
|
UiBibz::Ui::Core::Forms::Choices::ChoiceGroup.new(input_options).tap do |bc|
|
11
13
|
collection.each do |item|
|
12
|
-
opts = { name: "#{
|
14
|
+
opts = { name: "#{@builder.object.class.name.underscore}[#{attribute_name}]", value: item[1] }
|
13
15
|
opts = opts.merge({ state: :active }) if @builder.object.send(attribute_name).to_s == item[1].to_s
|
14
16
|
bc.button item[0], opts
|
15
17
|
end
|
16
18
|
end.render
|
17
19
|
end
|
18
|
-
|
19
20
|
end
|
20
21
|
end
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiDatePickerFieldInput < BaseInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Dates
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Dates::DatePickerField.new(input_attribute_name, options, input_html_options).render
|
7
9
|
end
|
8
|
-
|
9
10
|
end
|
10
11
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiDropdownSelectFieldInput < CollectionInput
|
3
|
-
|
4
|
-
def input(wrapper_options)
|
5
|
+
def input(_wrapper_options)
|
5
6
|
UiBibz::Ui::Core::Forms::Selects::DropdownSelectField.new(input_attribute_name, new_options, input_html_options).render
|
6
7
|
end
|
7
|
-
|
8
8
|
end
|
9
9
|
end
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiFileFieldInput < StringInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Texts
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Files::FileField.new(input_attribute_name, options, input_html_options).render
|
7
9
|
end
|
8
|
-
|
9
10
|
end
|
10
11
|
end
|
@@ -1,18 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiFormulaFieldInput < StringInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Numbers
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Numbers::FormulaField.new(input_attribute_name, options, input_html_options).render
|
7
9
|
end
|
8
10
|
|
9
11
|
def input_html_options
|
10
|
-
super.merge({ value: @builder.object.send(attribute_name), formula_field_value: @builder.object.send(options[:formula_field_name] || attribute_formula_name)})
|
12
|
+
super.merge({ value: @builder.object.send(attribute_name), formula_field_value: @builder.object.send(options[:formula_field_name] || attribute_formula_name) })
|
11
13
|
end
|
12
14
|
|
13
15
|
def attribute_formula_name
|
14
|
-
"#{
|
16
|
+
"#{attribute_name}_formula"
|
15
17
|
end
|
16
|
-
|
17
18
|
end
|
18
19
|
end
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiMarkdownEditorFieldInput < StringInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Textareas
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Textareas::MarkdownEditorField.new(input_attribute_name, options, input_html_options).render
|
7
9
|
end
|
8
|
-
|
9
10
|
end
|
10
11
|
end
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiMultiColumnFieldInput < CollectionInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Selects
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Selects::MultiColumnField.new(attribute_name, new_options, input_html_options).render
|
7
9
|
end
|
8
|
-
|
9
10
|
end
|
10
11
|
end
|
@@ -1,9 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiMultiSelectFieldInput < CollectionInput
|
3
|
-
|
4
|
-
def input(wrapper_options)
|
5
|
+
def input(_wrapper_options)
|
5
6
|
UiBibz::Ui::Core::Forms::Selects::MultiSelectField.new(input_attribute_name, new_options, input_html_options).render
|
6
7
|
end
|
7
|
-
|
8
8
|
end
|
9
9
|
end
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiNumberFieldInput < UiTextFieldInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Numbers
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Numbers::NumberField.new(input_attribute_name, options, input_html_options).render
|
7
9
|
end
|
8
|
-
|
9
10
|
end
|
10
11
|
end
|
@@ -1,20 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiRadioFieldInput < SimpleForm::Inputs::CollectionRadioButtonsInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Choices
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
i = UiBibz::Ui::Core::Forms::Choices::RadioField.new(attribute_name, options, input_html_options)
|
7
9
|
options[:item_wrapper_tag] = :div
|
8
10
|
options[:item_wrapper_class] = i.html_options[:class]
|
9
11
|
|
10
12
|
label_method, value_method = detect_collection_methods
|
11
13
|
|
12
|
-
@builder.send(:
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
)
|
14
|
+
@builder.send(:collection_radio_buttons,
|
15
|
+
attribute_name, collection, value_method, label_method,
|
16
|
+
input_options, i.html_options,
|
17
|
+
&collection_block_for_nested_boolean_style)
|
17
18
|
end
|
18
|
-
|
19
19
|
end
|
20
20
|
end
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiRangeFieldInput < UiTextFieldInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Numbers
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Numbers::RangeField.new(input_attribute_name, options, input_html_options).render
|
7
9
|
end
|
8
|
-
|
9
10
|
end
|
10
11
|
end
|
@@ -1,7 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiSelectFieldInput < CollectionInput
|
3
|
-
|
4
|
-
def input(wrapper_options)
|
5
|
+
def input(_wrapper_options)
|
5
6
|
UiBibz::Ui::Core::Forms::Selects::SelectField.new(input_attribute_name, new_options, input_html_options).render
|
6
7
|
end
|
7
8
|
end
|
@@ -1,8 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiSwitchFieldInput < BaseInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Choices
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Choices::SwitchField.new(input_attribute_name, new_options, new_input_html_options).render
|
7
9
|
end
|
8
10
|
|
@@ -17,6 +19,5 @@ module UiBibzInputs
|
|
17
19
|
def new_options
|
18
20
|
options.merge({ label: attribute_name.to_s.titleize })
|
19
21
|
end
|
20
|
-
|
21
22
|
end
|
22
23
|
end
|
@@ -1,10 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module UiBibzInputs
|
2
4
|
class UiTextFieldInput < StringInput
|
3
5
|
include UiBibz::Ui::Core::Forms::Texts
|
4
6
|
|
5
|
-
def input(
|
7
|
+
def input(_wrapper_options)
|
6
8
|
UiBibz::Ui::Core::Forms::Texts::TextField.new(input_attribute_name, options, input_html_options).render
|
7
9
|
end
|
8
|
-
|
9
10
|
end
|
10
11
|
end
|
data/lib/ui_bibz/rails/engine.rb
CHANGED
@@ -1,27 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
# to load pagination in rails app
|
2
4
|
require 'will_paginate'
|
3
5
|
require 'jquery-rails'
|
4
6
|
require 'popper_js'
|
5
7
|
require 'bootstrap'
|
6
|
-
require 'simple_form' if system('gem list -i simple_form', :
|
8
|
+
require 'simple_form' if system('gem list -i simple_form', out: File::NULL)
|
7
9
|
|
8
10
|
module UiBibz
|
9
11
|
module Rails
|
10
12
|
class Engine < ::Rails::Engine
|
11
|
-
|
12
|
-
|
13
|
-
ActionView::Base.send :include, UiBibz::Helpers::UtilsHelper
|
13
|
+
initializer 'ui_bibz.helpers' do
|
14
|
+
ActionView::Base.include UiBibz::Helpers::UtilsHelper
|
14
15
|
end
|
15
16
|
|
16
|
-
initializer
|
17
|
-
ActionView::Base.
|
18
|
-
ActionView::Base.
|
17
|
+
initializer 'ui_bibz.helpers.ui' do
|
18
|
+
ActionView::Base.include UiBibz::Helpers::Ui::CoreHelper
|
19
|
+
ActionView::Base.include UiBibz::Helpers::Ui::UxHelper
|
19
20
|
end
|
20
21
|
|
21
22
|
config.autoload_paths += Dir["#{config.root}/lib/ui_bibz/inputs/"] if defined?(::SimpleForm)
|
22
23
|
|
23
|
-
initializer
|
24
|
-
ActionView::Base.
|
24
|
+
initializer 'ui_bibz.helpers.form' do
|
25
|
+
ActionView::Base.include UiBibzForm
|
25
26
|
end
|
26
27
|
|
27
28
|
initializer 'font-awesome-sass.assets.precompile', group: :all do |app|
|
@@ -33,13 +34,8 @@ module UiBibz
|
|
33
34
|
end
|
34
35
|
|
35
36
|
config.after_initialize do
|
36
|
-
unless UiBibz.configured?
|
37
|
-
warn '[Ui Bibz] Ui Bibz is not configured in the application and will use the default values.' + ' Use `rails generate ui_bibz:install` to generate the Ui Bibz configuration.'
|
38
|
-
end
|
37
|
+
warn '[Ui Bibz] Ui Bibz is not configured in the application and will use the default values.' + ' Use `rails generate ui_bibz:install` to generate the Ui Bibz configuration.' unless UiBibz.configured?
|
39
38
|
end
|
40
|
-
|
41
39
|
end
|
42
|
-
|
43
40
|
end
|
44
41
|
end
|
45
|
-
|