ui_bibz 2.1.6 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
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