ui_bibz 2.5.2 → 3.0.0.alpha3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +2 -2
- data/.gitignore +3 -2
- data/.rubocop.yml +125 -2
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +110 -103
- 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 -2
- 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 +18 -0
- 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/string_input.rb +1 -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_number_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_slider_field_input.rb +12 -0
- data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb +8 -2
- data/lib/ui_bibz/rails/engine.rb +2 -13
- data/lib/ui_bibz/railtie.rb +6 -0
- data/lib/ui_bibz/ui/concerns/card_itemable_concern.rb +65 -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 +7 -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 +0 -3
- 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 +1 -1
- 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 +8 -7
- 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 +11 -6
- data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +1 -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 +8 -13
- data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +0 -3
- 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 +33 -5
- data/lib/ui_bibz/ui/core/forms/numbers/slider_field.rb +132 -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 +6 -9
- data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +0 -3
- data/lib/ui_bibz/ui/core/forms/selects/multi_select_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 +1 -4
- 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 +1 -4
- 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 +14 -5
- 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 +61 -14
- data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +4 -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 +1 -4
- 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 +69 -0
- data/lib/ui_bibz/utils/internationalization.rb +1 -1
- data/lib/ui_bibz/utils/screwdriver.rb +16 -10
- data/package.json +5 -0
- data/test/dummy/Rakefile +1 -1
- data/test/dummy/app/javascripts/packs/index.js +3 -0
- data/test/dummy/app/models/user.rb +1 -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 -22
- 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 +45 -11
- 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_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 +1 -1
- 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/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 +23 -2
- data/test/ui/core/forms/numbers/slider_field_test.rb +26 -0
- data/test/ui/core/forms/selects/dropdown_select_field_test.rb +10 -10
- data/test/ui/core/forms/selects/multi_column_field_test.rb +1 -1
- data/test/ui/core/forms/selects/multi_select_field_test.rb +2 -2
- data/test/ui/core/forms/selects/select_field_test.rb +3 -3
- data/test/ui/core/forms/surrounds/surround_field_test.rb +15 -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 +11 -0
- data/test/ui/core/navigations/navbar_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 +60 -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 +17 -17
- data/vendor/assets/fonts/fa-brands-400.eot +0 -0
- data/vendor/assets/fonts/fa-brands-400.svg +2 -2
- data/vendor/assets/fonts/fa-brands-400.ttf +0 -0
- data/vendor/assets/fonts/fa-brands-400.woff +0 -0
- data/vendor/assets/fonts/fa-brands-400.woff2 +0 -0
- data/vendor/assets/fonts/fa-regular-400.eot +0 -0
- data/vendor/assets/fonts/fa-regular-400.svg +2 -2
- data/vendor/assets/fonts/fa-regular-400.ttf +0 -0
- data/vendor/assets/fonts/fa-regular-400.woff +0 -0
- data/vendor/assets/fonts/fa-regular-400.woff2 +0 -0
- data/vendor/assets/fonts/fa-solid-900.eot +0 -0
- data/vendor/assets/fonts/fa-solid-900.svg +241 -3
- data/vendor/assets/fonts/fa-solid-900.ttf +0 -0
- data/vendor/assets/fonts/fa-solid-900.woff +0 -0
- data/vendor/assets/fonts/fa-solid-900.woff2 +0 -0
- data/vendor/assets/javascripts/all.js +57 -7
- data/vendor/assets/javascripts/all.min.js +2 -2
- data/vendor/assets/stylesheets/all.min.css +2 -2
- data/vendor/assets/stylesheets/fontawesome/_icons.scss +31 -0
- data/vendor/assets/stylesheets/fontawesome/_variables.scss +34 -3
- data/vendor/assets/stylesheets/fontawesome/brands.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/fontawesome.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/regular.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/solid.scss +1 -1
- data/vendor/assets/stylesheets/fontawesome/v4-shims.scss +1 -1
- metadata +101 -107
- 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 -217
- 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/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/icons/glyph_group_test.rb +0 -37
data/.rubocop_todo.yml
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# This configuration was generated by
|
2
|
-
# `rubocop --auto-gen-config`
|
3
|
-
# on 2020-03-06 22:08:50 +1100 using RuboCop version 0.80.1.
|
4
|
-
# The point is for the user to remove these configuration records
|
5
|
-
# one by one as the offenses are removed from the code base.
|
6
|
-
# Note that changes in the inspected code, or installation of new
|
7
|
-
# versions of RuboCop, may require this file to be generated again.
|
8
|
-
|
9
|
-
# Offense count: 8
|
10
|
-
# Cop supports --auto-correct.
|
11
|
-
# Configuration parameters: EnforcedStyleAlignWith, AutoCorrect, Severity.
|
12
|
-
# SupportedStylesAlignWith: keyword, variable, start_of_line
|
13
|
-
|
14
|
-
|
15
|
-
# Offense count: 47
|
16
|
-
Metrics/AbcSize:
|
17
|
-
Max: 48
|
18
|
-
|
19
|
-
# Offense count: 6
|
20
|
-
Metrics/CyclomaticComplexity:
|
21
|
-
Max: 11
|
22
|
-
|
23
|
-
# Offense count: 5
|
24
|
-
Metrics/PerceivedComplexity:
|
25
|
-
Max: 11
|
@@ -1,7 +0,0 @@
|
|
1
|
-
# Fix for button link in button group
|
2
|
-
$(document).on 'turbolinks:load page:change ready', ->
|
3
|
-
$('.btn-group > a.btn, .dropdown-item').click ->
|
4
|
-
try # Turbolinks exist
|
5
|
-
Turbolinks.visit($(this).attr('href'))
|
6
|
-
catch exception # Turbolinks doesn't exist
|
7
|
-
window.location = $(this).attr('href')
|
@@ -1,83 +0,0 @@
|
|
1
|
-
@UiBibzForm = class Form
|
2
|
-
|
3
|
-
constructor: ->
|
4
|
-
@switch() if $('input.switch-field').length > 0
|
5
|
-
@inputConnected() if $('.ui-bibz-connect').length > 0
|
6
|
-
@selectPicker() if $('.dropdown-select-field').length > 0
|
7
|
-
@multiSelect() if $('.multi-select-field').length > 0
|
8
|
-
@multiColumn() if $('.multi-column-field').length > 0
|
9
|
-
@formula() if $('.formula-field').length > 0
|
10
|
-
@autoCompleteFix() if $('.auto-complete-field').length > 0
|
11
|
-
|
12
|
-
inputConnected: ->
|
13
|
-
$('.ui-bibz-connect').inputConnected()
|
14
|
-
|
15
|
-
selectPicker: ->
|
16
|
-
$('select.dropdown-select-field').selectpicker()
|
17
|
-
|
18
|
-
switch: ->
|
19
|
-
$('input.switch-field').bootstrapSwitch({ size: 'large' })
|
20
|
-
|
21
|
-
multiSelect: ->
|
22
|
-
# http://loudev.com/
|
23
|
-
$('.multi-select-field').each ->
|
24
|
-
data = $(this).data()
|
25
|
-
classes = $(this)[0].classList.value
|
26
|
-
|
27
|
-
delete data["multiselect"]
|
28
|
-
data = Object.assign({ buttonClass: "btn #{ classes }"}, data)
|
29
|
-
$(this).multiselect(data)
|
30
|
-
$(this).siblings('.btn-group').addClass('input-group-btn') if $(this).parent().hasClass('input-group')
|
31
|
-
|
32
|
-
formula: ->
|
33
|
-
me = this
|
34
|
-
formula_input_fields = $('.formula-field')
|
35
|
-
formula_input_fields.each ->
|
36
|
-
me.updateFormulaField($(this))
|
37
|
-
|
38
|
-
formula_input_fields.on 'keyup', ->
|
39
|
-
me.updateFormulaField($(this))
|
40
|
-
|
41
|
-
updateFormulaField: (field) ->
|
42
|
-
formulaInputField = field
|
43
|
-
formulaSignField = formulaInputField.siblings('.formula-field-sign')
|
44
|
-
formulaResultField = formulaInputField.siblings('.formula-field-result')
|
45
|
-
formulaAlert = formulaInputField.siblings('.formula-field-alert')
|
46
|
-
|
47
|
-
f = new window.UiBibzFormula()
|
48
|
-
result = f.go(formulaInputField.val())
|
49
|
-
error = result[0]
|
50
|
-
response = result[1]
|
51
|
-
|
52
|
-
if !!error
|
53
|
-
formulaAlert.attr('data-original-title', error)
|
54
|
-
formulaAlert.attr('style', 'display: table-cell;')
|
55
|
-
formulaResultField.addClass('fix-border-right')
|
56
|
-
else
|
57
|
-
formulaAlert.hide()
|
58
|
-
formulaResultField.val(eval(response))
|
59
|
-
formulaResultField.removeClass('fix-border-right')
|
60
|
-
|
61
|
-
if isNaN(response)
|
62
|
-
formulaSignField.attr('style', 'display: table-cell;')
|
63
|
-
formulaResultField.attr('style', 'display: table-cell; visible: visible')
|
64
|
-
formulaInputField.addClass('fix-border-right')
|
65
|
-
else
|
66
|
-
formulaSignField.hide()
|
67
|
-
formulaResultField.attr('style', 'visible: hidden;')
|
68
|
-
formulaInputField.removeClass('fix-border-right')
|
69
|
-
|
70
|
-
multiColumn: ->
|
71
|
-
$(".multi-column-field").multiSelect()
|
72
|
-
|
73
|
-
autoCompleteFix: ->
|
74
|
-
$(".auto-complete-field").each ->
|
75
|
-
parent = $(this).parent('.input-group')
|
76
|
-
if parent.length > 0
|
77
|
-
lastChild = parent.children().last()
|
78
|
-
if lastChild.is('datalist')# || lastChild.not('visible')
|
79
|
-
radius = parent.children().first().css("border-bottom-left-radius")
|
80
|
-
$(this).css("border-bottom-right-radius", radius)
|
81
|
-
$(this).css("border-top-right-radius", radius)
|
82
|
-
|
83
|
-
|
@@ -1,69 +0,0 @@
|
|
1
|
-
# http://www.developpez.net/forums/d940195-2/webmasters-developpement-web/general-conception-web/contribuez/eval-calcul-risque/
|
2
|
-
@UiBibzFormula = class Formula
|
3
|
-
|
4
|
-
contructor: ->
|
5
|
-
|
6
|
-
res: ''
|
7
|
-
|
8
|
-
suite: (q) ->
|
9
|
-
me = this
|
10
|
-
par1 = q.match(/\(/g)
|
11
|
-
par2 = q.match(/\)/g)
|
12
|
-
if (par1? and par2? and par1.length isnt par2.length) or (not par1? and par2?) or (par1? and not par2?)
|
13
|
-
me.res = "Unclosed parenthesis."
|
14
|
-
else if /.*[\+x\*\/\-]$/.test(q)
|
15
|
-
me.res = "Formula ending with an operator."
|
16
|
-
else
|
17
|
-
me.res = "Undefined Error."
|
18
|
-
|
19
|
-
go: (ch) ->
|
20
|
-
me = this
|
21
|
-
flag = 0
|
22
|
-
for i of me.rg2
|
23
|
-
ch = ch.replace(eval(i), me.rg2[i])
|
24
|
-
finalvalue = ch
|
25
|
-
try
|
26
|
-
op = String(ch).match(/[\+x\*\/\-]{2,}/g)
|
27
|
-
ch = ch.toUpperCase()
|
28
|
-
ch = eval(ch)
|
29
|
-
me.res = "Multiple Operators in a row. <br/> Result is probably wrong." if op?
|
30
|
-
dec = (if not isNaN(ch) then ch.toFixed(3) else "It is a string.")
|
31
|
-
me.res = (if String(dec).search(/\.0+$/) isnt -1 then String(dec).substring(0, String(dec).indexOf(".")) else dec)
|
32
|
-
me.res = ''
|
33
|
-
catch er
|
34
|
-
for i of me.rg
|
35
|
-
if ch.match(eval(i))?
|
36
|
-
me.res = me.rg[i]
|
37
|
-
break
|
38
|
-
flag++
|
39
|
-
me.suite ch if flag is 5
|
40
|
-
return [me.res, finalvalue]
|
41
|
-
|
42
|
-
t:
|
43
|
-
x: "*"
|
44
|
-
X: "*"
|
45
|
-
":": "/"
|
46
|
-
|
47
|
-
rg:
|
48
|
-
"/[^\\+\\*\\/\\-\\(\\)\\s\\d\\.]/": "It is not a number"
|
49
|
-
"/[\\+\\*\\/\\-\\(]\\)/": "Parenthesis ending with a incorrect expression."
|
50
|
-
"/([\\+\\x\\*\\/\\-]{2,})|([\\+\\x\\*\\/\\-]\\s[\\+\\x\\*\\/\\-])/i": "Multiple Operators in a row."
|
51
|
-
"/(\\D\\.)|(\\.[\\D\\s]+)|(\\.\\d+\\.)/": "Wrong Decimal."
|
52
|
-
"/\\d\\s+\\d/": "Cut Integer."
|
53
|
-
"/\\([\\/\\*]/": "First operator within parenthesis is wrong."
|
54
|
-
"/^[\\*\\/]+/": "First operator within string is wrong"
|
55
|
-
|
56
|
-
rg2:
|
57
|
-
"/\\s+/g": " "
|
58
|
-
"/([^\\.\\,\\;\\d]|^)0+([\\,\\.\\;\\d])/g": "$10$2"
|
59
|
-
"/[,;]/g": "."
|
60
|
-
"/([^\\d\\.\\,\\;])0+(\\d)/g": "$1$2"
|
61
|
-
"/^(0)(\\d)/g": "$2"
|
62
|
-
"/[\\[\\]\\|\\&\\=\\!]/g": ""
|
63
|
-
"/([\\d\\)])(\\()/g": "$1*$2"
|
64
|
-
"/(\\))([\\d\\(])/g": "$1*$2"
|
65
|
-
"/\\/+/g": "/"
|
66
|
-
"/[xX:]/g": (o) ->
|
67
|
-
t[o]
|
68
|
-
|
69
|
-
"/\\/+/g": "/"
|
@@ -1,101 +0,0 @@
|
|
1
|
-
(($) ->
|
2
|
-
|
3
|
-
updateOptionsHtml = (data, componentTarget) ->
|
4
|
-
console.log data
|
5
|
-
componentTarget.children('option:not([value=""])').remove()
|
6
|
-
|
7
|
-
if Array.isArray(data)
|
8
|
-
appendToElement(data, componentTarget)
|
9
|
-
else
|
10
|
-
$.each data, (k,v) ->
|
11
|
-
updateOptionsHtml(data, componentTarget)
|
12
|
-
optgroup = $("<optgroup></optgroup>").attr("label", k)
|
13
|
-
appendToElement(v, optgroup)
|
14
|
-
componentTarget.append(optgroup)
|
15
|
-
|
16
|
-
appendToElement = (data, element) ->
|
17
|
-
data.forEach (opt) ->
|
18
|
-
element.append($("<option></option>").attr("value", opt.value || opt[1]).text(opt.text || opt[0]))
|
19
|
-
|
20
|
-
updateTargetComponent = (data, componentTarget, component) ->
|
21
|
-
updateOptionsHtml(data, componentTarget)
|
22
|
-
updateTargetRefreshButton(componentTarget, component)
|
23
|
-
componentTarget.multiSelect('refresh') if componentTarget.hasClass('multi-column-field')
|
24
|
-
componentTarget.selectpicker('refresh') if componentTarget.hasClass('dropdown-select-field')
|
25
|
-
componentTarget.multiselect('rebuild') if componentTarget.hasClass('multi-select-field')
|
26
|
-
componentTarget.attr("disabled", false)
|
27
|
-
componentTarget.removeClass("disabled")
|
28
|
-
componentTarget.change()
|
29
|
-
|
30
|
-
updateTargetRefreshButton = (componentTarget, component) ->
|
31
|
-
if hasRefreshButton(componentTarget)
|
32
|
-
refreshBtn = componentTarget.parents('.input-group').find('.input-refresh-button')
|
33
|
-
refreshBtn.attr('value', component.val()).attr('name', component.attr('name'))
|
34
|
-
|
35
|
-
hasRefreshButton = (component) ->
|
36
|
-
component.parents('.input-group').hasClass('field-refresh')
|
37
|
-
|
38
|
-
$.fn.inputConnected = (options) ->
|
39
|
-
|
40
|
-
defaults =
|
41
|
-
mode: "remote" # String: remote || local
|
42
|
-
events: "change" # String: change, click, ...
|
43
|
-
target:
|
44
|
-
url: null # String: url for remote connection
|
45
|
-
selector: null # String: component target id or class
|
46
|
-
data: [] # Array : data for local connection
|
47
|
-
# Add a proxy
|
48
|
-
# Proxy:
|
49
|
-
# url: null
|
50
|
-
# method: 'GET'
|
51
|
-
# data: null
|
52
|
-
|
53
|
-
settings = $.extend({}, defaults, options)
|
54
|
-
|
55
|
-
self = this
|
56
|
-
return this.each ->
|
57
|
-
component = $(this)
|
58
|
-
connect = component.data().connect
|
59
|
-
|
60
|
-
if ! connect.targets?
|
61
|
-
connect.target = connect.target || {}
|
62
|
-
connect.target.url = connect.target.url || settings.target.url
|
63
|
-
connect.target.data = connect.target.data || settings.target.data
|
64
|
-
connect.target.selector = connect.target.selector || settings.target.selector
|
65
|
-
|
66
|
-
connect.targets = connect.targets || []
|
67
|
-
connect.targets.push(connect.target) if connect.target?
|
68
|
-
|
69
|
-
return unless connect?
|
70
|
-
|
71
|
-
connectMode = connect.mode || settings.mode
|
72
|
-
events = connect.events || settings.events
|
73
|
-
|
74
|
-
component.on events, (e) ->
|
75
|
-
e.preventDefault()
|
76
|
-
values = component.val()
|
77
|
-
|
78
|
-
name = component.attr('name')
|
79
|
-
#name = if name? then name.replace(' ', '_').split('[')[0] else "id"
|
80
|
-
name = if name? then name else "id"
|
81
|
-
#name = if Array.isArray(values) then "#{ name }s" else name
|
82
|
-
|
83
|
-
connect.targets.forEach (target) ->
|
84
|
-
componentTarget = $("#{ target.selector }")
|
85
|
-
|
86
|
-
mode = target.mode || connectMode
|
87
|
-
|
88
|
-
if mode == "remote"
|
89
|
-
params = { "#{ name }": values }
|
90
|
-
$.ajax({ url: target.url, data: params }).done (data) ->
|
91
|
-
updateTargetComponent(data, componentTarget, component)
|
92
|
-
|
93
|
-
if mode == "local"
|
94
|
-
data = target.data || settings.target.data
|
95
|
-
data = data.filter (value) ->
|
96
|
-
values = [].concat.apply([], [values]) # flatten
|
97
|
-
return values.includes(String(value.connect_option_id))
|
98
|
-
|
99
|
-
updateTargetComponent(data, componentTarget, component)
|
100
|
-
|
101
|
-
)(jQuery)
|
@@ -1,55 +0,0 @@
|
|
1
|
-
@UiBibzInterface = class Interface
|
2
|
-
|
3
|
-
constructor: ->
|
4
|
-
@nav()
|
5
|
-
@tooltip()
|
6
|
-
@dropdown()
|
7
|
-
@checkbox()
|
8
|
-
@popover()
|
9
|
-
@notify()
|
10
|
-
@fileInputBrowser()
|
11
|
-
@toast()
|
12
|
-
|
13
|
-
nav: ->
|
14
|
-
#$('.nav-tabs .nav-item .nav-link').tab('show')
|
15
|
-
|
16
|
-
fileInputBrowser: ->
|
17
|
-
bsCustomFileInput.init()
|
18
|
-
|
19
|
-
popover: ->
|
20
|
-
$('[data-toggle="popover"]').popover()
|
21
|
-
|
22
|
-
tooltip: ->
|
23
|
-
#$('[data-toggle="tooltip"], [title]').tooltip()
|
24
|
-
$('[data-toggle="tooltip"]').tooltip()
|
25
|
-
|
26
|
-
dropdown: ->
|
27
|
-
$('.dropdown-toggle').dropdown()
|
28
|
-
# $('.dropdown-toggle').on 'click', ->
|
29
|
-
# $(this).next().toggle()
|
30
|
-
# $('.dropdown-menu.keep-open').on 'click', (e) ->
|
31
|
-
# e.stopPropagation()
|
32
|
-
|
33
|
-
notify: ->
|
34
|
-
$('.alert').each ->
|
35
|
-
timeoutValue = $(this).data('timeout')
|
36
|
-
if timeoutValue?
|
37
|
-
me = $(this)
|
38
|
-
setTimeout ->
|
39
|
-
me.addClass('fade')
|
40
|
-
, timeoutValue
|
41
|
-
|
42
|
-
|
43
|
-
checkbox: ->
|
44
|
-
$('.abc-checkbox.indeterminate input[type=checkbox]').on 'click', ->
|
45
|
-
el = $(this)
|
46
|
-
if (el.attr('readonly') == 'readonly')
|
47
|
-
el.prop('checked', false)
|
48
|
-
el.prop('readonly', false)
|
49
|
-
else if (!el.is(':checked'))
|
50
|
-
el.prop('readonly', true)
|
51
|
-
el.prop('indeterminate', true)
|
52
|
-
|
53
|
-
toast: ->
|
54
|
-
$('.toast').toast()
|
55
|
-
|
@@ -1,38 +0,0 @@
|
|
1
|
-
$.fn.multiSelect.defaults =
|
2
|
-
qs1: null
|
3
|
-
qs2: null
|
4
|
-
selectableOptgroup: false
|
5
|
-
selectableHeader: "<input type='text' class='search-input form-control' autocomplete='off' placeholder='Search in selectable items'><br/>"
|
6
|
-
selectionHeader: "<input type='text' class='search-input form-control' autocomplete='off' placeholder='Search in selected items'><br/>"
|
7
|
-
afterInit: (ms) ->
|
8
|
-
that = this
|
9
|
-
that.options.selectableOptgroup = if $(this)[0].$element.data('selectableOptgroup') then true else false
|
10
|
-
|
11
|
-
if $(this)[0].$element.data('searchable')
|
12
|
-
$selectableSearch = that.$selectableUl.siblings('input')
|
13
|
-
$selectionSearch = that.$selectionUl.siblings('input')
|
14
|
-
$selectionSearch = that.$selectionUl.siblings('input')
|
15
|
-
selectableSearchString = "#" + that.$container.attr("id") + " .ms-elem-selectable:not(.ms-selected)"
|
16
|
-
selectionSearchString = "#" + that.$container.attr("id") + " .ms-elem-selection.ms-selected"
|
17
|
-
|
18
|
-
that.qs1 = $selectableSearch.quicksearch(selectableSearchString).on("keydown", (e) ->
|
19
|
-
if e.which is 40
|
20
|
-
that.$selectableUl.focus()
|
21
|
-
false
|
22
|
-
)
|
23
|
-
that.qs2 = $selectionSearch.quicksearch(selectionSearchString).on("keydown", (e) ->
|
24
|
-
if e.which is 40
|
25
|
-
that.$selectionUl.focus()
|
26
|
-
false
|
27
|
-
)
|
28
|
-
else
|
29
|
-
that.$selectableContainer.children('.search-input').remove()
|
30
|
-
that.$selectionContainer.children('.search-input').remove()
|
31
|
-
|
32
|
-
afterSelect: ->
|
33
|
-
@qs1.cache() if @qs1?
|
34
|
-
@qs2.cache() if @qs2?
|
35
|
-
|
36
|
-
afterDeselect: ->
|
37
|
-
@qs1.cache() if @qs1?
|
38
|
-
@qs2.cache() if @qs2?
|
@@ -1,36 +0,0 @@
|
|
1
|
-
@UiBibzTable = class Table
|
2
|
-
|
3
|
-
constructor: ->
|
4
|
-
@submitPerPageSelect()
|
5
|
-
@clearSearch()
|
6
|
-
@animeSearchInput()
|
7
|
-
@focusSearchInput()
|
8
|
-
@initializeSearchInput()
|
9
|
-
|
10
|
-
# Submit form when per_page select changing
|
11
|
-
submitPerPageSelect: ->
|
12
|
-
$('.table-pagination-per-page select').change () ->
|
13
|
-
$(this).parents('form').find('input[name=link_type]').val('per_page')
|
14
|
-
$(this).parents('form').submit()
|
15
|
-
|
16
|
-
# Clear search
|
17
|
-
clearSearch: ->
|
18
|
-
$('.clear-search-btn').click () ->
|
19
|
-
$(this).parents('form').find('input[type=search]').val('')
|
20
|
-
$(this).parents('form').submit()
|
21
|
-
|
22
|
-
# Resize search field
|
23
|
-
animeSearchInput: ->
|
24
|
-
$('.table-card input[type=search]').blur ->
|
25
|
-
$parent = $(this).parent()
|
26
|
-
$parent.removeClass('has-value') if $(this).val() == ''
|
27
|
-
$parent.removeClass('is-focused')
|
28
|
-
|
29
|
-
focusSearchInput: ->
|
30
|
-
$('.table-card input[type=search]').focus ->
|
31
|
-
$(this).parent().addClass('is-focused has-value')
|
32
|
-
|
33
|
-
initializeSearchInput: ->
|
34
|
-
$('.table-card input[type=search]').each ->
|
35
|
-
$(this).parent().addClass('has-value') if $(this).val() != ''
|
36
|
-
|
@@ -1,75 +0,0 @@
|
|
1
|
-
#= require jquery2
|
2
|
-
#= require jquery-ui.min
|
3
|
-
|
4
|
-
# multi_column_field component
|
5
|
-
#= require jquery.quicksearch.min
|
6
|
-
#= require jquery.multi-select.min
|
7
|
-
#= require jquery.multi-select-extend
|
8
|
-
|
9
|
-
# Bootstrap
|
10
|
-
#= require tether.min
|
11
|
-
#= require popper
|
12
|
-
#= require bootstrap.min
|
13
|
-
|
14
|
-
# date_picker_field component
|
15
|
-
#= require bootstrap-datepicker.min
|
16
|
-
|
17
|
-
# dropdown_select_field component
|
18
|
-
#= require bootstrap-select.min
|
19
|
-
|
20
|
-
# switch_field component
|
21
|
-
#= require bootstrap-switch.min
|
22
|
-
|
23
|
-
# multi_select_field component
|
24
|
-
#= require bootstrap-multiselect.min
|
25
|
-
|
26
|
-
# input_connected
|
27
|
-
#= require input-connected
|
28
|
-
|
29
|
-
# mardown-editor
|
30
|
-
#= require marked
|
31
|
-
#= require bootstrap-markdown
|
32
|
-
|
33
|
-
# File Input Browser
|
34
|
-
#= require bs-custom-file-input.min
|
35
|
-
|
36
|
-
# Ui Bibz
|
37
|
-
#= require table
|
38
|
-
#= require interface
|
39
|
-
#= require formula
|
40
|
-
#= require form
|
41
|
-
|
42
|
-
$.fn.selectpicker.Constructor.BootstrapVersion = '4'
|
43
|
-
|
44
|
-
<%= require_asset 'all.min' if UiBibz.configuration.fontawesomejs %>
|
45
|
-
|
46
|
-
@UiBibz = class UiBibz
|
47
|
-
|
48
|
-
constructor: (args = {}) ->
|
49
|
-
@turbolinks = args.turbolinks
|
50
|
-
return false
|
51
|
-
|
52
|
-
initial: ->
|
53
|
-
<% if UiBibz.configuration.fontawesomejs %>
|
54
|
-
FontAwesome.config = { observeMutations: false } # https://github.com/tomkra/font_awesome5_rails/issues/17
|
55
|
-
FontAwesome.dom.i2svg()
|
56
|
-
<% end %>
|
57
|
-
|
58
|
-
new window.UiBibzTable()
|
59
|
-
new window.UiBibzForm()
|
60
|
-
new window.UiBibzInterface()
|
61
|
-
new window.UiBibzFormula()
|
62
|
-
$("textarea[data-provide*='markdown']").markdown() # fix markdown js if turbolinks exists
|
63
|
-
return false
|
64
|
-
|
65
|
-
ready: ->
|
66
|
-
me = this
|
67
|
-
console.log "ready"
|
68
|
-
if @turbolinks?
|
69
|
-
$(document).on 'turbolinks:load', ->
|
70
|
-
me.initial() # catch event for turbolinks and fix in ready() function
|
71
|
-
else
|
72
|
-
$(document).ready ->
|
73
|
-
me.initial()
|
74
|
-
return false
|
75
|
-
|