tao_form 0.1.2 → 0.1.3
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.
- checksums.yaml +4 -4
- data/config/initializers/simple_form.rb +1 -1
- data/lib/assets/javascripts/tao/form/fields/checkbox.coffee +1 -1
- 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 +7 -7
- data/lib/assets/javascripts/tao/form/fields/select/list.coffee +4 -4
- 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/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 +2 -2
- data/lib/assets/javascripts/tao/form/shared/element/base.coffee +2 -2
- data/lib/assets/javascripts/tao/form/shared/fields/checkbox.coffee +1 -1
- data/lib/assets/javascripts/tao/form/shared/fields/datetime_picker.coffee +10 -8
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/element/base.coffee +6 -5
- 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 +3 -3
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/date_segment.coffee +3 -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 +1 -1
- data/lib/assets/javascripts/tao/form/shared/fields/select/element/base.coffee +8 -8
- data/lib/assets/javascripts/tao/form/shared/fields/select/list/base.coffee +4 -4
- data/lib/assets/javascripts/tao/form/shared/fields/select/models/data_provider.coffee +1 -1
- data/lib/assets/javascripts/tao/form/shared/fields/select/multiple_result/base.coffee +3 -3
- data/lib/assets/javascripts/tao/form/shared/fields/select/result/base.coffee +3 -3
- data/lib/assets/javascripts/tao/form/shared/fields/switch.coffee +1 -1
- data/lib/assets/stylesheets/tao/form/fields/datetime_picker.scss +1 -1
- data/lib/assets/stylesheets/tao/form/fields/select/index.scss +4 -0
- data/lib/assets/stylesheets/tao/form/layout.scss +9 -10
- data/lib/assets/stylesheets/tao/form/mobile/reset.scss +0 -1
- data/lib/tao_form.rb +6 -2
- data/lib/tao_form/components/check_box_component.rb +3 -2
- data/lib/tao_form/components/datetime_picker_component.rb +3 -2
- data/lib/tao_form/components/form_component.rb +6 -0
- data/lib/tao_form/components/moment_picker/base.rb +3 -2
- data/lib/tao_form/components/moment_picker/result_component.rb +3 -2
- data/lib/tao_form/components/radio_button_component.rb +3 -2
- data/lib/tao_form/engine.rb +0 -1
- data/lib/tao_form/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d96005eb91438b5a448dc3f866d0a295f3ebf431
|
4
|
+
data.tar.gz: 6ca595c40e534aab13fa386bbacbde325ce7c5c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 205f4bbfa701369898fec6afbf39de7df13c8e96636708d459fa4777fbc8a086ed2ec51fc38194bbc19e0a1de1378b0d8ee5a2f2ab1679a8d335a90e8d3fd944
|
7
|
+
data.tar.gz: 48e6b9d3e5288fc6df5e7f3489071715daddf42a7f9d70e1875cae85d14d6853b84f416c612289201a80d0c6b450e3ad92bb8ccb21de791ab4ba06a0a262f26d
|
@@ -128,7 +128,7 @@ SimpleForm.setup do |config|
|
|
128
128
|
|
129
129
|
# Namespaces where SimpleForm should look for custom input classes that
|
130
130
|
# override default inputs.
|
131
|
-
config.custom_inputs_namespaces <<
|
131
|
+
config.custom_inputs_namespaces << TaoForm.inputs_namespace
|
132
132
|
|
133
133
|
# Default priority for time_zone inputs.
|
134
134
|
# config.time_zone_priority = nil
|
@@ -8,7 +8,7 @@ class Tao.Form.Checkbox extends Tao.Form.CheckboxBase
|
|
8
8
|
@on 'keydown', '.checkbox-wrapper', (e) =>
|
9
9
|
return unless e.which == 13 && @field.is(':enabled')
|
10
10
|
@_toggleChecked()
|
11
|
-
@trigger 'change'
|
11
|
+
@trigger 'tao:change'
|
12
12
|
false
|
13
13
|
|
14
14
|
TaoComponent.register Tao.Form.Checkbox
|
@@ -9,15 +9,15 @@ class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase
|
|
9
9
|
_bindResultEvents: ->
|
10
10
|
super
|
11
11
|
|
12
|
-
@on 'enterPress', '.select-result', (e) =>
|
12
|
+
@on 'tao:enterPress', '.select-result', (e) =>
|
13
13
|
if @active
|
14
14
|
if @selectOption @list.highlightedOption
|
15
|
-
@trigger 'change', @selectedOption
|
15
|
+
@trigger 'tao:change', @selectedOption
|
16
16
|
else
|
17
17
|
@active = true
|
18
18
|
null
|
19
19
|
|
20
|
-
@on 'arrowPress', '.select-result', (e, direction) =>
|
20
|
+
@on 'tao:arrowPress', '.select-result', (e, direction) =>
|
21
21
|
if @active
|
22
22
|
if direction == 'up'
|
23
23
|
@list.highlightPrevOption()
|
@@ -30,14 +30,14 @@ class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase
|
|
30
30
|
_bindListEvents: ->
|
31
31
|
super
|
32
32
|
|
33
|
-
@on '
|
33
|
+
@on 'tao:select', '.select-list', (e, option) =>
|
34
34
|
@active = false
|
35
35
|
null
|
36
36
|
|
37
|
-
@on 'show', '.select-list', (e) =>
|
37
|
+
@on 'tao:show', '.select-list', (e) =>
|
38
38
|
@_positionList()
|
39
39
|
|
40
|
-
@on 'searchEscapePress', '.select-list', (e) =>
|
40
|
+
@on 'tao:searchEscapePress', '.select-list', (e) =>
|
41
41
|
@active = false
|
42
42
|
null
|
43
43
|
|
@@ -66,7 +66,7 @@ class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase
|
|
66
66
|
offsetToWindowBottom = $(window).height() - rect.bottom
|
67
67
|
|
68
68
|
@list.setMaxHeight false
|
69
|
-
@
|
69
|
+
@reflow()
|
70
70
|
listHeight = @list.jq.outerHeight()
|
71
71
|
|
72
72
|
if offsetToWindowBottom < listHeight && offsetToWindowTop > offsetToWindowBottom
|
@@ -16,10 +16,10 @@ class Tao.Form.Select.List extends Tao.Form.Select.ListBase
|
|
16
16
|
|
17
17
|
@on 'keydown', '.search-field', (e) =>
|
18
18
|
if e.which == 13
|
19
|
-
@trigger('
|
19
|
+
@trigger('tao:select', [@highlightedOption]) if @highlightedOption
|
20
20
|
false
|
21
21
|
else if e.which == 27
|
22
|
-
@trigger 'searchEscapePress'
|
22
|
+
@trigger 'tao:searchEscapePress'
|
23
23
|
false
|
24
24
|
else if e.which == 38
|
25
25
|
@highlightPrevOption()
|
@@ -30,7 +30,7 @@ class Tao.Form.Select.List extends Tao.Form.Select.ListBase
|
|
30
30
|
|
31
31
|
_activeChanged: ->
|
32
32
|
if @active
|
33
|
-
@trigger 'show'
|
33
|
+
@trigger 'tao:show'
|
34
34
|
@searchField.focus() if @searchable
|
35
35
|
@_refreshScrollPosition()
|
36
36
|
else
|
@@ -39,7 +39,7 @@ class Tao.Form.Select.List extends Tao.Form.Select.ListBase
|
|
39
39
|
_refreshScrollPosition: ->
|
40
40
|
return unless @active
|
41
41
|
|
42
|
-
@
|
42
|
+
@reflow()
|
43
43
|
|
44
44
|
$list = @jq.find('.list-wrapper')
|
45
45
|
if @direction == 'up'
|
@@ -14,19 +14,19 @@ class Tao.Form.Select.MultipleResult extends Tao.Form.Select.MultipleResultBase
|
|
14
14
|
|
15
15
|
@on 'click', '.link-add', (e) =>
|
16
16
|
return if @disabled
|
17
|
-
@trigger 'activeClick'
|
17
|
+
@trigger 'tao:activeClick'
|
18
18
|
false
|
19
19
|
|
20
20
|
@on 'keydown', '.link-add', (e) =>
|
21
21
|
return if @disabled
|
22
22
|
if e.which == 13
|
23
|
-
@trigger 'enterPress'
|
23
|
+
@trigger 'tao:enterPress'
|
24
24
|
false
|
25
25
|
else if e.which == 38
|
26
|
-
@trigger 'arrowPress', ['up']
|
26
|
+
@trigger 'tao:arrowPress', ['up']
|
27
27
|
false
|
28
28
|
else if e.which == 40
|
29
|
-
@trigger 'arrowPress', ['down']
|
29
|
+
@trigger 'tao:arrowPress', ['down']
|
30
30
|
false
|
31
31
|
|
32
32
|
_disabledChanged: ->
|
@@ -13,21 +13,21 @@ class Tao.Form.Select.Result extends Tao.Form.Select.ResultBase
|
|
13
13
|
|
14
14
|
@on 'click', (e) =>
|
15
15
|
return if @disabled
|
16
|
-
@trigger 'activeClick'
|
16
|
+
@trigger 'tao:activeClick'
|
17
17
|
|
18
18
|
@on 'keydown', (e) =>
|
19
19
|
return if @disabled
|
20
20
|
if e.which == 13
|
21
|
-
@trigger 'enterPress'
|
21
|
+
@trigger 'tao:enterPress'
|
22
22
|
false
|
23
23
|
else if e.which == 8 || e.which == 46
|
24
|
-
@clear() && @trigger('clear')
|
24
|
+
@clear() && @trigger('tao:clear')
|
25
25
|
false
|
26
26
|
else if e.which == 38
|
27
|
-
@trigger 'arrowPress', ['up']
|
27
|
+
@trigger 'tao:arrowPress', ['up']
|
28
28
|
false
|
29
29
|
else if e.which == 40
|
30
|
-
@trigger 'arrowPress', ['down']
|
30
|
+
@trigger 'tao:arrowPress', ['down']
|
31
31
|
false
|
32
32
|
|
33
33
|
_disabledChanged: ->
|
@@ -8,7 +8,7 @@ class Tao.Form.Switch extends Tao.Form.SwitchBase
|
|
8
8
|
@on 'keydown', '.switch-wrapper', (e) =>
|
9
9
|
return unless e.which == 13 && @field.is(':enabled')
|
10
10
|
@_toggleChecked()
|
11
|
-
@trigger 'change'
|
11
|
+
@trigger 'tao:change'
|
12
12
|
false
|
13
13
|
|
14
14
|
TaoComponent.register Tao.Form.Switch
|
@@ -18,11 +18,11 @@ class Tao.Form.MomentPicker.Element extends Tao.Form.MomentPicker.ElementBase
|
|
18
18
|
@setMoment moment(@segmentList.momentData)
|
19
19
|
null
|
20
20
|
|
21
|
-
@on 'clear', 'tao-moment-picker-segment-list', (e) =>
|
21
|
+
@on 'tao:clear', 'tao-moment-picker-segment-list', (e) =>
|
22
22
|
return if @disabled
|
23
23
|
@active = false
|
24
24
|
@setMoment null
|
25
|
-
@trigger 'change', [@moment]
|
25
|
+
@trigger 'tao:change', [@moment]
|
26
26
|
null
|
27
27
|
|
28
28
|
_activeChanged: ->
|
@@ -21,14 +21,14 @@ class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase
|
|
21
21
|
@active = false
|
22
22
|
null
|
23
23
|
|
24
|
-
@on 'change', =>
|
24
|
+
@on 'tao:change', =>
|
25
25
|
@list.refreshHeight() if @active
|
26
26
|
@_refreshSelectedText()
|
27
27
|
|
28
28
|
_bindListEvents: ->
|
29
29
|
super
|
30
30
|
|
31
|
-
@on '
|
31
|
+
@on 'tao:select', '.select-list', (e, option) =>
|
32
32
|
if @multiple
|
33
33
|
@list.reset()
|
34
34
|
else
|
@@ -10,11 +10,11 @@ class Tao.Form.ElementBase extends TaoComponent
|
|
10
10
|
_bind: ->
|
11
11
|
@on 'ajax:beforeSend', '> form', (e) =>
|
12
12
|
@_clearErrors()
|
13
|
-
@trigger 'beforeSubmit'
|
13
|
+
@trigger 'tao:beforeSubmit'
|
14
14
|
|
15
15
|
@on 'ajax:success', '> form', (e) =>
|
16
16
|
@_showSuccessMessage()
|
17
|
-
@trigger 'success'
|
17
|
+
@trigger 'tao:success'
|
18
18
|
|
19
19
|
_disconnected: ->
|
20
20
|
@off()
|
@@ -15,24 +15,26 @@ class Tao.Form.DatetimePicker extends TaoComponent
|
|
15
15
|
|
16
16
|
_connected: ->
|
17
17
|
@field = @jq.find '> input'
|
18
|
+
@datePicker = @findComponent 'tao-date-picker'
|
19
|
+
@timePicker = @findComponent 'tao-time-picker'
|
20
|
+
@_bind()
|
21
|
+
|
22
|
+
_bind: ->
|
23
|
+
@on 'tao:change', '.moment-picker', (e, m) =>
|
24
|
+
@_syncMoment()
|
25
|
+
|
18
26
|
datePickerDeferred = $.Deferred()
|
19
27
|
timePickerDeferred = $.Deferred()
|
20
28
|
|
21
|
-
@
|
29
|
+
@on 'tao:ready', 'tao-date-picker', ->
|
22
30
|
datePickerDeferred.resolve()
|
23
31
|
|
24
|
-
@
|
32
|
+
@on 'tao:ready', 'tao-time-picker', ->
|
25
33
|
timePickerDeferred.resolve()
|
26
34
|
|
27
35
|
$.when datePickerDeferred, timePickerDeferred
|
28
36
|
.done => @_initMoment()
|
29
37
|
|
30
|
-
@_bind()
|
31
|
-
|
32
|
-
_bind: ->
|
33
|
-
@on 'change', '.moment-picker', (e, m) =>
|
34
|
-
@_syncMoment()
|
35
|
-
|
36
38
|
_initMoment: ->
|
37
39
|
m = moment @field.val(), @valueFormat
|
38
40
|
|
@@ -10,6 +10,7 @@ class Tao.Form.MomentPicker.ElementBase extends TaoComponent
|
|
10
10
|
@field = @result.field
|
11
11
|
@result.format = @displayFormat
|
12
12
|
@setMoment @field.val()
|
13
|
+
@trigger 'tao:ready'
|
13
14
|
@segmentList = @findComponent 'tao-moment-picker-segment-list'
|
14
15
|
|
15
16
|
@_bind()
|
@@ -18,22 +19,22 @@ class Tao.Form.MomentPicker.ElementBase extends TaoComponent
|
|
18
19
|
@off()
|
19
20
|
|
20
21
|
_bind: ->
|
21
|
-
@on 'activeClick', 'tao-moment-picker-result', (e) =>
|
22
|
+
@on 'tao:activeClick', 'tao-moment-picker-result', (e) =>
|
22
23
|
return if @disabled
|
23
24
|
@_toggleActive()
|
24
25
|
null
|
25
26
|
|
26
|
-
@on 'clear', 'tao-moment-picker-result', (e) =>
|
27
|
+
@on 'tao:clear', 'tao-moment-picker-result', (e) =>
|
27
28
|
return if @disabled
|
28
29
|
@active = false
|
29
30
|
@setMoment null
|
30
|
-
@trigger 'change', [@moment]
|
31
|
+
@trigger 'tao:change', [@moment]
|
31
32
|
null
|
32
33
|
|
33
|
-
@on '
|
34
|
+
@on 'tao:select', 'tao-moment-picker-segment-list', (e, m) =>
|
34
35
|
@active = false
|
35
36
|
@setMoment m
|
36
|
-
@trigger 'change', [@moment]
|
37
|
+
@trigger 'tao:change', [@moment]
|
37
38
|
null
|
38
39
|
|
39
40
|
_toggleActive: ->
|
@@ -18,12 +18,12 @@ class Tao.Form.MomentPicker.ResultBase extends TaoComponent
|
|
18
18
|
|
19
19
|
_bind: ->
|
20
20
|
@on 'click', 'input', =>
|
21
|
-
@trigger 'activeClick'
|
21
|
+
@trigger 'tao:activeClick'
|
22
22
|
false
|
23
23
|
|
24
24
|
@on 'click', (e) =>
|
25
25
|
return if @disabled
|
26
|
-
@trigger 'activeClick'
|
26
|
+
@trigger 'tao:activeClick'
|
27
27
|
|
28
28
|
clear: ->
|
29
29
|
@moment = null
|
@@ -17,11 +17,11 @@ class Tao.Form.MomentPicker.SegmentListBase extends TaoComponent
|
|
17
17
|
@_setActiveSegment segment
|
18
18
|
null
|
19
19
|
|
20
|
-
@on 'dataSelect', '.segment', (e, momentData) =>
|
20
|
+
@on 'tao:dataSelect', '.segment', (e, momentData) =>
|
21
21
|
@_setMomentData momentData
|
22
22
|
@_activateNextSegment()
|
23
23
|
|
24
|
-
@on 'dataRefresh', '.segment', (e, momentData) =>
|
24
|
+
@on 'tao:dataRefresh', '.segment', (e, momentData) =>
|
25
25
|
@_setMomentData momentData
|
26
26
|
|
27
27
|
setMoment: (m) ->
|
@@ -80,6 +80,6 @@ class Tao.Form.MomentPicker.SegmentListBase extends TaoComponent
|
|
80
80
|
if ($segment = @activeSegment.jq.next('.segment')).length > 0
|
81
81
|
@_setActiveSegment $segment.get(0)
|
82
82
|
else
|
83
|
-
@trigger '
|
83
|
+
@trigger 'tao:select', [moment @momentData]
|
84
84
|
else
|
85
85
|
@_setActiveSegment @segments[0]
|
data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/date_segment.coffee
CHANGED
@@ -23,7 +23,7 @@ class MomentPicker.DateSegment extends MomentPicker.SegmentBase
|
|
23
23
|
momentData.year = date.year()
|
24
24
|
momentData.month = date.month()
|
25
25
|
momentData.date = date.date()
|
26
|
-
@trigger 'dataSelect', [momentData]
|
26
|
+
@trigger 'tao:dataSelect', [momentData]
|
27
27
|
|
28
28
|
@on 'click', '.link-prev-month, .link-next-month', (e) =>
|
29
29
|
month = if $(e.currentTarget).is('.link-prev-month')
|
@@ -35,7 +35,7 @@ class MomentPicker.DateSegment extends MomentPicker.SegmentBase
|
|
35
35
|
momentData.year = month.year()
|
36
36
|
momentData.month = month.month()
|
37
37
|
momentData.date = null
|
38
|
-
@trigger 'dataRefresh', [momentData]
|
38
|
+
@trigger 'tao:dataRefresh', [momentData]
|
39
39
|
|
40
40
|
setMomentData: (momentData) ->
|
41
41
|
if @active && (_.isNil(momentData['year']) || _.isNil(momentData['month']))
|
@@ -43,7 +43,7 @@ class MomentPicker.DateSegment extends MomentPicker.SegmentBase
|
|
43
43
|
momentData.year = now.year()
|
44
44
|
momentData.month = now.month()
|
45
45
|
momentData.date = null
|
46
|
-
@trigger 'dataRefresh', [momentData]
|
46
|
+
@trigger 'tao:dataRefresh', [momentData]
|
47
47
|
return false
|
48
48
|
else if @momentData && momentData &&
|
49
49
|
momentData['year'] == @momentData['year'] &&
|
data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/hour_segment.coffee
CHANGED
@@ -13,7 +13,7 @@ class MomentPicker.HourSegment extends MomentPicker.SegmentBase
|
|
13
13
|
$hour = $ e.currentTarget
|
14
14
|
momentData = _.clone @momentData
|
15
15
|
momentData.hour = $hour.data 'hour'
|
16
|
-
@trigger 'dataSelect', [momentData]
|
16
|
+
@trigger 'tao:dataSelect', [momentData]
|
17
17
|
|
18
18
|
setMomentData: (momentData) ->
|
19
19
|
super
|
data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/minute_segment.coffee
CHANGED
@@ -13,7 +13,7 @@ class MomentPicker.MinuteSegment extends MomentPicker.SegmentBase
|
|
13
13
|
$minute = $ e.currentTarget
|
14
14
|
momentData = _.clone @momentData
|
15
15
|
momentData.minute = $minute.data 'minute'
|
16
|
-
@trigger 'dataSelect', [momentData]
|
16
|
+
@trigger 'tao:dataSelect', [momentData]
|
17
17
|
|
18
18
|
setMomentData: (momentData) ->
|
19
19
|
super
|
data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/month_segment.coffee
CHANGED
@@ -14,7 +14,7 @@ class MomentPicker.MonthSegment extends MomentPicker.SegmentBase
|
|
14
14
|
momentData = _.clone @momentData
|
15
15
|
momentData.month = $month.data 'month'
|
16
16
|
momentData.date = null
|
17
|
-
@trigger 'dataSelect', [momentData]
|
17
|
+
@trigger 'tao:dataSelect', [momentData]
|
18
18
|
|
19
19
|
@on 'click', '.link-prev-year, .link-next-year', (e) =>
|
20
20
|
momentData = _.clone @momentData
|
@@ -23,7 +23,7 @@ class MomentPicker.MonthSegment extends MomentPicker.SegmentBase
|
|
23
23
|
else
|
24
24
|
momentData['year'] += 1
|
25
25
|
momentData.date = null
|
26
|
-
@trigger 'dataRefresh', [momentData]
|
26
|
+
@trigger 'tao:dataRefresh', [momentData]
|
27
27
|
|
28
28
|
setMomentData: (momentData) ->
|
29
29
|
super
|
data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/year_segment.coffee
CHANGED
@@ -15,7 +15,7 @@ class MomentPicker.YearSegment extends MomentPicker.SegmentBase
|
|
15
15
|
momentData.year = $year.data 'year'
|
16
16
|
momentData.month = null
|
17
17
|
momentData.date = null
|
18
|
-
@trigger 'dataSelect', [momentData]
|
18
|
+
@trigger 'tao:dataSelect', [momentData]
|
19
19
|
|
20
20
|
@on 'click', '.link-prev-years, .link-next-years', (e) =>
|
21
21
|
momentData = _.clone @momentData
|
@@ -25,14 +25,14 @@ class MomentPicker.YearSegment extends MomentPicker.SegmentBase
|
|
25
25
|
momentData['year'] += 9
|
26
26
|
momentData.month = null
|
27
27
|
momentData.date = null
|
28
|
-
@trigger 'dataRefresh', [momentData]
|
28
|
+
@trigger 'tao:dataRefresh', [momentData]
|
29
29
|
|
30
30
|
setMomentData: (momentData) ->
|
31
31
|
super
|
32
32
|
|
33
33
|
if _.isNil @value()
|
34
34
|
momentData.year = moment().year()
|
35
|
-
@trigger 'dataRefresh', [momentData]
|
35
|
+
@trigger 'tao:dataRefresh', [momentData]
|
36
36
|
return false
|
37
37
|
|
38
38
|
@_render()
|
@@ -54,33 +54,33 @@ class Tao.Form.Select.ElementBase extends TaoComponent
|
|
54
54
|
@_bindListEvents()
|
55
55
|
|
56
56
|
_bindResultEvents: ->
|
57
|
-
@on 'activeClick', '.select-result', (e) =>
|
57
|
+
@on 'tao:activeClick', '.select-result', (e) =>
|
58
58
|
@_toggleActive()
|
59
59
|
null
|
60
60
|
|
61
61
|
if @multiple
|
62
|
-
@on '
|
62
|
+
@on 'tao:unselect', '.select-result', (e, option) =>
|
63
63
|
_.remove @selectedOption, (opt) -> opt.value == option.value
|
64
64
|
@selected = false if @selectedOption.length == 0
|
65
65
|
@_filterList ''
|
66
|
-
@trigger 'change', @selectedOption
|
66
|
+
@trigger 'tao:change', @selectedOption
|
67
67
|
null
|
68
68
|
else
|
69
|
-
@on 'clear', '.select-result', (e) =>
|
69
|
+
@on 'tao:clear', '.select-result', (e) =>
|
70
70
|
@active = false
|
71
71
|
@selectedOption = null
|
72
72
|
@selected = false
|
73
73
|
@_filterList ''
|
74
|
-
@trigger 'change', @selectedOption
|
74
|
+
@trigger 'tao:change', @selectedOption
|
75
75
|
null
|
76
76
|
|
77
77
|
_bindListEvents: ->
|
78
|
-
@on '
|
78
|
+
@on 'tao:select', '.select-list', (e, option) =>
|
79
79
|
@selectOption option
|
80
|
-
@trigger 'change', @selectedOption
|
80
|
+
@trigger 'tao:change', @selectedOption
|
81
81
|
null
|
82
82
|
|
83
|
-
@on 'search', '.select-list', (e, value) =>
|
83
|
+
@on 'tao:search', '.select-list', (e, value) =>
|
84
84
|
@_filterList value
|
85
85
|
|
86
86
|
_disconnected: ->
|
@@ -23,20 +23,20 @@ class Tao.Form.Select.ListBase extends TaoComponent
|
|
23
23
|
@on 'input', '.search-field', _.debounce (e) =>
|
24
24
|
val = @searchField.val()
|
25
25
|
@searching = !!val
|
26
|
-
@trigger 'search', [val]
|
26
|
+
@trigger 'tao:search', [val]
|
27
27
|
, 200
|
28
28
|
|
29
29
|
@on 'click', '.option', (e) =>
|
30
30
|
$option = $ e.currentTarget
|
31
31
|
option = $option.data('option')
|
32
|
-
@trigger('
|
32
|
+
@trigger('tao:select', [option]) if option
|
33
33
|
null
|
34
34
|
|
35
35
|
_hiddenSizeChanged: ->
|
36
36
|
@jq.find('.tips .size').text(@hiddenSize)
|
37
37
|
|
38
38
|
_refreshScrollPosition: ->
|
39
|
-
@
|
39
|
+
@reflow()
|
40
40
|
@jq.find('.list-wrapper').scrollTop 0
|
41
41
|
|
42
42
|
setOptions: (options, totalSize) ->
|
@@ -76,4 +76,4 @@ class Tao.Form.Select.ListBase extends TaoComponent
|
|
76
76
|
reset: ->
|
77
77
|
@searchField.val ''
|
78
78
|
@searching = false
|
79
|
-
@trigger 'search', ['']
|
79
|
+
@trigger 'tao:search', ['']
|
@@ -12,7 +12,7 @@ class Tao.Form.Select.DataProvider extends TaoModule
|
|
12
12
|
Option.fromElement optionEl
|
13
13
|
.get()
|
14
14
|
|
15
|
-
@field.on 'addOption', (e, option) =>
|
15
|
+
@field.on 'tao:addOption', (e, option) =>
|
16
16
|
if option.data?.group
|
17
17
|
index = _.findIndex @options, (opt) -> opt.data?.group == option.data?.group
|
18
18
|
@options.splice index, 0, option
|
@@ -17,7 +17,7 @@ class Tao.Form.Select.MultipleResultBase extends TaoComponent
|
|
17
17
|
|
18
18
|
_bind: ->
|
19
19
|
@on 'click', 'select', =>
|
20
|
-
@trigger 'activeClick'
|
20
|
+
@trigger 'tao:activeClick'
|
21
21
|
false
|
22
22
|
|
23
23
|
@on 'click', '.selected-item', (e) =>
|
@@ -25,7 +25,7 @@ class Tao.Form.Select.MultipleResultBase extends TaoComponent
|
|
25
25
|
$option = $ e.currentTarget
|
26
26
|
option = $option.data 'option'
|
27
27
|
@unselectOption option
|
28
|
-
@trigger '
|
28
|
+
@trigger 'tao:unselect', [option]
|
29
29
|
false
|
30
30
|
|
31
31
|
selectOption: (option) ->
|
@@ -64,7 +64,7 @@ class Tao.Form.Select.MultipleResultBase extends TaoComponent
|
|
64
64
|
|
65
65
|
_generateOption: (option) ->
|
66
66
|
$option = $('<option>', test: option.text, value: option.value).appendTo(@field)
|
67
|
-
@field.trigger 'addOption', option, $option
|
67
|
+
@field.trigger 'tao:addOption', option, $option
|
68
68
|
$option
|
69
69
|
|
70
70
|
_generateItem: (option) ->
|
@@ -16,12 +16,12 @@ class Tao.Form.Select.ResultBase extends TaoComponent
|
|
16
16
|
|
17
17
|
_bind: ->
|
18
18
|
@on 'click', 'select', =>
|
19
|
-
@trigger 'activeClick'
|
19
|
+
@trigger 'tao:activeClick'
|
20
20
|
false
|
21
21
|
|
22
22
|
@on 'click', '.link-clear', (e) =>
|
23
23
|
return if @disabled
|
24
|
-
@clear() && @trigger('clear')
|
24
|
+
@clear() && @trigger('tao:clear')
|
25
25
|
false
|
26
26
|
|
27
27
|
selectOption: (option) ->
|
@@ -50,7 +50,7 @@ class Tao.Form.Select.ResultBase extends TaoComponent
|
|
50
50
|
|
51
51
|
_generateOption: (option) ->
|
52
52
|
$option = $('<option>', test: option.text, value: option.value).appendTo(@field)
|
53
|
-
@field.trigger 'addOption', option, $option
|
53
|
+
@field.trigger 'tao:addOption', option, $option
|
54
54
|
$option
|
55
55
|
|
56
56
|
clear: ->
|
@@ -19,14 +19,12 @@ tao-form {
|
|
19
19
|
|
20
20
|
& > .error {
|
21
21
|
display: block;
|
22
|
-
width: 80%;
|
23
|
-
margin: 0 auto;
|
24
22
|
margin-bottom: 2em;
|
25
23
|
font-size: $font-size-s;
|
26
|
-
padding:
|
24
|
+
padding: 1em;
|
27
25
|
color: $red-color;
|
28
26
|
border: 1px solid $red-color;
|
29
|
-
border-radius: $border-radius;
|
27
|
+
border-radius: $border-radius-s;
|
30
28
|
text-align: center;
|
31
29
|
}
|
32
30
|
|
@@ -36,6 +34,10 @@ tao-form {
|
|
36
34
|
align-content: flex-start;
|
37
35
|
margin: 0 0 0.75rem 0;
|
38
36
|
|
37
|
+
&.hidden {
|
38
|
+
display: none;
|
39
|
+
}
|
40
|
+
|
39
41
|
&:last-child {
|
40
42
|
margin-bottom: 0;
|
41
43
|
}
|
@@ -137,12 +139,9 @@ tao-form {
|
|
137
139
|
}
|
138
140
|
}
|
139
141
|
}
|
142
|
+
}
|
140
143
|
|
141
|
-
|
142
|
-
|
143
|
-
margin-left: 0;
|
144
|
-
}
|
145
|
-
}
|
146
|
-
|
144
|
+
&.form-without-label form .form-buttons {
|
145
|
+
margin-left: 0;
|
147
146
|
}
|
148
147
|
}
|
data/lib/tao_form.rb
CHANGED
@@ -2,10 +2,11 @@ module TaoForm
|
|
2
2
|
module Components
|
3
3
|
class CheckBoxComponent < FieldComponent
|
4
4
|
|
5
|
-
attr_reader :checked_value, :unchecked_value
|
5
|
+
attr_reader :checked_value, :unchecked_value, :checked
|
6
6
|
|
7
7
|
def initialize view, builder = nil, attribute_name = nil, options = {}, checked_value = '1', unchecked_value = '0'
|
8
8
|
super view, builder, attribute_name, options
|
9
|
+
@checked = @options.delete(:checked)
|
9
10
|
@checked_value = checked_value
|
10
11
|
@unchecked_value = unchecked_value
|
11
12
|
end
|
@@ -19,7 +20,7 @@ module TaoForm
|
|
19
20
|
super
|
20
21
|
else
|
21
22
|
super {
|
22
|
-
builder.check_box attribute_name, {}, checked_value, unchecked_value
|
23
|
+
builder.check_box attribute_name, {checked: checked}, checked_value, unchecked_value
|
23
24
|
}
|
24
25
|
end
|
25
26
|
end
|
@@ -2,11 +2,12 @@ module TaoForm
|
|
2
2
|
module Components
|
3
3
|
class DatetimePickerComponent < FieldComponent
|
4
4
|
|
5
|
-
attr_reader :html_options, :disabled
|
5
|
+
attr_reader :html_options, :disabled, :value
|
6
6
|
|
7
7
|
def initialize view, builder, attribute_name, options = {}, html_options = {}
|
8
8
|
super view, builder, attribute_name, options
|
9
9
|
@html_options = transform_html_options html_options
|
10
|
+
@value = @html_options.delete(:value)
|
10
11
|
@disabled = @html_options[:disabled].presence || false
|
11
12
|
end
|
12
13
|
|
@@ -15,7 +16,7 @@ module TaoForm
|
|
15
16
|
super
|
16
17
|
else
|
17
18
|
super {
|
18
|
-
builder.send :datetime_field, attribute_name, {disabled: disabled}
|
19
|
+
builder.send :datetime_field, attribute_name, {disabled: disabled, value: value}
|
19
20
|
}
|
20
21
|
end
|
21
22
|
end
|
@@ -7,11 +7,12 @@ module TaoForm
|
|
7
7
|
module MomentPicker
|
8
8
|
class Base < TaoForm::Components::FieldComponent
|
9
9
|
|
10
|
-
attr_reader :placeholder, :disabled, :html_options, :block_for_render
|
10
|
+
attr_reader :placeholder, :disabled, :html_options, :block_for_render, :value
|
11
11
|
|
12
12
|
def initialize view, builder, attribute_name, options = {}, html_options = {}
|
13
13
|
super view, builder, attribute_name, options
|
14
14
|
@html_options = transform_html_options default_html_options, html_options
|
15
|
+
@value = @html_options.delete(:value)
|
15
16
|
@disabled = @html_options[:disabled].presence || false
|
16
17
|
end
|
17
18
|
|
@@ -35,7 +36,7 @@ module TaoForm
|
|
35
36
|
def render_result
|
36
37
|
view.tao_moment_picker_result(
|
37
38
|
builder, attribute_name, input_type: input_type, icon: options[:icon],
|
38
|
-
placeholder: placeholder, disabled: disabled, &block_for_render
|
39
|
+
placeholder: placeholder, disabled: disabled, value: value, &block_for_render
|
39
40
|
)
|
40
41
|
end
|
41
42
|
|
@@ -3,10 +3,11 @@ module TaoForm
|
|
3
3
|
module MomentPicker
|
4
4
|
class ResultComponent < TaoForm::Components::FieldComponent
|
5
5
|
|
6
|
-
attr_reader :input_type
|
6
|
+
attr_reader :input_type, :value
|
7
7
|
|
8
8
|
def initialize view, builder, attribute_name, options = {}
|
9
9
|
@input_type = options.delete(:input_type)
|
10
|
+
@value = options.delete(:value)
|
10
11
|
super view, builder, attribute_name, options
|
11
12
|
end
|
12
13
|
|
@@ -16,7 +17,7 @@ module TaoForm
|
|
16
17
|
else
|
17
18
|
super {
|
18
19
|
builder.send :"#{input_type}_field", attribute_name,
|
19
|
-
{disabled: options[:disabled]}
|
20
|
+
{disabled: options[:disabled], value: value}
|
20
21
|
}
|
21
22
|
end
|
22
23
|
end
|
@@ -2,10 +2,11 @@ module TaoForm
|
|
2
2
|
module Components
|
3
3
|
class RadioButtonComponent < FieldComponent
|
4
4
|
|
5
|
-
attr_reader :checked_value, :unchecked_value
|
5
|
+
attr_reader :checked_value, :unchecked_value, :checked
|
6
6
|
|
7
7
|
def initialize view, builder = nil, attribute_name = nil, options = {}, checked_value = '1', unchecked_value = '0'
|
8
8
|
super view, builder, attribute_name, options
|
9
|
+
@checked = @options.delete(:checked)
|
9
10
|
@checked_value = checked_value
|
10
11
|
@unchecked_value = unchecked_value
|
11
12
|
end
|
@@ -19,7 +20,7 @@ module TaoForm
|
|
19
20
|
super
|
20
21
|
else
|
21
22
|
super {
|
22
|
-
builder.radio_button attribute_name, {}, checked_value, unchecked_value
|
23
|
+
builder.radio_button attribute_name, {checked: checked}, checked_value, unchecked_value
|
23
24
|
}
|
24
25
|
end
|
25
26
|
end
|
data/lib/tao_form/engine.rb
CHANGED
data/lib/tao_form/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tao_form
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- your name
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-06-
|
11
|
+
date: 2017-06-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: tao_on_rails
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.9.
|
19
|
+
version: 0.9.1
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.9.
|
26
|
+
version: 0.9.1
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: tao_ui
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.2.
|
33
|
+
version: 0.2.3
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.2.
|
40
|
+
version: 0.2.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: simple_form
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|