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.
- checksums.yaml +4 -4
- data/config/locales/tao_form/components/date_range_picker/en.yml +5 -0
- data/config/locales/tao_form/components/date_range_picker/zh-CN.yml +7 -0
- data/lib/assets/javascripts/tao/form/fields/checkbox.coffee +2 -1
- data/lib/assets/javascripts/tao/form/fields/index.coffee +1 -0
- data/lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee +1 -1
- data/lib/assets/javascripts/tao/form/fields/moment_picker/result.coffee +1 -1
- data/lib/assets/javascripts/tao/form/fields/moment_picker/segment_list.coffee +1 -1
- data/lib/assets/javascripts/tao/form/fields/radio.coffee +1 -1
- data/lib/assets/javascripts/tao/form/fields/select/element.coffee +3 -3
- data/lib/assets/javascripts/tao/form/fields/select/list.coffee +8 -3
- data/lib/assets/javascripts/tao/form/fields/select/multiple_result.coffee +4 -4
- data/lib/assets/javascripts/tao/form/fields/select/result.coffee +5 -5
- data/lib/assets/javascripts/tao/form/fields/switch.coffee +1 -1
- data/lib/assets/javascripts/tao/form/index.coffee +1 -7
- data/lib/assets/javascripts/tao/form/mobile/fields/index.coffee +1 -0
- data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/element.coffee +2 -2
- data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/segment_list.coffee +1 -1
- data/lib/assets/javascripts/tao/form/mobile/fields/select/element.coffee +13 -4
- data/lib/assets/javascripts/tao/form/mobile/fields/select/list.coffee +0 -8
- data/lib/assets/javascripts/tao/form/mobile/index.coffee +1 -0
- data/lib/assets/javascripts/tao/form/shared/element/base.coffee +6 -2
- data/lib/assets/javascripts/tao/form/shared/fields/checkbox.coffee +5 -1
- data/lib/assets/javascripts/tao/form/shared/fields/date_range_picker.coffee +75 -0
- data/lib/assets/javascripts/tao/form/shared/fields/datetime_picker.coffee +16 -6
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/element/base.coffee +30 -13
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/result/base.coffee +2 -2
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segment_list/base.coffee +5 -5
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/base.coffee +2 -0
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/date_segment.coffee +12 -3
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/hour_segment.coffee +1 -1
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/minute_segment.coffee +1 -1
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/month_segment.coffee +2 -2
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/year_segment.coffee +3 -3
- data/lib/assets/javascripts/tao/form/shared/fields/radio.coffee +5 -1
- data/lib/assets/javascripts/tao/form/shared/fields/select/element/base.coffee +24 -20
- data/lib/assets/javascripts/tao/form/shared/fields/select/list/base.coffee +21 -3
- data/lib/assets/javascripts/tao/form/shared/fields/select/models/data_provider.coffee +0 -8
- data/lib/assets/javascripts/tao/form/shared/fields/select/multiple_result/base.coffee +17 -8
- data/lib/assets/javascripts/tao/form/shared/fields/select/result/base.coffee +5 -5
- data/lib/assets/javascripts/tao/form/shared/fields/switch.coffee +5 -1
- data/lib/assets/javascripts/tao/form/shared/init.coffee +23 -0
- data/lib/assets/stylesheets/tao/form/fields/checkbox.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/date_range_picker.scss +20 -0
- data/lib/assets/stylesheets/tao/form/fields/datetime_picker.scss +3 -3
- data/lib/assets/stylesheets/tao/form/fields/index.scss +1 -0
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/index.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/result.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segment_list.scss +2 -2
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/date_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/hour_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/minute_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/month_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/year_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/radio.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/select/index.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/select/list.scss +2 -8
- data/lib/assets/stylesheets/tao/form/fields/select/multiple_result.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/select/result.scss +2 -2
- data/lib/assets/stylesheets/tao/form/fields/switch.scss +6 -4
- data/lib/assets/stylesheets/tao/form/inputs/boolean.scss +1 -1
- data/lib/assets/stylesheets/tao/form/layouts/default.scss +4 -4
- data/lib/assets/stylesheets/tao/form/mobile/fields/date_range_picker.scss +18 -0
- data/lib/assets/stylesheets/tao/form/mobile/fields/datetime_picker.scss +3 -3
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/index.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/result.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segment_list.scss +2 -2
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/date_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/hour_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/minute_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/month_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/year_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/select/index.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/select/list.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/select/multiple_result.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/select/result.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/inputs/boolean.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/inputs/group.scss +1 -1
- data/lib/assets/stylesheets/tao/form/mobile/layout.scss +2 -2
- data/lib/assets/stylesheets/tao/form/reset.scss +1 -0
- data/lib/assets/stylesheets/tao/form/shared/fields/_checkbox.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/fields/_radio.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/fields/_switch.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/_result.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/_segment_list.scss +2 -2
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_date_segment.scss +8 -2
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_hour_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_minute_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_month_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_year_segment.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/fields/select/_list.scss +6 -2
- data/lib/assets/stylesheets/tao/form/shared/fields/select/_multiple_result.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/inputs/_boolean.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/inputs/_group.scss +1 -1
- data/lib/assets/stylesheets/tao/form/shared/inputs/_text.scss +3 -3
- data/lib/tao_form/components.rb +1 -0
- data/lib/tao_form/components/check_box_component.rb +4 -0
- data/lib/tao_form/components/date_picker_component.rb +6 -0
- data/lib/tao_form/components/date_range_picker_component.rb +64 -0
- data/lib/tao_form/components/datetime_picker_component.rb +7 -1
- data/lib/tao_form/components/form_component.rb +2 -2
- data/lib/tao_form/components/moment_picker/base.rb +13 -4
- data/lib/tao_form/components/moment_picker/result_component.rb +13 -2
- data/lib/tao_form/components/moment_picker/segment_list_component.rb +18 -4
- data/lib/tao_form/components/moment_picker/segments/base.rb +1 -1
- data/lib/tao_form/components/moment_picker/segments/date_segment_component.rb +4 -1
- data/lib/tao_form/components/moment_picker/segments/hour_segment_component.rb +4 -1
- data/lib/tao_form/components/moment_picker/segments/minute_segment_component.rb +4 -1
- data/lib/tao_form/components/moment_picker/segments/month_segment_component.rb +8 -0
- data/lib/tao_form/components/moment_picker/segments/year_segment_component.rb +4 -1
- data/lib/tao_form/components/month_picker_component.rb +6 -0
- data/lib/tao_form/components/radio_button_component.rb +4 -0
- data/lib/tao_form/components/select/list_component.rb +1 -1
- data/lib/tao_form/components/select/multiple_result_component.rb +1 -1
- data/lib/tao_form/components/select/result_component.rb +1 -1
- data/lib/tao_form/components/select_component.rb +8 -1
- data/lib/tao_form/components/switch_component.rb +6 -0
- data/lib/tao_form/components/time_picker_component.rb +5 -1
- data/lib/tao_form/inputs.rb +1 -0
- data/lib/tao_form/inputs/date_range_input.rb +28 -0
- data/lib/tao_form/inputs/date_time_input.rb +1 -1
- data/lib/tao_form/inputs/string_input.rb +46 -6
- data/lib/tao_form/version.rb +1 -1
- data/lib/views/components/tao_form/components/_date_range_picker.html.erb +7 -0
- data/lib/views/components/tao_form/components/_moment_picker.html+mobile.erb +3 -3
- data/lib/views/components/tao_form/components/_select.html+mobile.erb +8 -7
- data/lib/views/components/tao_form/components/_switch.html.erb +1 -1
- data/lib/views/components/tao_form/components/select/_result.html.erb +1 -1
- metadata +31 -11
- data/config/locales/tao_form/components/datetime/en.yml +0 -5
- data/config/locales/tao_form/components/datetime/zh-CN.yml +0 -5
- data/lib/views/components/tao_form/components/_select.html.erb +0 -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;
|
data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_date_segment.scss
CHANGED
@@ -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: $
|
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-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-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-
|
31
|
+
padding-left: $form-field-line-height + $form-field-padding-v * 2;
|
32
32
|
}
|
33
33
|
}
|
data/lib/tao_form/components.rb
CHANGED
@@ -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'
|
@@ -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,
|
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) || {}
|
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
|
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
|