ui_bibz 2.5.6 → 3.0.0.alpha2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (256) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -2
  3. data/.rubocop.yml +78 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/Gemfile +1 -0
  7. data/Gemfile.lock +90 -102
  8. data/README.md +9 -52
  9. data/Rakefile +3 -2
  10. data/bin/test +7 -0
  11. data/config/initializers/will_paginate.rb +2 -1
  12. data/lib/ui_bibz.rb +17 -2
  13. data/lib/ui_bibz/concerns/models/searchable.rb +3 -3
  14. data/lib/ui_bibz/helpers/ui/core/boxes_helper.rb +9 -1
  15. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +18 -0
  16. data/lib/ui_bibz/helpers/ui/core/layouts_helper.rb +10 -2
  17. data/lib/ui_bibz/helpers/ui/core/lists_helper.rb +1 -1
  18. data/lib/ui_bibz/helpers/ui/core/notifications_helper.rb +9 -5
  19. data/lib/ui_bibz/helpers/ui/ux_helper.rb +2 -6
  20. data/lib/ui_bibz/infos.rb +11 -5
  21. data/lib/ui_bibz/inputs/ui_bibz_form/ui_bibz_form_builder.rb +15 -2
  22. data/lib/ui_bibz/inputs/ui_bibz_inputs/base_input.rb +0 -4
  23. data/lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb +6 -9
  24. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_choice_field_input.rb +23 -0
  25. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_slider_field_input.rb +11 -0
  26. data/lib/ui_bibz/rails/engine.rb +2 -13
  27. data/lib/ui_bibz/railtie.rb +6 -0
  28. data/lib/ui_bibz/ui/concerns/card_itemable_concern.rb +65 -0
  29. data/lib/ui_bibz/ui/concerns/html_concern.rb +16 -0
  30. data/lib/ui_bibz/ui/core/boxes/card.rb +5 -50
  31. data/lib/ui_bibz/ui/core/boxes/card_accordion.rb +2 -0
  32. data/lib/ui_bibz/ui/core/boxes/card_column.rb +3 -1
  33. data/lib/ui_bibz/ui/core/boxes/card_deck.rb +3 -1
  34. data/lib/ui_bibz/ui/core/boxes/card_grid.rb +60 -0
  35. data/lib/ui_bibz/ui/core/boxes/card_group.rb +3 -1
  36. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_link.rb +0 -3
  37. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_subtitle.rb +47 -0
  38. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_text.rb +0 -3
  39. data/lib/ui_bibz/ui/core/boxes/components/body/card_body_title.rb +1 -4
  40. data/lib/ui_bibz/ui/core/boxes/components/card_body.rb +7 -0
  41. data/lib/ui_bibz/ui/core/boxes/components/card_col.rb +65 -0
  42. data/lib/ui_bibz/ui/core/boxes/components/card_footer.rb +0 -3
  43. data/lib/ui_bibz/ui/core/boxes/components/card_header.rb +2 -4
  44. data/lib/ui_bibz/ui/core/boxes/components/card_image.rb +0 -3
  45. data/lib/ui_bibz/ui/core/boxes/components/card_row.rb +65 -0
  46. data/lib/ui_bibz/ui/core/boxes/components/card_tab_group.rb +0 -4
  47. data/lib/ui_bibz/ui/core/boxes/jumbotron.rb +1 -4
  48. data/lib/ui_bibz/ui/core/component.rb +16 -9
  49. data/lib/ui_bibz/ui/core/forms/buttons/button.rb +1 -1
  50. data/lib/ui_bibz/ui/core/forms/buttons/button_group.rb +9 -11
  51. data/lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb +0 -3
  52. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_dropdown.rb +0 -3
  53. data/lib/ui_bibz/ui/core/forms/buttons/components/button_group_split_dropdown.rb +0 -3
  54. data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +7 -10
  55. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +8 -7
  56. data/lib/ui_bibz/ui/core/forms/choices/choice_group.rb +22 -2
  57. data/lib/ui_bibz/ui/core/forms/choices/components/choice.rb +24 -12
  58. data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +11 -6
  59. data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +1 -5
  60. data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +12 -15
  61. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_divider.rb +0 -1
  62. data/lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_header.rb +0 -3
  63. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +8 -13
  64. data/lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb +0 -3
  65. data/lib/ui_bibz/ui/core/forms/files/file_field.rb +20 -10
  66. data/lib/ui_bibz/ui/core/forms/numbers/formula_field.rb +16 -8
  67. data/lib/ui_bibz/ui/core/forms/numbers/number_field.rb +20 -3
  68. data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +33 -5
  69. data/lib/ui_bibz/ui/core/forms/numbers/slider_field.rb +132 -0
  70. data/lib/ui_bibz/ui/core/forms/numbers/slider_header.rb +71 -0
  71. data/lib/ui_bibz/ui/core/forms/selects/abstract_select.rb +0 -3
  72. data/lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb +6 -9
  73. data/lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb +0 -3
  74. data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +0 -3
  75. data/lib/ui_bibz/ui/core/forms/selects/select_field.rb +2 -5
  76. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_addon.rb +1 -4
  77. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button.rb +0 -3
  78. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_group.rb +0 -3
  79. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_link.rb +0 -3
  80. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_button_refresh.rb +1 -12
  81. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_checkbox_field.rb +9 -4
  82. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_dropdown.rb +0 -3
  83. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_radio_field.rb +9 -4
  84. data/lib/ui_bibz/ui/core/forms/surrounds/components/surround_switch_field.rb +0 -3
  85. data/lib/ui_bibz/ui/core/forms/surrounds/surround_field.rb +1 -4
  86. data/lib/ui_bibz/ui/core/forms/textareas/markdown_editor_field.rb +4 -7
  87. data/lib/ui_bibz/ui/core/forms/texts/auto_complete_field.rb +2 -5
  88. data/lib/ui_bibz/ui/core/forms/texts/text_field.rb +0 -3
  89. data/lib/ui_bibz/ui/core/icons/components/glyph_counter.rb +0 -3
  90. data/lib/ui_bibz/ui/core/icons/components/glyph_text.rb +1 -4
  91. data/lib/ui_bibz/ui/core/icons/glyph.rb +1 -4
  92. data/lib/ui_bibz/ui/core/icons/star.rb +0 -3
  93. data/lib/ui_bibz/ui/core/layouts/col.rb +5 -42
  94. data/lib/ui_bibz/ui/core/layouts/container.rb +9 -6
  95. data/lib/ui_bibz/ui/core/layouts/row.rb +32 -2
  96. data/lib/ui_bibz/ui/core/lists/components/list.rb +6 -8
  97. data/lib/ui_bibz/ui/core/lists/components/list/list_body.rb +0 -3
  98. data/lib/ui_bibz/ui/core/lists/components/list/list_header.rb +0 -3
  99. data/lib/ui_bibz/ui/core/lists/list_group.rb +9 -6
  100. data/lib/ui_bibz/ui/core/navigations/breadcrumb.rb +3 -2
  101. data/lib/ui_bibz/ui/core/navigations/components/breadcrumb_link.rb +0 -3
  102. data/lib/ui_bibz/ui/core/navigations/components/nav_dropdown.rb +1 -4
  103. data/lib/ui_bibz/ui/core/navigations/components/nav_link.rb +3 -1
  104. data/lib/ui_bibz/ui/core/navigations/components/nav_link_link.rb +14 -5
  105. data/lib/ui_bibz/ui/core/navigations/components/nav_link_list.rb +0 -4
  106. data/lib/ui_bibz/ui/core/navigations/components/nav_link_span.rb +1 -4
  107. data/lib/ui_bibz/ui/core/navigations/components/nav_text.rb +0 -3
  108. data/lib/ui_bibz/ui/core/navigations/components/navbar_brand.rb +0 -3
  109. data/lib/ui_bibz/ui/core/navigations/components/navbar_form.rb +4 -4
  110. data/lib/ui_bibz/ui/core/navigations/components/navbar_nav.rb +1 -4
  111. data/lib/ui_bibz/ui/core/navigations/components/navbar_text.rb +0 -3
  112. data/lib/ui_bibz/ui/core/navigations/components/pagination_link.rb +0 -3
  113. data/lib/ui_bibz/ui/core/navigations/components/toolbar_form.rb +3 -3
  114. data/lib/ui_bibz/ui/core/navigations/link.rb +0 -3
  115. data/lib/ui_bibz/ui/core/navigations/nav.rb +37 -10
  116. data/lib/ui_bibz/ui/core/navigations/navbar.rb +28 -7
  117. data/lib/ui_bibz/ui/core/navigations/pagination.rb +3 -1
  118. data/lib/ui_bibz/ui/core/navigations/tab_group.rb +10 -5
  119. data/lib/ui_bibz/ui/core/navigations/toolbar.rb +2 -0
  120. data/lib/ui_bibz/ui/core/notifications/alert.rb +2 -2
  121. data/lib/ui_bibz/ui/core/notifications/badge.rb +2 -5
  122. data/lib/ui_bibz/ui/core/notifications/components/alert_body.rb +0 -3
  123. data/lib/ui_bibz/ui/core/notifications/components/alert_header.rb +4 -10
  124. data/lib/ui_bibz/ui/core/notifications/components/bar.rb +0 -3
  125. data/lib/ui_bibz/ui/core/notifications/components/toast_body.rb +0 -3
  126. data/lib/ui_bibz/ui/core/notifications/components/toast_header.rb +1 -6
  127. data/lib/ui_bibz/ui/core/notifications/progress_bar.rb +7 -5
  128. data/lib/ui_bibz/ui/core/notifications/spinner.rb +0 -3
  129. data/lib/ui_bibz/ui/core/notifications/toast.rb +14 -3
  130. data/lib/ui_bibz/ui/core/windows/components/modal_body.rb +0 -3
  131. data/lib/ui_bibz/ui/core/windows/components/modal_footer.rb +0 -3
  132. data/lib/ui_bibz/ui/core/windows/components/modal_header.rb +1 -7
  133. data/lib/ui_bibz/ui/core/windows/modal.rb +61 -14
  134. data/lib/ui_bibz/ui/extensions/core/component/glyph_extension.rb +4 -2
  135. data/lib/ui_bibz/ui/extensions/core/component/popover_extension.rb +9 -9
  136. data/lib/ui_bibz/ui/extensions/core/forms/connect_extension.rb +2 -2
  137. data/lib/ui_bibz/ui/ux/containers/components/panel_body.rb +0 -3
  138. data/lib/ui_bibz/ui/ux/containers/components/panel_column.rb +2 -0
  139. data/lib/ui_bibz/ui/ux/containers/components/panel_deck.rb +2 -0
  140. data/lib/ui_bibz/ui/ux/containers/components/panel_footer.rb +0 -3
  141. data/lib/ui_bibz/ui/ux/containers/components/panel_group.rb +2 -0
  142. data/lib/ui_bibz/ui/ux/containers/components/panel_header.rb +1 -4
  143. data/lib/ui_bibz/ui/ux/containers/components/panel_tab_group.rb +0 -4
  144. data/lib/ui_bibz/ui/ux/containers/components/panel_toolbar.rb +0 -3
  145. data/lib/ui_bibz/ui/ux/containers/panel.rb +4 -2
  146. data/lib/ui_bibz/ui/ux/tables/components/thead.rb +0 -3
  147. data/lib/ui_bibz/ui/ux/tables/table.rb +2 -4
  148. data/lib/ui_bibz/ui/ux/tables/table_card.rb +4 -3
  149. data/lib/ui_bibz/ui/ux/tables/table_search_field.rb +5 -5
  150. data/lib/ui_bibz/utils/breakdown_class_name_generator.rb +69 -0
  151. data/lib/ui_bibz/utils/internationalization.rb +1 -1
  152. data/lib/ui_bibz/utils/screwdriver.rb +16 -10
  153. data/package.json +5 -0
  154. data/test/dummy/Rakefile +1 -1
  155. data/test/dummy/app/javascripts/packs/index.js +3 -0
  156. data/test/dummy/app/views/layouts/application.html.erb +4 -1
  157. data/{app/ui/.keep → test/dummy/app/views/users/index.html.erb} +0 -0
  158. data/test/dummy/bin/setup +17 -13
  159. data/test/dummy/config.ru +2 -1
  160. data/test/dummy/config/application.rb +1 -0
  161. data/test/dummy/config/cable.yml +10 -0
  162. data/test/dummy/config/database.yml +1 -1
  163. data/test/dummy/config/environment.rb +1 -1
  164. data/test/dummy/config/environments/development.rb +33 -12
  165. data/test/dummy/config/environments/production.rb +52 -19
  166. data/test/dummy/config/environments/test.rb +18 -12
  167. data/test/dummy/config/initializers/application_controller_renderer.rb +9 -0
  168. data/test/dummy/config/initializers/assets.rb +4 -3
  169. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -1
  170. data/test/dummy/config/initializers/content_security_policy.rb +29 -0
  171. data/test/dummy/config/initializers/cookies_serializer.rb +2 -0
  172. data/test/dummy/config/initializers/inflections.rb +0 -1
  173. data/test/dummy/config/initializers/mime_types.rb +0 -1
  174. data/test/dummy/config/initializers/wrap_parameters.rb +2 -2
  175. data/test/dummy/config/puma.rb +40 -0
  176. data/test/dummy/config/routes.rb +3 -0
  177. data/test/dummy/config/spring.rb +8 -0
  178. data/test/dummy/config/storage.yml +34 -0
  179. data/test/dummy/db/migrate/20150123191805_create_users.rb +1 -1
  180. data/test/dummy/db/schema.rb +24 -24
  181. data/test/dummy/public/404.html +6 -6
  182. data/test/dummy/public/422.html +6 -6
  183. data/test/dummy/public/500.html +6 -6
  184. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  185. data/test/dummy/public/apple-touch-icon.png +0 -0
  186. data/test/dummy/storage/.keep +0 -0
  187. data/test/simple_form_test.rb +45 -22
  188. data/test/store_test.rb +5 -5
  189. data/test/test_helper.rb +18 -9
  190. data/test/ui/core/boxes/card_grid_test.rb +17 -0
  191. data/test/ui/core/boxes/card_test.rb +45 -11
  192. data/test/ui/core/boxes/jumbotron_test.rb +2 -2
  193. data/test/ui/core/component_test.rb +1 -1
  194. data/test/ui/core/forms/buttons/button_link_test.rb +1 -1
  195. data/test/ui/core/forms/buttons/button_test.rb +2 -2
  196. data/test/ui/core/forms/choices/checkbox_field_test.rb +1 -1
  197. data/test/ui/core/forms/choices/choice_group_test.rb +11 -9
  198. data/test/ui/core/forms/choices/radio_field_test.rb +1 -1
  199. data/test/ui/core/forms/dates/date_picker_field_test.rb +1 -1
  200. data/test/ui/core/forms/files/file_field_test.rb +12 -0
  201. data/test/ui/core/forms/numbers/formula_field_test.rb +1 -1
  202. data/test/ui/core/forms/numbers/range_field_test.rb +23 -2
  203. data/test/ui/core/forms/numbers/slider_field_test.rb +26 -0
  204. data/test/ui/core/forms/selects/dropdown_select_field_test.rb +10 -10
  205. data/test/ui/core/forms/selects/multi_column_field_test.rb +1 -1
  206. data/test/ui/core/forms/selects/multi_select_field_test.rb +2 -2
  207. data/test/ui/core/forms/selects/select_field_test.rb +3 -3
  208. data/test/ui/core/forms/surrounds/surround_field_test.rb +15 -3
  209. data/test/ui/core/forms/textareas/markdown_editor_field_test.rb +1 -1
  210. data/test/ui/core/forms/texts/auto_complete_field_test.rb +8 -8
  211. data/test/ui/core/forms/texts/text_field_test.rb +2 -2
  212. data/test/ui/core/layouts/col_test.rb +11 -2
  213. data/test/ui/core/layouts/container_test.rb +15 -1
  214. data/test/ui/core/layouts/row_test.rb +68 -3
  215. data/test/ui/core/lists/list_group_test.rb +1 -1
  216. data/test/ui/core/navigations/breadcrumb_test.rb +1 -1
  217. data/test/ui/core/navigations/link_test.rb +1 -1
  218. data/test/ui/core/navigations/nav_test.rb +11 -0
  219. data/test/ui/core/navigations/navbar_test.rb +4 -4
  220. data/test/ui/core/notifications/alert_test.rb +2 -2
  221. data/test/ui/core/notifications/badge_test.rb +3 -3
  222. data/test/ui/core/notifications/progress_bar_test.rb +1 -1
  223. data/test/ui/core/notifications/toast_test.rb +10 -1
  224. data/test/ui/core/windows/modal_test.rb +15 -1
  225. data/test/ui/utils/breakdown_class_name_generator_test.rb +60 -0
  226. data/test/ui/ux/containers/panel_test.rb +5 -5
  227. data/test/ui/ux/tables/table_test.rb +6 -6
  228. data/test/ui_bibz_test.rb +1 -1
  229. data/ui_bibz.gemspec +16 -16
  230. metadata +100 -105
  231. data/app/assets/javascripts/fix_bootstrap.coffee +0 -7
  232. data/app/assets/javascripts/form.coffee +0 -83
  233. data/app/assets/javascripts/formula.coffee +0 -69
  234. data/app/assets/javascripts/input-connected.coffee +0 -101
  235. data/app/assets/javascripts/interface.coffee +0 -55
  236. data/app/assets/javascripts/jquery.multi-select-extend.coffee +0 -38
  237. data/app/assets/javascripts/table.coffee +0 -36
  238. data/app/assets/javascripts/ui_bibz.coffee.erb +0 -75
  239. data/app/assets/stylesheets/_custom_variables.sass +0 -20
  240. data/app/assets/stylesheets/_panel.scss +0 -315
  241. data/app/assets/stylesheets/bootstrap-switch.sass +0 -159
  242. data/app/assets/stylesheets/boxes.sass +0 -5
  243. data/app/assets/stylesheets/containers.sass +0 -2
  244. data/app/assets/stylesheets/fix-bootstrap-4.sass +0 -19
  245. data/app/assets/stylesheets/fix_addon.sass +0 -216
  246. data/app/assets/stylesheets/forms.sass +0 -91
  247. data/app/assets/stylesheets/navigations.sass +0 -17
  248. data/app/assets/stylesheets/notifications.sass +0 -42
  249. data/app/assets/stylesheets/tables.sass +0 -66
  250. data/app/assets/stylesheets/ui_bibz.sass.erb +0 -55
  251. data/lib/generators/ui_bibz/install_generator.rb +0 -17
  252. data/lib/generators/ui_bibz/templates/ui_bibz_initializer.rb +0 -5
  253. data/lib/ui_bibz/ui/core/icons/glyph_group.rb +0 -101
  254. data/test/dummy/bin/bundle +0 -5
  255. data/test/ui/core/forms/files/text_field_test.rb +0 -12
  256. data/test/ui/core/icons/glyph_group_test.rb +0 -37
@@ -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
-