ui_bibz 2.1.6 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +19 -10
  3. data/app/assets/javascripts/interface.coffee +8 -0
  4. data/app/assets/javascripts/ui_bibz.coffee.erb +3 -0
  5. data/app/assets/stylesheets/fix_addon.sass +2 -2
  6. data/lib/ui_bibz.rb +8 -0
  7. data/lib/ui_bibz/helpers/ui/core/forms_helper.rb +35 -0
  8. data/lib/ui_bibz/infos.rb +2 -2
  9. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_box_switch_field_input.rb +18 -0
  10. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_file_field_input.rb +10 -0
  11. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_range_field_input.rb +10 -0
  12. data/lib/ui_bibz/inputs/ui_bibz_inputs/ui_switch_field_input.rb +5 -1
  13. data/lib/ui_bibz/ui/core/component.rb +4 -0
  14. data/lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb +141 -0
  15. data/lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb +18 -27
  16. data/lib/ui_bibz/ui/core/forms/choices/radio_field.rb +15 -40
  17. data/lib/ui_bibz/ui/core/forms/choices/switch_field.rb +11 -95
  18. data/lib/ui_bibz/ui/core/forms/dates/date_picker_field.rb +25 -0
  19. data/lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb +5 -1
  20. data/lib/ui_bibz/ui/core/forms/files/file_field.rb +72 -0
  21. data/lib/ui_bibz/ui/core/forms/numbers/number_field.rb +15 -0
  22. data/lib/ui_bibz/ui/core/forms/numbers/range_field.rb +66 -0
  23. data/lib/ui_bibz/ui/core/forms/selects/multi_select_field.rb +9 -1
  24. data/lib/ui_bibz/ui/core/forms/texts/text_field.rb +3 -0
  25. data/test/simple_form_test.rb +33 -3
  26. data/test/ui/core/forms/choices/{switch_field_test.rb → box_switch_field_test.rb} +21 -21
  27. data/test/ui/core/forms/choices/checkbox_field_test.rb +1 -1
  28. data/test/ui/core/forms/choices/radio_field_test.rb +1 -1
  29. data/test/ui/core/forms/files/text_field_test.rb +11 -0
  30. data/test/ui/core/forms/numbers/number_field_test.rb +18 -0
  31. data/test/ui/core/forms/numbers/range_field_test.rb +18 -0
  32. data/vendor/assets/javascripts/bs-custom-file-input.min.js +7 -0
  33. metadata +19 -6
@@ -17,6 +17,11 @@ module UiBibz::Ui::Core::Forms::Numbers
17
17
  # You can pass arguments in options attribute:
18
18
  # * +prepend+ - String, Html
19
19
  # * +append+ - String, Html
20
+ # * +max+ - [Float, Integer]
21
+ # * +min+ - [Float, Integer]
22
+ # * +step+ - [Float, Integer]
23
+ # * +in+ - Array
24
+ # * +within+ - Array
20
25
  #
21
26
  # ==== Signatures
22
27
  #
@@ -59,5 +64,15 @@ module UiBibz::Ui::Core::Forms::Numbers
59
64
  number_field_tag content, options[:value] || html_options[:value], html_options
60
65
  end
61
66
 
67
+ def component_html_options
68
+ {
69
+ min: options[:min],
70
+ max: options[:max],
71
+ step: options[:step],
72
+ in: options[:in],
73
+ within: options[:within]
74
+ }
75
+ end
76
+
62
77
  end
63
78
  end
@@ -0,0 +1,66 @@
1
+ module UiBibz::Ui::Core::Forms::Numbers
2
+
3
+ # Create a RangeField
4
+ #
5
+ # This element is an extend of UiBibz::Ui::Core::Component.
6
+ #
7
+ # ==== Attributes
8
+ #
9
+ # * +content+ - Content of element
10
+ # * +options+ - Options of element
11
+ # * +html_options+ - Html Options of element
12
+ #
13
+ # ==== Options
14
+ #
15
+ # You can add HTML attributes using the +html_options+.
16
+ # You can pass arguments in options attribute:
17
+ # * +max+ - [Float, Integer]
18
+ # * +min+ - [Float, Integer]
19
+ # * +step+ - [Float, Integer]
20
+ # * +in+ - Array
21
+ # * +within+ - Array
22
+ #
23
+ # ==== Signatures
24
+ #
25
+ # UiBibz::Ui::Core::Forms::Numbers::RangeField.new(content, options = {}, html_options = {}).render
26
+ #
27
+ # UiBibz::Ui::Core::Forms::Numbers::RangeField.new(options = {}, html_options = {}) do
28
+ # content
29
+ # end.render
30
+ #
31
+ # ==== Examples
32
+ #
33
+ # UiBibz::Ui::Core::Forms::Numbers::RangeField.new(4, max: 20, min: 0, step: 2)
34
+ #
35
+ # UiBibz::Ui::Core::Forms::Numbers::RangeField.new(max: 2, min: -3, step: 0.5) do
36
+ # 5
37
+ # end
38
+ #
39
+ # ==== Helper
40
+ #
41
+ # ui_range_field(content, options = {}, html_options = {})
42
+ #
43
+ # ui_range_field(options = {}, html_options = {}) do
44
+ # # content
45
+ # end
46
+ #
47
+ class RangeField < UiBibz::Ui::Core::Forms::Numbers::NumberField
48
+
49
+ # See UiBibz::Ui::Core::Component.initialize
50
+ def initialize content = nil, options = nil, html_options = nil, &block
51
+ super
52
+ end
53
+
54
+ # Render html tag
55
+ def pre_render
56
+ range_field_tag content, options[:value] || html_options[:value], html_options
57
+ end
58
+
59
+ private
60
+
61
+ def component_html_classes
62
+ 'custom-range'
63
+ end
64
+
65
+ end
66
+ end
@@ -69,7 +69,7 @@ module UiBibz::Ui::Core::Forms::Selects
69
69
  end
70
70
 
71
71
  def component_html_classes
72
- super << [size, type, status, 'multi-select-field']
72
+ super << [size, type, status, button_outline, 'multi-select-field']
73
73
  end
74
74
 
75
75
  def component_html_data
@@ -114,5 +114,13 @@ module UiBibz::Ui::Core::Forms::Selects
114
114
  "btn-#{ options[:size] }" if options[:size]
115
115
  end
116
116
 
117
+ def button_outline
118
+ ["btn", outline, @status || :secondary].compact.join('-')
119
+ end
120
+
121
+ def outline
122
+ "outline" if @options[:outline]
123
+ end
124
+
117
125
  end
118
126
  end
@@ -17,6 +17,9 @@ module UiBibz::Ui::Core::Forms::Texts
17
17
  # You can pass arguments in options attribute:
18
18
  # * +prepend+ - String, Html
19
19
  # * +append+ - String, Html
20
+ # * +state+ - Symbol
21
+ # (+:active+, +:disabled+)
22
+ # String, Html
20
23
  #
21
24
  # ==== Signatures
22
25
  #
@@ -136,10 +136,10 @@ test1</textarea></div></form>"
136
136
  test 'switch field input in simple form' do
137
137
  @user.active = true
138
138
  actual = simple_form_for @user do |f|
139
- f.input :active, as: :ui_switch_field, collection: @users, label_method: :name_fr
139
+ f.input :active, as: :ui_box_switch_field, collection: @users, label_method: :name_fr
140
140
  end
141
141
 
142
- expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_switch_field optional user_active\"><label class=\"control-label ui_switch_field optional\" for=\"user_active\">Active</label><div class=\"switch-field-container\"><input type=\"hidden\" name=\"user[active]\" id=\"user_active\" value=\"0\" /><input type=\"checkbox\" name=\"user[active]\" id=\"user_active\" value=\"1\" class=\"ui_switch_field optional switch-field\" checked=\"checked\" /></div></div></form>"
142
+ expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_box_switch_field optional user_active\"><label class=\"control-label ui_box_switch_field optional\" for=\"user_active\">Active</label><div class=\"switch-field-container\"><input type=\"hidden\" name=\"user[active]\" id=\"user_active\" value=\"0\" /><input type=\"checkbox\" name=\"user[active]\" id=\"user_active\" value=\"1\" class=\"ui_box_switch_field optional switch-field\" checked=\"checked\" /></div></div></form>"
143
143
 
144
144
  assert_equal expected, actual
145
145
  end
@@ -149,7 +149,7 @@ test1</textarea></div></form>"
149
149
  f.input :name_fr, as: :ui_radio_field, collection: @users, label_method: :name_fr
150
150
  end
151
151
 
152
- expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_radio_field optional user_name_fr\"><label class=\"control-label ui_radio_field optional\">Name fr</label><input type=\"hidden\" name=\"user[name_fr]\" value=\"\" /><div class=\"radio ui_radio_field optional abc-radio-default radio abc-radio\"><input class=\"ui_radio_field optional abc-radio-default radio abc-radio\" type=\"radio\" value=\"1\" name=\"user[name_fr]\" id=\"user_name_fr_1\" /><label class=\"collection_radio_buttons\" for=\"user_name_fr_1\">test1</label></div><div class=\"radio ui_radio_field optional abc-radio-default radio abc-radio\"><input class=\"ui_radio_field optional abc-radio-default radio abc-radio\" type=\"radio\" value=\"2\" name=\"user[name_fr]\" id=\"user_name_fr_2\" /><label class=\"collection_radio_buttons\" for=\"user_name_fr_2\">test2</label></div></div></form>"
152
+ expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_radio_field optional user_name_fr\"><label class=\"control-label ui_radio_field optional\">Name fr</label><input type=\"hidden\" name=\"user[name_fr]\" value=\"\" /><div class=\"radio ui_radio_field optional custom-control custom-radio\"><input class=\"ui_radio_field optional custom-control custom-radio\" type=\"radio\" value=\"1\" name=\"user[name_fr]\" id=\"user_name_fr_1\" /><label class=\"collection_radio_buttons\" for=\"user_name_fr_1\">test1</label></div><div class=\"radio ui_radio_field optional custom-control custom-radio\"><input class=\"ui_radio_field optional custom-control custom-radio\" type=\"radio\" value=\"2\" name=\"user[name_fr]\" id=\"user_name_fr_2\" /><label class=\"collection_radio_buttons\" for=\"user_name_fr_2\">test2</label></div></div></form>"
153
153
 
154
154
  assert_equal expected, actual
155
155
  end
@@ -214,6 +214,36 @@ test1</textarea></div></form>"
214
214
  assert_equal expected, actual
215
215
  end
216
216
 
217
+ test 'number field' do
218
+ actual = simple_form_for @user do |f|
219
+ f.input :name_fr, as: :ui_number_field
220
+ end
221
+
222
+ expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_number_field optional user_name_fr\"><label class=\"control-label ui_number_field optional\" for=\"user_name_fr\">Name fr</label><input type=\"number\" name=\"user[name_fr]\" id=\"user_name_fr\" value=\"test1\" class=\"ui_number_field optional form-control\" /></div></form>"
223
+
224
+ assert_equal expected, actual
225
+ end
226
+
227
+ test 'file field' do
228
+ actual = simple_form_for @user do |f|
229
+ f.input :name_fr, as: :ui_file_field
230
+ end
231
+
232
+ expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_file_field optional user_name_fr\"><label class=\"control-label ui_file_field optional\" for=\"user_name_fr\">Name fr</label><div class=\"ui_file_field optional custom-file\"><input type=\"file\" name=\"user[name_fr]\" id=\"user_name_fr\" class=\"custom-file-input\" /><label class=\"custom-file-label\" for=\"user_name_fr\">test1</label></div></div></form>"
233
+
234
+ assert_equal expected, actual
235
+ end
236
+
237
+ test 'range field' do
238
+ actual = simple_form_for @user do |f|
239
+ f.input :name_fr, as: :ui_range_field
240
+ end
241
+
242
+ expected = "<form class=\"simple_form edit_user\" id=\"edit_user_1\" action=\"/users/1\" accept-charset=\"UTF-8\" method=\"post\"><input name=\"utf8\" type=\"hidden\" value=\"&#x2713;\" /><input type=\"hidden\" name=\"_method\" value=\"patch\" /><div class=\"form-group ui_range_field optional user_name_fr\"><label class=\"control-label ui_range_field optional\" for=\"user_name_fr\">Name fr</label><input type=\"range\" name=\"user[name_fr]\" id=\"user_name_fr\" value=\"test1\" class=\"ui_range_field optional custom-range\" /></div></form>"
243
+
244
+ assert_equal expected, actual
245
+ end
246
+
217
247
  # test 'test surround field into simple form' do
218
248
  # actual = ui_form_for @user do |f|
219
249
  # concat(f.ui_surround_field do |sf|
@@ -1,82 +1,82 @@
1
1
  require 'test_helper'
2
2
 
3
- class SwitchFieldTest < ActionView::TestCase
3
+ class BoxBoxSwitchFieldTest < ActionView::TestCase
4
4
 
5
5
  # OK
6
- test 'switch_field size' do
7
- actual = UiBibz::Ui::Core::Forms::Choices::SwitchField.new('test', size: :lg).render
6
+ test 'box_switch_field size' do
7
+ actual = UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new('test', size: :lg).render
8
8
  expected = "<div class=\"switch-field-container\"><input type=\"hidden\" name=\"test\" id=\"test\" value=\"0\" /><input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" data-size=\"large\" class=\"switch-field\" /></div>"
9
9
 
10
10
  assert_equal expected, actual
11
11
  end
12
12
 
13
13
  # OK
14
- test 'switch_field animate' do
15
- actual = UiBibz::Ui::Core::Forms::Choices::SwitchField.new('test', animate: false).render
14
+ test 'box_switch_field animate' do
15
+ actual = UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new('test', animate: false).render
16
16
  expected = "<div class=\"switch-field-container\"><input type=\"hidden\" name=\"test\" id=\"test\" value=\"0\" /><input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" data-animate=\"false\" class=\"switch-field\" /></div>"
17
17
 
18
18
  assert_equal expected, actual
19
19
  end
20
20
 
21
21
  # OK
22
- test 'switch_field checked' do
23
- actual = UiBibz::Ui::Core::Forms::Choices::SwitchField.new('test', {}, checked: true).render
22
+ test 'box_switch_field checked' do
23
+ actual = UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new('test', {}, checked: true).render
24
24
  expected = "<div class=\"switch-field-container\"><input type=\"hidden\" name=\"test\" id=\"test\" value=\"0\" /><input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" checked=\"checked\" class=\"switch-field\" /></div>"
25
25
 
26
26
  assert_equal expected, actual
27
27
  end
28
28
 
29
29
  # OK
30
- test 'switch_field state' do
31
- actual = UiBibz::Ui::Core::Forms::Choices::SwitchField.new('test', {}, state: "disabled").render
30
+ test 'box_switch_field state' do
31
+ actual = UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new('test', {}, state: "disabled").render
32
32
  expected = "<div class=\"switch-field-container\"><input type=\"hidden\" name=\"test\" id=\"test\" value=\"0\" /><input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" state=\"disabled\" class=\"switch-field\" /></div>"
33
33
 
34
34
  assert_equal expected, actual
35
35
  end
36
36
 
37
37
  # NON FONCTIONNEL
38
- test 'switch_field readonly' do
39
- actual = UiBibz::Ui::Core::Forms::Choices::SwitchField.new('test', {}, readonly: true).render
38
+ test 'box_switch_field readonly' do
39
+ actual = UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new('test', {}, readonly: true).render
40
40
  expected = "<div class=\"switch-field-container\"><input type=\"hidden\" name=\"test\" id=\"test\" value=\"0\" /><input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" readonly=\"readonly\" class=\"switch-field\" /></div>"
41
41
 
42
42
  assert_equal expected, actual
43
43
  end
44
44
 
45
45
  # OK
46
- test 'switch_field left_color' do
47
- actual = UiBibz::Ui::Core::Forms::Choices::SwitchField.new('test', left_color: "success").render
46
+ test 'box_switch_field left_color' do
47
+ actual = UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new('test', left_color: "success").render
48
48
  expected = "<div class=\"switch-field-container\"><input type=\"hidden\" name=\"test\" id=\"test\" value=\"0\" /><input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" data-on-color=\"success\" class=\"switch-field\" /></div>"
49
49
 
50
50
  assert_equal expected, actual
51
51
  end
52
52
 
53
53
  # OK
54
- test 'switch_field right_color' do
55
- actual = UiBibz::Ui::Core::Forms::Choices::SwitchField.new('test', right_color: "info").render
54
+ test 'box_switch_field right_color' do
55
+ actual = UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new('test', right_color: "info").render
56
56
  expected = "<div class=\"switch-field-container\"><input type=\"hidden\" name=\"test\" id=\"test\" value=\"0\" /><input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" data-off-color=\"info\" class=\"switch-field\" /></div>"
57
57
 
58
58
  assert_equal expected, actual
59
59
  end
60
60
 
61
61
  # OK
62
- test 'switch_field middle_text' do
63
- actual = UiBibz::Ui::Core::Forms::Choices::SwitchField.new('test', middle_text: "testlabeltext").render
62
+ test 'box_switch_field middle_text' do
63
+ actual = UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new('test', middle_text: "testlabeltext").render
64
64
  expected = "<div class=\"switch-field-container\"><input type=\"hidden\" name=\"test\" id=\"test\" value=\"0\" /><input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" data-label-text=\"testlabeltext\" class=\"switch-field\" /></div>"
65
65
 
66
66
  assert_equal expected, actual
67
67
  end
68
68
 
69
69
  # OK
70
- test 'switch_field left_text' do
71
- actual = UiBibz::Ui::Core::Forms::Choices::SwitchField.new('test', left_text: 'testonlabel').render
70
+ test 'box_switch_field left_text' do
71
+ actual = UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new('test', left_text: 'testonlabel').render
72
72
  expected = "<div class=\"switch-field-container\"><input type=\"hidden\" name=\"test\" id=\"test\" value=\"0\" /><input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" data-on-text=\"testonlabel\" class=\"switch-field\" /></div>"
73
73
 
74
74
  assert_equal expected, actual
75
75
  end
76
76
 
77
77
  # OK
78
- test 'switch_field right_text' do
79
- actual = UiBibz::Ui::Core::Forms::Choices::SwitchField.new('test', right_text: "testofflabel").render
78
+ test 'box_switch_field right_text' do
79
+ actual = UiBibz::Ui::Core::Forms::Choices::BoxSwitchField.new('test', right_text: "testofflabel").render
80
80
  expected = "<div class=\"switch-field-container\"><input type=\"hidden\" name=\"test\" id=\"test\" value=\"0\" /><input type=\"checkbox\" name=\"test\" id=\"test\" value=\"1\" data-off-text=\"testofflabel\" class=\"switch-field\" /></div>"
81
81
 
82
82
  assert_equal expected, actual
@@ -4,7 +4,7 @@ class CheckboxFieldTest < ActionView::TestCase
4
4
 
5
5
  test 'checkbox_field' do
6
6
  actual = UiBibz::Ui::Core::Forms::Choices::CheckboxField.new('John', { value: 1, status: :primary, type: :circle }).render
7
- expected = "<div class=\"abc-checkbox-primary form-check abc-checkbox abc-checkbox-circle\"><input type=\"hidden\" name=\"John\" id=\"John-hidden\" value=\"0\" /><input type=\"checkbox\" name=\"John\" id=\"John\" value=\"1\" class=\"form-check-input\" /><label class=\"form-check-label\" for=\"John\">John</label></div>"
7
+ expected = "<div class=\"custom-control custom-checkbox\"><input type=\"hidden\" name=\"John\" id=\"John-hidden\" value=\"0\" /><input type=\"checkbox\" name=\"John\" id=\"John\" value=\"1\" class=\"custom-control-input\" /><label class=\"custom-control-label\" for=\"John\">John</label></div>"
8
8
 
9
9
  assert_equal expected, actual
10
10
  end
@@ -4,7 +4,7 @@ class RadioFieldTest < ActionView::TestCase
4
4
 
5
5
  test 'radio_field' do
6
6
  actual = UiBibz::Ui::Core::Forms::Choices::RadioField.new('John', { value: 1, status: :primary, type: :square }).render
7
- expected = "<div class=\"abc-checkbox-primary checkbox abc-checkbox\"><input type=\"radio\" name=\"John\" id=\"John_1\" value=\"1\" /><label for=\"John_1\">John</label></div>"
7
+ expected = "<div class=\"custom-control custom-radio\"><input type=\"radio\" name=\"John\" id=\"John_1\" value=\"1\" class=\"custom-control-input\" /><label class=\"custom-control-label\" for=\"John_1\">John</label></div>"
8
8
 
9
9
  assert_equal expected, actual
10
10
  end
@@ -0,0 +1,11 @@
1
+ require 'test_helper'
2
+
3
+ class TextFieldTest < ActionView::TestCase
4
+
5
+ test 'file_field' do
6
+ actual = UiBibz::Ui::Core::Forms::Files::FileField.new('test').render
7
+ expected = "<div class=\"custom-file\"><input type=\"file\" name=\"test\" id=\"test\" class=\"custom-file-input\" /><label class=\"custom-file-label\" for=\"test\"></label></div>"
8
+
9
+ assert_equal expected, actual
10
+ end
11
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class NumberFieldTest < ActionView::TestCase
4
+
5
+ test 'number_field' do
6
+ actual = UiBibz::Ui::Core::Forms::Numbers::NumberField.new('mynumber').render
7
+ expected = "<input type=\"number\" name=\"mynumber\" id=\"mynumber\" class=\"form-control\" />"
8
+
9
+ assert_equal expected, actual
10
+ end
11
+
12
+ test 'number_field with options' do
13
+ actual = UiBibz::Ui::Core::Forms::Numbers::NumberField.new('mynumber', value: 5, min: -9, max: 6, step: 0.2).render
14
+ expected = "<input type=\"number\" name=\"mynumber\" id=\"mynumber\" value=\"5\" class=\"form-control\" min=\"-9\" max=\"6\" step=\"0.2\" />"
15
+
16
+ assert_equal expected, actual
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require 'test_helper'
2
+
3
+ class RangeFieldTest < ActionView::TestCase
4
+
5
+ test 'range_field' do
6
+ actual = UiBibz::Ui::Core::Forms::Numbers::RangeField.new('myrange').render
7
+ expected = "<input type=\"range\" name=\"myrange\" id=\"myrange\" class=\"custom-range\" />"
8
+
9
+ assert_equal expected, actual
10
+ end
11
+
12
+ test 'range_field with options' do
13
+ actual = UiBibz::Ui::Core::Forms::Numbers::RangeField.new('myrange', value: 5, min: -9, max: 6, step: 0.2).render
14
+ expected = "<input type=\"range\" name=\"myrange\" id=\"myrange\" value=\"5\" class=\"custom-range\" min=\"-9\" max=\"6\" step=\"0.2\" />"
15
+
16
+ assert_equal expected, actual
17
+ end
18
+ end
@@ -0,0 +1,7 @@
1
+ /*!
2
+ * bsCustomFileInput v1.3.1 (https://github.com/Johann-S/bs-custom-file-input)
3
+ * Copyright 2018 Johann-S <johann.servoire@gmail.com>
4
+ * Licensed under MIT (https://github.com/Johann-S/bs-custom-file-input/blob/master/LICENSE)
5
+ */
6
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.bsCustomFileInput=t()}(this,function(){"use strict";var d={CUSTOMFILE:'.custom-file input[type="file"]',CUSTOMFILELABEL:".custom-file-label",FORM:"form",INPUT:"input"},r=function(e){if(0<e.childNodes.length)for(var t=[].slice.call(e.childNodes),n=0;n<t.length;n++){var r=t[n];if(3!==r.nodeType)return r}return e},u=function(e){var t=e.bsCustomFileInput.defaultText,n=e.parentNode.querySelector(d.CUSTOMFILELABEL);n&&(r(n).innerHTML=t)},n=!!window.File,l=function(e){if(e.hasAttribute("multiple")&&n)return[].slice.call(e.files).map(function(e){return e.name}).join(", ");if(-1===e.value.indexOf("fakepath"))return e.value;var t=e.value.split("\\");return t[t.length-1]};function v(){var e=this.parentNode.querySelector(d.CUSTOMFILELABEL);if(e){var t=r(e),n=l(this);n.length?t.innerHTML=n:u(this)}}function p(){for(var e=[].slice.call(this.querySelectorAll(d.INPUT)).filter(function(e){return!!e.bsCustomFileInput}),t=0,n=e.length;t<n;t++)u(e[t])}var m="bsCustomFileInput",L="reset",h="change";return{init:function(e,t){void 0===e&&(e=d.CUSTOMFILE),void 0===t&&(t=d.FORM);for(var n,r,l,i=[].slice.call(document.querySelectorAll(e)),o=[].slice.call(document.querySelectorAll(t)),u=0,c=i.length;u<c;u++){var f=i[u];Object.defineProperty(f,m,{value:{defaultText:(n=f,r=void 0,void 0,r="",l=n.parentNode.querySelector(d.CUSTOMFILELABEL),l&&(r=l.innerHTML),r)},writable:!0}),f.addEventListener(h,v)}for(var a=0,s=o.length;a<s;a++)o[a].addEventListener(L,p),Object.defineProperty(o[a],m,{value:!0,writable:!0})},destroy:function(){for(var e=[].slice.call(document.querySelectorAll(d.FORM)).filter(function(e){return!!e.bsCustomFileInput}),t=[].slice.call(document.querySelectorAll(d.INPUT)).filter(function(e){return!!e.bsCustomFileInput}),n=0,r=t.length;n<r;n++){var l=t[n];u(l),l[m]=void 0,l.removeEventListener(h,v)}for(var i=0,o=e.length;i<o;i++)e[i].removeEventListener(L,p),e[i][m]=void 0}}});
7
+ //# sourceMappingURL=bs-custom-file-input.min.js.map
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ui_bibz
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.6
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thooams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-21 00:00:00.000000000 Z
11
+ date: 2019-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - '='
130
130
  - !ruby/object:Gem::Version
131
- version: 4.1.3
131
+ version: 4.2.1
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - '='
137
137
  - !ruby/object:Gem::Version
138
- version: 4.1.3
138
+ version: 4.2.1
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: simple_form
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -283,16 +283,19 @@ files:
283
283
  - lib/ui_bibz/inputs/ui_bibz_inputs/collection_input.rb
284
284
  - lib/ui_bibz/inputs/ui_bibz_inputs/string_input.rb
285
285
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_auto_complete_field_input.rb
286
+ - lib/ui_bibz/inputs/ui_bibz_inputs/ui_box_switch_field_input.rb
286
287
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_checkbox_field_input.rb
287
288
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_choice_group_input.rb
288
289
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_date_picker_field_input.rb
289
290
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_dropdown_select_field_input.rb
291
+ - lib/ui_bibz/inputs/ui_bibz_inputs/ui_file_field_input.rb
290
292
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_formula_field_input.rb
291
293
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_markdown_editor_field_input.rb
292
294
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_column_field_input.rb
293
295
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_multi_select_field_input.rb
294
296
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_number_field_input.rb
295
297
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_radio_field_input.rb
298
+ - lib/ui_bibz/inputs/ui_bibz_inputs/ui_range_field_input.rb
296
299
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_select_field_input.rb
297
300
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_switch_field_input.rb
298
301
  - lib/ui_bibz/inputs/ui_bibz_inputs/ui_text_field_input.rb
@@ -319,6 +322,7 @@ files:
319
322
  - lib/ui_bibz/ui/core/forms/buttons/button_refresh.rb
320
323
  - lib/ui_bibz/ui/core/forms/buttons/components/button_group_dropdown.rb
321
324
  - lib/ui_bibz/ui/core/forms/buttons/components/button_group_split_dropdown.rb
325
+ - lib/ui_bibz/ui/core/forms/choices/box_switch_field.rb
322
326
  - lib/ui_bibz/ui/core/forms/choices/checkbox_field.rb
323
327
  - lib/ui_bibz/ui/core/forms/choices/choice_group.rb
324
328
  - lib/ui_bibz/ui/core/forms/choices/components/choice.rb
@@ -330,8 +334,10 @@ files:
330
334
  - lib/ui_bibz/ui/core/forms/dropdowns/components/dropdown_link.rb
331
335
  - lib/ui_bibz/ui/core/forms/dropdowns/dropdown.rb
332
336
  - lib/ui_bibz/ui/core/forms/dropdowns/split_dropdown.rb
337
+ - lib/ui_bibz/ui/core/forms/files/file_field.rb
333
338
  - lib/ui_bibz/ui/core/forms/numbers/formula_field.rb
334
339
  - lib/ui_bibz/ui/core/forms/numbers/number_field.rb
340
+ - lib/ui_bibz/ui/core/forms/numbers/range_field.rb
335
341
  - lib/ui_bibz/ui/core/forms/selects/abstract_select.rb
336
342
  - lib/ui_bibz/ui/core/forms/selects/dropdown_select_field.rb
337
343
  - lib/ui_bibz/ui/core/forms/selects/multi_column_field.rb
@@ -489,13 +495,16 @@ files:
489
495
  - test/ui/core/forms/buttons/button_link_test.rb
490
496
  - test/ui/core/forms/buttons/button_refresh_test.rb
491
497
  - test/ui/core/forms/buttons/button_test.rb
498
+ - test/ui/core/forms/choices/box_switch_field_test.rb
492
499
  - test/ui/core/forms/choices/checkbox_field_test.rb
493
500
  - test/ui/core/forms/choices/choice_group_test.rb
494
501
  - test/ui/core/forms/choices/radio_field_test.rb
495
- - test/ui/core/forms/choices/switch_field_test.rb
496
502
  - test/ui/core/forms/dates/date_picker_field_test.rb
497
503
  - test/ui/core/forms/dropdowns/dropdown_test.rb
504
+ - test/ui/core/forms/files/text_field_test.rb
498
505
  - test/ui/core/forms/numbers/formula_field_test.rb
506
+ - test/ui/core/forms/numbers/number_field_test.rb
507
+ - test/ui/core/forms/numbers/range_field_test.rb
499
508
  - test/ui/core/forms/selects/dropdown_select_field_test.rb
500
509
  - test/ui/core/forms/selects/multi_column_field_test.rb
501
510
  - test/ui/core/forms/selects/multi_select_field_test.rb
@@ -549,6 +558,7 @@ files:
549
558
  - vendor/assets/javascripts/bootstrap-select.js.map
550
559
  - vendor/assets/javascripts/bootstrap-select.min.js
551
560
  - vendor/assets/javascripts/bootstrap-switch.min.js
561
+ - vendor/assets/javascripts/bs-custom-file-input.min.js
552
562
  - vendor/assets/javascripts/jquery-2.1.4.min.js
553
563
  - vendor/assets/javascripts/jquery-ui.min.js
554
564
  - vendor/assets/javascripts/jquery.multi-select.min.js
@@ -678,13 +688,16 @@ test_files:
678
688
  - test/ui/core/forms/buttons/button_link_test.rb
679
689
  - test/ui/core/forms/buttons/button_refresh_test.rb
680
690
  - test/ui/core/forms/buttons/button_test.rb
691
+ - test/ui/core/forms/choices/box_switch_field_test.rb
681
692
  - test/ui/core/forms/choices/checkbox_field_test.rb
682
693
  - test/ui/core/forms/choices/choice_group_test.rb
683
694
  - test/ui/core/forms/choices/radio_field_test.rb
684
- - test/ui/core/forms/choices/switch_field_test.rb
685
695
  - test/ui/core/forms/dates/date_picker_field_test.rb
686
696
  - test/ui/core/forms/dropdowns/dropdown_test.rb
697
+ - test/ui/core/forms/files/text_field_test.rb
687
698
  - test/ui/core/forms/numbers/formula_field_test.rb
699
+ - test/ui/core/forms/numbers/number_field_test.rb
700
+ - test/ui/core/forms/numbers/range_field_test.rb
688
701
  - test/ui/core/forms/selects/dropdown_select_field_test.rb
689
702
  - test/ui/core/forms/selects/multi_column_field_test.rb
690
703
  - test/ui/core/forms/selects/multi_select_field_test.rb