tao_form 0.1.9 → 0.1.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. checksums.yaml +4 -4
  2. data/config/locales/tao_form/components/date_range_picker/en.yml +5 -0
  3. data/config/locales/tao_form/components/date_range_picker/zh-CN.yml +7 -0
  4. data/lib/assets/javascripts/tao/form/fields/checkbox.coffee +2 -1
  5. data/lib/assets/javascripts/tao/form/fields/index.coffee +1 -0
  6. data/lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee +1 -1
  7. data/lib/assets/javascripts/tao/form/fields/moment_picker/result.coffee +1 -1
  8. data/lib/assets/javascripts/tao/form/fields/moment_picker/segment_list.coffee +1 -1
  9. data/lib/assets/javascripts/tao/form/fields/radio.coffee +1 -1
  10. data/lib/assets/javascripts/tao/form/fields/select/element.coffee +3 -3
  11. data/lib/assets/javascripts/tao/form/fields/select/list.coffee +8 -3
  12. data/lib/assets/javascripts/tao/form/fields/select/multiple_result.coffee +4 -4
  13. data/lib/assets/javascripts/tao/form/fields/select/result.coffee +5 -5
  14. data/lib/assets/javascripts/tao/form/fields/switch.coffee +1 -1
  15. data/lib/assets/javascripts/tao/form/index.coffee +1 -7
  16. data/lib/assets/javascripts/tao/form/mobile/fields/index.coffee +1 -0
  17. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/element.coffee +2 -2
  18. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/segment_list.coffee +1 -1
  19. data/lib/assets/javascripts/tao/form/mobile/fields/select/element.coffee +13 -4
  20. data/lib/assets/javascripts/tao/form/mobile/fields/select/list.coffee +0 -8
  21. data/lib/assets/javascripts/tao/form/mobile/index.coffee +1 -0
  22. data/lib/assets/javascripts/tao/form/shared/element/base.coffee +6 -2
  23. data/lib/assets/javascripts/tao/form/shared/fields/checkbox.coffee +5 -1
  24. data/lib/assets/javascripts/tao/form/shared/fields/date_range_picker.coffee +75 -0
  25. data/lib/assets/javascripts/tao/form/shared/fields/datetime_picker.coffee +16 -6
  26. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/element/base.coffee +30 -13
  27. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/result/base.coffee +2 -2
  28. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segment_list/base.coffee +5 -5
  29. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/base.coffee +2 -0
  30. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/date_segment.coffee +12 -3
  31. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/hour_segment.coffee +1 -1
  32. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/minute_segment.coffee +1 -1
  33. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/month_segment.coffee +2 -2
  34. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/year_segment.coffee +3 -3
  35. data/lib/assets/javascripts/tao/form/shared/fields/radio.coffee +5 -1
  36. data/lib/assets/javascripts/tao/form/shared/fields/select/element/base.coffee +24 -20
  37. data/lib/assets/javascripts/tao/form/shared/fields/select/list/base.coffee +21 -3
  38. data/lib/assets/javascripts/tao/form/shared/fields/select/models/data_provider.coffee +0 -8
  39. data/lib/assets/javascripts/tao/form/shared/fields/select/multiple_result/base.coffee +17 -8
  40. data/lib/assets/javascripts/tao/form/shared/fields/select/result/base.coffee +5 -5
  41. data/lib/assets/javascripts/tao/form/shared/fields/switch.coffee +5 -1
  42. data/lib/assets/javascripts/tao/form/shared/init.coffee +23 -0
  43. data/lib/assets/stylesheets/tao/form/fields/checkbox.scss +1 -1
  44. data/lib/assets/stylesheets/tao/form/fields/date_range_picker.scss +20 -0
  45. data/lib/assets/stylesheets/tao/form/fields/datetime_picker.scss +3 -3
  46. data/lib/assets/stylesheets/tao/form/fields/index.scss +1 -0
  47. data/lib/assets/stylesheets/tao/form/fields/moment_picker/index.scss +1 -1
  48. data/lib/assets/stylesheets/tao/form/fields/moment_picker/result.scss +1 -1
  49. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segment_list.scss +2 -2
  50. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/date_segment.scss +1 -1
  51. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/hour_segment.scss +1 -1
  52. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/minute_segment.scss +1 -1
  53. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/month_segment.scss +1 -1
  54. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/year_segment.scss +1 -1
  55. data/lib/assets/stylesheets/tao/form/fields/radio.scss +1 -1
  56. data/lib/assets/stylesheets/tao/form/fields/select/index.scss +1 -1
  57. data/lib/assets/stylesheets/tao/form/fields/select/list.scss +2 -8
  58. data/lib/assets/stylesheets/tao/form/fields/select/multiple_result.scss +1 -1
  59. data/lib/assets/stylesheets/tao/form/fields/select/result.scss +2 -2
  60. data/lib/assets/stylesheets/tao/form/fields/switch.scss +6 -4
  61. data/lib/assets/stylesheets/tao/form/inputs/boolean.scss +1 -1
  62. data/lib/assets/stylesheets/tao/form/layouts/default.scss +4 -4
  63. data/lib/assets/stylesheets/tao/form/mobile/fields/date_range_picker.scss +18 -0
  64. data/lib/assets/stylesheets/tao/form/mobile/fields/datetime_picker.scss +3 -3
  65. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/index.scss +1 -1
  66. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/result.scss +1 -1
  67. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segment_list.scss +2 -2
  68. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/date_segment.scss +1 -1
  69. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/hour_segment.scss +1 -1
  70. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/minute_segment.scss +1 -1
  71. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/month_segment.scss +1 -1
  72. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/year_segment.scss +1 -1
  73. data/lib/assets/stylesheets/tao/form/mobile/fields/select/index.scss +1 -1
  74. data/lib/assets/stylesheets/tao/form/mobile/fields/select/list.scss +1 -1
  75. data/lib/assets/stylesheets/tao/form/mobile/fields/select/multiple_result.scss +1 -1
  76. data/lib/assets/stylesheets/tao/form/mobile/fields/select/result.scss +1 -1
  77. data/lib/assets/stylesheets/tao/form/mobile/inputs/boolean.scss +1 -1
  78. data/lib/assets/stylesheets/tao/form/mobile/inputs/group.scss +1 -1
  79. data/lib/assets/stylesheets/tao/form/mobile/layout.scss +2 -2
  80. data/lib/assets/stylesheets/tao/form/reset.scss +1 -0
  81. data/lib/assets/stylesheets/tao/form/shared/fields/_checkbox.scss +1 -1
  82. data/lib/assets/stylesheets/tao/form/shared/fields/_radio.scss +1 -1
  83. data/lib/assets/stylesheets/tao/form/shared/fields/_switch.scss +1 -1
  84. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/_result.scss +1 -1
  85. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/_segment_list.scss +2 -2
  86. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_date_segment.scss +8 -2
  87. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_hour_segment.scss +1 -1
  88. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_minute_segment.scss +1 -1
  89. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_month_segment.scss +1 -1
  90. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_year_segment.scss +1 -1
  91. data/lib/assets/stylesheets/tao/form/shared/fields/select/_list.scss +6 -2
  92. data/lib/assets/stylesheets/tao/form/shared/fields/select/_multiple_result.scss +1 -1
  93. data/lib/assets/stylesheets/tao/form/shared/inputs/_boolean.scss +1 -1
  94. data/lib/assets/stylesheets/tao/form/shared/inputs/_group.scss +1 -1
  95. data/lib/assets/stylesheets/tao/form/shared/inputs/_text.scss +3 -3
  96. data/lib/tao_form/components.rb +1 -0
  97. data/lib/tao_form/components/check_box_component.rb +4 -0
  98. data/lib/tao_form/components/date_picker_component.rb +6 -0
  99. data/lib/tao_form/components/date_range_picker_component.rb +64 -0
  100. data/lib/tao_form/components/datetime_picker_component.rb +7 -1
  101. data/lib/tao_form/components/form_component.rb +2 -2
  102. data/lib/tao_form/components/moment_picker/base.rb +13 -4
  103. data/lib/tao_form/components/moment_picker/result_component.rb +13 -2
  104. data/lib/tao_form/components/moment_picker/segment_list_component.rb +18 -4
  105. data/lib/tao_form/components/moment_picker/segments/base.rb +1 -1
  106. data/lib/tao_form/components/moment_picker/segments/date_segment_component.rb +4 -1
  107. data/lib/tao_form/components/moment_picker/segments/hour_segment_component.rb +4 -1
  108. data/lib/tao_form/components/moment_picker/segments/minute_segment_component.rb +4 -1
  109. data/lib/tao_form/components/moment_picker/segments/month_segment_component.rb +8 -0
  110. data/lib/tao_form/components/moment_picker/segments/year_segment_component.rb +4 -1
  111. data/lib/tao_form/components/month_picker_component.rb +6 -0
  112. data/lib/tao_form/components/radio_button_component.rb +4 -0
  113. data/lib/tao_form/components/select/list_component.rb +1 -1
  114. data/lib/tao_form/components/select/multiple_result_component.rb +1 -1
  115. data/lib/tao_form/components/select/result_component.rb +1 -1
  116. data/lib/tao_form/components/select_component.rb +8 -1
  117. data/lib/tao_form/components/switch_component.rb +6 -0
  118. data/lib/tao_form/components/time_picker_component.rb +5 -1
  119. data/lib/tao_form/inputs.rb +1 -0
  120. data/lib/tao_form/inputs/date_range_input.rb +28 -0
  121. data/lib/tao_form/inputs/date_time_input.rb +1 -1
  122. data/lib/tao_form/inputs/string_input.rb +46 -6
  123. data/lib/tao_form/version.rb +1 -1
  124. data/lib/views/components/tao_form/components/_date_range_picker.html.erb +7 -0
  125. data/lib/views/components/tao_form/components/_moment_picker.html+mobile.erb +3 -3
  126. data/lib/views/components/tao_form/components/_select.html+mobile.erb +8 -7
  127. data/lib/views/components/tao_form/components/_switch.html.erb +1 -1
  128. data/lib/views/components/tao_form/components/select/_result.html.erb +1 -1
  129. metadata +31 -11
  130. data/config/locales/tao_form/components/datetime/en.yml +0 -5
  131. data/config/locales/tao_form/components/datetime/zh-CN.yml +0 -5
  132. data/lib/views/components/tao_form/components/_select.html.erb +0 -4
@@ -1,7 +1,7 @@
1
1
  @import 'tao/form/mobile/globals';
2
2
  @import 'tao/form/shared/fields/moment_picker/segments/minute_segment';
3
3
 
4
- tao-moment-picker-minute-segment {
4
+ .tao-moment-picker-minute-segment {
5
5
  .minutes {
6
6
  margin: 1rem 0 0 0;
7
7
 
@@ -1,7 +1,7 @@
1
1
  @import 'tao/form/mobile/globals';
2
2
  @import 'tao/form/shared/fields/moment_picker/segments/month_segment';
3
3
 
4
- tao-moment-picker-month-segment {
4
+ .tao-moment-picker-month-segment {
5
5
  .month-list {
6
6
  margin: 1rem 0 0 0;
7
7
 
@@ -1,7 +1,7 @@
1
1
  @import 'tao/form/mobile/globals';
2
2
  @import 'tao/form/shared/fields/moment_picker/segments/year_segment';
3
3
 
4
- tao-moment-picker-year-segment {
4
+ .tao-moment-picker-year-segment {
5
5
  .year-list {
6
6
  margin: 1rem 0 0 0;
7
7
 
@@ -3,7 +3,7 @@
3
3
 
4
4
  @import 'tao/form/mobile/globals';
5
5
 
6
- tao-select {
6
+ .tao-select {
7
7
  display: inline-block;
8
8
 
9
9
  .select-result-delegate {
@@ -1,7 +1,7 @@
1
1
  @import 'tao/form/mobile/globals';
2
2
  @import 'tao/form/shared/fields/select/list';
3
3
 
4
- tao-select-list {
4
+ .tao-select-list {
5
5
  display: block;
6
6
 
7
7
  &[empty] .list-wrapper {
@@ -1,7 +1,7 @@
1
1
  @import 'tao/form/globals';
2
2
  @import 'tao/form/shared/fields/select/multiple_result';
3
3
 
4
- tao-multiple-select-result {
4
+ .tao-multiple-select-result {
5
5
  display: none;
6
6
  padding: 0.75rem 0.75rem 0.25rem 0.75rem;
7
7
  border-bottom: 1px solid $border-color;
@@ -1,6 +1,6 @@
1
1
  @import 'tao/form/mobile/globals';
2
2
 
3
- tao-select-result {
3
+ .tao-select-result {
4
4
  select {
5
5
  display: none;
6
6
  }
@@ -1,7 +1,7 @@
1
1
  @import 'tao/form/mobile/globals';
2
2
  @import 'tao/form/shared/inputs/boolean';
3
3
 
4
- tao-form .boolean-field {
4
+ .tao-form .boolean-field {
5
5
  justify-content: flex-end;
6
6
  padding: 0 $form-field-padding-h;
7
7
  }
@@ -1,6 +1,6 @@
1
1
  @import 'tao/form/mobile/globals';
2
2
  @import 'tao/form/shared/inputs/group';
3
3
 
4
- tao-form .group-field {
4
+ .tao-form .group-field {
5
5
  justify-content: flex-end;
6
6
  }
@@ -67,8 +67,8 @@
67
67
 
68
68
  & > textarea,
69
69
  .text-field input,
70
- tao-select .select-result-delegate,
71
- .moment-picker tao-moment-picker-result {
70
+ .tao-select .select-result-delegate,
71
+ .tao-moment-picker .tao-moment-picker-result {
72
72
  text-align: right;
73
73
  }
74
74
 
@@ -6,6 +6,7 @@
6
6
 
7
7
  textarea,
8
8
  input[type=text],
9
+ input[type=search],
9
10
  input[type=tel],
10
11
  input[type=email],
11
12
  input[type=number],
@@ -1,4 +1,4 @@
1
- tao-check-box {
1
+ .tao-check-box {
2
2
  display: inline-block;
3
3
  vertical-align: middle;
4
4
  user-select: none;
@@ -1,4 +1,4 @@
1
- tao-radio-button {
1
+ .tao-radio-button {
2
2
  display: inline-block;
3
3
  vertical-align: middle;
4
4
  user-select: none;
@@ -2,7 +2,7 @@ $switch-width: 3.75rem;
2
2
  $switch-height: 1.75rem;
3
3
  $switch-slot-height: 1.375rem;
4
4
 
5
- tao-switch {
5
+ .tao-switch {
6
6
  display: inline-block;
7
7
 
8
8
  .switch-wrapper {
@@ -1,4 +1,4 @@
1
- tao-moment-picker-result {
1
+ .tao-moment-picker-result {
2
2
  display: flex;
3
3
  align-items: center;
4
4
 
@@ -1,4 +1,4 @@
1
- tao-moment-picker-segment-list {
1
+ .tao-moment-picker-segment-list {
2
2
 
3
3
  .segment-labels {
4
4
  padding: $moment-picker-segment-labels-padding;
@@ -51,7 +51,7 @@ tao-moment-picker-segment-list {
51
51
  }
52
52
 
53
53
  .segments {
54
- .segment {
54
+ .tao-moment-picker-segment {
55
55
  display: none;
56
56
  justify-content: center;
57
57
  align-items: center;
@@ -1,4 +1,4 @@
1
- tao-moment-picker-date-segment {
1
+ .tao-moment-picker-date-segment {
2
2
  .calendar {
3
3
  .weekdays {
4
4
  display: flex;
@@ -33,7 +33,7 @@ tao-moment-picker-date-segment {
33
33
  outline: none;
34
34
 
35
35
  &.outside {
36
- color: $lightest-grey-color;
36
+ color: $lighter-grey-color;
37
37
  }
38
38
 
39
39
  &.today {
@@ -44,6 +44,12 @@ tao-moment-picker-date-segment {
44
44
  background: $green-bg-color !important;
45
45
  color: $green-color !important;
46
46
  }
47
+
48
+ &.disabled {
49
+ color: $lightest-grey-color;
50
+ background: none !important;
51
+ cursor: default;
52
+ }
47
53
  }
48
54
  }
49
55
  }
@@ -1,4 +1,4 @@
1
- tao-moment-picker-hour-segment {
1
+ .tao-moment-picker-hour-segment {
2
2
  .hours {
3
3
  .morning-hours,
4
4
  .afternoon-hours {
@@ -1,4 +1,4 @@
1
- tao-moment-picker-minute-segment {
1
+ .tao-moment-picker-minute-segment {
2
2
  .minutes {
3
3
  display: flex;
4
4
  justify-content: center;
@@ -1,4 +1,4 @@
1
- tao-moment-picker-month-segment {
1
+ .tao-moment-picker-month-segment {
2
2
  .month-list {
3
3
  display: flex;
4
4
  justify-content: center;
@@ -1,4 +1,4 @@
1
- tao-moment-picker-year-segment {
1
+ .tao-moment-picker-year-segment {
2
2
  .year-list {
3
3
  display: flex;
4
4
  justify-content: center;
@@ -1,4 +1,4 @@
1
- tao-select-list {
1
+ .tao-select-list {
2
2
  background: $white-color;
3
3
 
4
4
  .search-input {
@@ -48,7 +48,7 @@ tao-select-list {
48
48
  padding: $select-option-padding;
49
49
  font-size: $select-option-font-size;
50
50
  line-height: $select-option-line-height;
51
- border-bottom: 1px solid $border-color;
51
+ border-bottom: 1px solid $light-border-color;
52
52
  justify-content: space-between;
53
53
  align-items: center;
54
54
  cursor: pointer;
@@ -61,6 +61,10 @@ tao-select-list {
61
61
  border-bottom: none;
62
62
  }
63
63
 
64
+ &.selected .name {
65
+ color: $ui-color;
66
+ }
67
+
64
68
  .hint {
65
69
  font-size: $font-size-xs;
66
70
  color: $lightest-grey-color;
@@ -1,4 +1,4 @@
1
- tao-multiple-select-result {
1
+ .tao-multiple-select-result {
2
2
  display: flex;
3
3
  align-items: flex-start;
4
4
  align-content: flex-start;
@@ -1,4 +1,4 @@
1
- tao-form .boolean-field {
1
+ .tao-form .boolean-field {
2
2
  height: $form-field-height;
3
3
  display: flex;
4
4
  align-items: center;
@@ -1,4 +1,4 @@
1
- tao-form .group-field {
1
+ .tao-form .group-field {
2
2
  display: flex;
3
3
  align-items: flex-start;
4
4
  align-content: flex-start;
@@ -1,4 +1,4 @@
1
- tao-form .text-field {
1
+ .tao-form .text-field {
2
2
  position: relative;
3
3
 
4
4
  .prefix, .suffix {
@@ -24,10 +24,10 @@ tao-form .text-field {
24
24
  }
25
25
 
26
26
  &.text-field-with-prefix .input-field {
27
- padding-left: $form-field-height;
27
+ padding-left: $form-field-line-height + $form-field-padding-v * 2;
28
28
  }
29
29
 
30
30
  &.text-field-with-suffix .input-field {
31
- padding-right: $form-field-height;
31
+ padding-left: $form-field-line-height + $form-field-padding-v * 2;
32
32
  }
33
33
  }
@@ -8,3 +8,4 @@ require 'tao_form/components/date_picker_component'
8
8
  require 'tao_form/components/time_picker_component'
9
9
  require 'tao_form/components/datetime_picker_component'
10
10
  require 'tao_form/components/month_picker_component'
11
+ require 'tao_form/components/date_range_picker_component'
@@ -34,6 +34,10 @@ module TaoForm
34
34
 
35
35
  private
36
36
 
37
+ def default_options
38
+ {class: 'tao-check-box'}
39
+ end
40
+
37
41
  def init_field_options
38
42
  @field_options = {
39
43
  disabled: disabled
@@ -20,6 +20,12 @@ module TaoForm
20
20
  :date_picker
21
21
  end
22
22
 
23
+ private
24
+
25
+ def default_options
26
+ merge_options(super, {class: 'tao-date-picker'})
27
+ end
28
+
23
29
  end
24
30
  end
25
31
  end
@@ -0,0 +1,64 @@
1
+ module TaoForm
2
+ module Components
3
+ class DateRangePickerComponent < FieldComponent
4
+
5
+ attr_reader :disabled, :value, :date_picker_options
6
+
7
+ def initialize view, builder, attribute_name, options = {}
8
+ super view, builder, attribute_name, options
9
+ @value = @options.delete(:value)
10
+ @disabled = @options[:disabled].presence || false
11
+
12
+ init_date_picker_options
13
+ end
14
+
15
+ def render &block
16
+ if block_given?
17
+ super
18
+ else
19
+ super {
20
+ builder.hidden_field attribute_name, field_options
21
+ }
22
+ end
23
+ end
24
+
25
+ def render_date_picker name
26
+ opts = merge_options date_picker_options, {
27
+ class: "#{name}-date-picker",
28
+ placeholder: t("#{name}_placeholder")
29
+ }
30
+ view.tao_date_picker opts do
31
+ view.date_field_tag nil, nil, class: "#{name}-date-field", disabled: disabled
32
+ end
33
+ end
34
+
35
+ def self.component_name
36
+ :date_range_picker
37
+ end
38
+
39
+ private
40
+
41
+ def init_date_picker_options
42
+ @date_picker_options = {
43
+ placeholder: options.delete(:date_placeholder),
44
+ disabled: disabled
45
+ }
46
+
47
+ if options.key?(:date_icon)
48
+ @date_picker_options[:date_icon] = options.delete(:date_icon)
49
+ end
50
+ end
51
+
52
+ def default_options
53
+ {class: 'tao-date-range-picker'}
54
+ end
55
+
56
+ def field_options
57
+ opts = {disabled: disabled}
58
+ opts[:value] = value if value.present?
59
+ opts
60
+ end
61
+
62
+ end
63
+ end
64
+ end
@@ -18,7 +18,7 @@ module TaoForm
18
18
  super
19
19
  else
20
20
  super {
21
- builder.send :datetime_field, attribute_name, {disabled: disabled, value: value}
21
+ builder.send :datetime_field, attribute_name, field_options
22
22
  }
23
23
  end
24
24
  end
@@ -71,6 +71,12 @@ module TaoForm
71
71
  {class: 'tao-datetime-picker'}
72
72
  end
73
73
 
74
+ def field_options
75
+ opts = {disabled: disabled}
76
+ opts[:value] = value if value.present?
77
+ opts
78
+ end
79
+
74
80
  end
75
81
  end
76
82
  end
@@ -4,10 +4,10 @@ module TaoForm
4
4
 
5
5
  attr_reader :record, :html_options
6
6
 
7
- def initialize view, record, options
7
+ def initialize view, record, options = {}
8
8
  super view, options
9
9
  @record = record
10
- @html_options = transform_html_options(@options.delete(:html) || {}, default_html_options)
10
+ @html_options = transform_html_options(default_html_options, @options.delete(:html) || {})
11
11
  end
12
12
 
13
13
  def render &block
@@ -7,11 +7,12 @@ module TaoForm
7
7
  module MomentPicker
8
8
  class Base < TaoForm::Components::FieldComponent
9
9
 
10
- attr_reader :block_for_render, :result_options
10
+ attr_reader :block_for_render, :result_options, :list_options
11
11
 
12
12
  def initialize view, builder = nil, attribute_name = nil, options = {}
13
13
  super view, builder, attribute_name, options
14
14
  init_result_options
15
+ init_list_options
15
16
  end
16
17
 
17
18
 
@@ -39,8 +40,7 @@ module TaoForm
39
40
  end
40
41
 
41
42
  def render_segment_list
42
- view.tao_moment_picker_segment_list segments: segments,
43
- default_segment: default_segment
43
+ view.tao_moment_picker_segment_list list_options
44
44
  end
45
45
 
46
46
  def placeholder
@@ -59,8 +59,17 @@ module TaoForm
59
59
  }
60
60
  end
61
61
 
62
+ def init_list_options
63
+ @list_options = {
64
+ segments: segments,
65
+ default_segment: default_segment,
66
+ disable_before: options.delete(:disable_before),
67
+ disable_after: options.delete(:disable_after)
68
+ }
69
+ end
70
+
62
71
  def default_options
63
- {icon: :calendar, class: 'moment-picker'}
72
+ {icon: :calendar, class: 'tao-moment-picker'}
64
73
  end
65
74
 
66
75
  end