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