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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3e6584a0c12c826ec4ee4b8cc98598202dc15c47
|
4
|
+
data.tar.gz: 7624701714269e45db9780fe29cc1f6c0ce2206c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9732e722dfbe5a0ede57594db2f74fa7dd005918390ccfb3187903905462843e8d799ccbea97340c09e1b3683d3716462577607692bc0be6d64583e41a5fbc1e
|
7
|
+
data.tar.gz: c589359dca7064e749673ffb859d7e7cae7dd74b1ecc6279f7d638bb1073bd3f61fd0fb7d569e0ce5f7d6e8848b1a8ef6d5f6d3b2de49c4422488dbc3869d8cc
|
@@ -8,7 +8,8 @@ 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
|
-
@
|
11
|
+
@namespacedTrigger 'change'
|
12
|
+
|
12
13
|
false
|
13
14
|
|
14
15
|
TaoComponent.register Tao.Form.Checkbox
|
@@ -9,6 +9,6 @@ class MomentPicker.SegmentList extends MomentPicker.SegmentListBase
|
|
9
9
|
@attribute 'direction', default: 'down'
|
10
10
|
|
11
11
|
_activeChanged: ->
|
12
|
-
@
|
12
|
+
@namespacedTrigger('show') if @active
|
13
13
|
|
14
14
|
TaoComponent.register Tao.Form.MomentPicker.SegmentList
|
@@ -8,7 +8,7 @@ class Tao.Form.Radio extends Tao.Form.RadioBase
|
|
8
8
|
@on 'keydown', '.radio-wrapper', (e) =>
|
9
9
|
return unless e.which == 13 && @field.is(':enabled')
|
10
10
|
@_toggleChecked()
|
11
|
-
@
|
11
|
+
@namespacedTrigger 'change'
|
12
12
|
false
|
13
13
|
|
14
14
|
TaoComponent.register Tao.Form.Radio
|
@@ -12,7 +12,7 @@ class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase
|
|
12
12
|
@on 'tao:enterPress', '.select-result', (e) =>
|
13
13
|
if @active
|
14
14
|
if @selectOption @list.highlightedOption
|
15
|
-
@
|
15
|
+
@namespacedTrigger 'change', @selectedOption
|
16
16
|
else
|
17
17
|
@active = true
|
18
18
|
null
|
@@ -37,7 +37,7 @@ class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase
|
|
37
37
|
@on 'tao:show', '.select-list', (e) =>
|
38
38
|
@_positionList()
|
39
39
|
|
40
|
-
@on 'tao:
|
40
|
+
@on 'tao:cancel', '.select-list', (e) =>
|
41
41
|
@active = false
|
42
42
|
null
|
43
43
|
|
@@ -73,7 +73,7 @@ class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase
|
|
73
73
|
@list.setMaxHeight offsetToWindowTop - 20
|
74
74
|
@list.direction = 'up'
|
75
75
|
else
|
76
|
-
@list.setMaxHeight
|
76
|
+
@list.setMaxHeight offsetToWindowBottom - 20
|
77
77
|
@list.direction = 'down'
|
78
78
|
|
79
79
|
TaoComponent.register Tao.Form.Select.Element
|
@@ -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
|
-
@
|
19
|
+
@namespacedTrigger('select', [@highlightedOption]) if @highlightedOption
|
20
20
|
false
|
21
21
|
else if e.which == 27
|
22
|
-
@
|
22
|
+
@namespacedTrigger 'cancel'
|
23
23
|
false
|
24
24
|
else if e.which == 38
|
25
25
|
@highlightPrevOption()
|
@@ -28,9 +28,14 @@ class Tao.Form.Select.List extends Tao.Form.Select.ListBase
|
|
28
28
|
@highlightNextOption()
|
29
29
|
false
|
30
30
|
|
31
|
+
@on 'mouseenter', '.option', (e) =>
|
32
|
+
$option = $ e.currentTarget
|
33
|
+
@highlightOption $option
|
34
|
+
null
|
35
|
+
|
31
36
|
_activeChanged: ->
|
32
37
|
if @active
|
33
|
-
@
|
38
|
+
@namespacedTrigger 'show'
|
34
39
|
@searchField.focus() if @searchable
|
35
40
|
@_refreshScrollPosition()
|
36
41
|
else
|
@@ -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
|
-
@
|
17
|
+
@namespacedTrigger '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
|
-
@
|
23
|
+
@namespacedTrigger 'enterPress'
|
24
24
|
false
|
25
25
|
else if e.which == 38
|
26
|
-
@
|
26
|
+
@namespacedTrigger 'arrowPress', ['up']
|
27
27
|
false
|
28
28
|
else if e.which == 40
|
29
|
-
@
|
29
|
+
@namespacedTrigger '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
|
-
@
|
16
|
+
@namespacedTrigger 'activeClick'
|
17
17
|
|
18
18
|
@on 'keydown', (e) =>
|
19
19
|
return if @disabled
|
20
20
|
if e.which == 13
|
21
|
-
@
|
21
|
+
@namespacedTrigger 'enterPress'
|
22
22
|
false
|
23
23
|
else if e.which == 8 || e.which == 46
|
24
|
-
@
|
24
|
+
@clearSelected() && @namespacedTrigger('clear')
|
25
25
|
false
|
26
26
|
else if e.which == 38
|
27
|
-
@
|
27
|
+
@namespacedTrigger 'arrowPress', ['up']
|
28
28
|
false
|
29
29
|
else if e.which == 40
|
30
|
-
@
|
30
|
+
@namespacedTrigger '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
|
-
@
|
11
|
+
@namespacedTrigger 'change'
|
12
12
|
false
|
13
13
|
|
14
14
|
TaoComponent.register Tao.Form.Switch
|
@@ -3,15 +3,9 @@
|
|
3
3
|
#= require tao/ui
|
4
4
|
#= require tao/ui/icons/form
|
5
5
|
#= require_self
|
6
|
+
#= require tao/form/shared/init
|
6
7
|
#= require ./element
|
7
8
|
#= require ./fields
|
8
9
|
|
9
10
|
Tao.Form =
|
10
11
|
Mixins: {}
|
11
|
-
|
12
|
-
Tao.Application.initializer 'moment', (app) ->
|
13
|
-
if moment? && app.locale
|
14
|
-
moment.locale(app.locale.toLowerCase())
|
15
|
-
|
16
|
-
if moment?.tz? && app.timeZone
|
17
|
-
moment.tz.setDefault(app.timeZone)
|
@@ -22,11 +22,11 @@ class Tao.Form.MomentPicker.Element extends Tao.Form.MomentPicker.ElementBase
|
|
22
22
|
@setMoment moment(@segmentList.momentData)
|
23
23
|
null
|
24
24
|
|
25
|
-
@on 'tao:clear', 'tao-moment-picker-segment-list', (e) =>
|
25
|
+
@on 'tao:clear', '.tao-moment-picker-segment-list', (e) =>
|
26
26
|
return if @disabled
|
27
27
|
@active = false
|
28
28
|
@setMoment null
|
29
|
-
@
|
29
|
+
@namespacedTrigger 'change', [@moment]
|
30
30
|
null
|
31
31
|
|
32
32
|
_activeChanged: ->
|
@@ -21,12 +21,12 @@ class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase
|
|
21
21
|
@active = false
|
22
22
|
null
|
23
23
|
|
24
|
-
@on 'click', '.
|
24
|
+
@on 'click', '.button-ok', (e) =>
|
25
25
|
@active = false
|
26
26
|
null
|
27
27
|
|
28
28
|
@on 'tao:change', =>
|
29
|
-
@
|
29
|
+
@_refreshListHeight() if @active
|
30
30
|
@_refreshSelectedText()
|
31
31
|
|
32
32
|
_bindListEvents: ->
|
@@ -39,7 +39,7 @@ class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase
|
|
39
39
|
@active = false
|
40
40
|
null
|
41
41
|
|
42
|
-
|
42
|
+
_childComponentsReady: ->
|
43
43
|
super
|
44
44
|
@_refreshSelectedText()
|
45
45
|
|
@@ -55,10 +55,19 @@ class Tao.Form.Select.Element extends Tao.Form.Select.ElementBase
|
|
55
55
|
|
56
56
|
@jq.find('.select-result-delegate .selected-text').text text
|
57
57
|
|
58
|
+
_refreshListHeight: ->
|
59
|
+
$listWrapper = @list.jq.find('.list-wrapper')
|
60
|
+
winHeight = $(window).height()
|
61
|
+
offsetTop = $listWrapper[0].getBoundingClientRect().top
|
62
|
+
buttonsHeight = @slideBox.jq.find('.slide-box-content > .buttons').outerHeight()
|
63
|
+
|
64
|
+
$listWrapper.css
|
65
|
+
height: winHeight - offsetTop - buttonsHeight
|
66
|
+
|
58
67
|
_activeChanged: ->
|
59
68
|
@slideBox.active = @active
|
60
69
|
if @active
|
61
|
-
@
|
70
|
+
@_refreshListHeight()
|
62
71
|
else
|
63
72
|
@list.reset()
|
64
73
|
|
@@ -2,12 +2,4 @@
|
|
2
2
|
|
3
3
|
class Tao.Form.Select.List extends Tao.Form.Select.ListBase
|
4
4
|
|
5
|
-
refreshHeight: ->
|
6
|
-
$listWrapper = @jq.find('.list-wrapper')
|
7
|
-
winHeight = $(window).height()
|
8
|
-
offsetTop = $listWrapper[0].getBoundingClientRect().top
|
9
|
-
|
10
|
-
$listWrapper.css
|
11
|
-
height: winHeight - offsetTop
|
12
|
-
|
13
5
|
TaoComponent.register Tao.Form.Select.List
|
@@ -11,11 +11,11 @@ class Tao.Form.ElementBase extends TaoComponent
|
|
11
11
|
_bind: ->
|
12
12
|
@on 'ajax:beforeSend', '> form', (e) =>
|
13
13
|
@_clearErrors()
|
14
|
-
@
|
14
|
+
@namespacedTrigger 'beforeSubmit'
|
15
15
|
|
16
16
|
@on 'ajax:success', '> form', (e) =>
|
17
17
|
@_showSuccessMessage()
|
18
|
-
@
|
18
|
+
@namespacedTrigger 'success'
|
19
19
|
|
20
20
|
_disconnected: ->
|
21
21
|
@off()
|
@@ -47,3 +47,7 @@ class Tao.Form.ElementBase extends TaoComponent
|
|
47
47
|
clearTimeout @_successTimer
|
48
48
|
@jq.find('.success-message').remove()
|
49
49
|
@jq.find('button[data-disable-with]:hidden, input[data-disable-with]:hidden').show()
|
50
|
+
|
51
|
+
submit: ->
|
52
|
+
@jq.find('> form').submit()
|
53
|
+
@
|
@@ -17,10 +17,14 @@ class Tao.Form.CheckboxBase extends TaoComponent
|
|
17
17
|
@_bind()
|
18
18
|
|
19
19
|
_bind: ->
|
20
|
+
@on 'change', 'input[type=checkbox]', (e) =>
|
21
|
+
@namespacedTrigger 'change'
|
22
|
+
null
|
23
|
+
|
20
24
|
@on 'click', '.checkbox-wrapper', (e) =>
|
21
25
|
if @field.is(':enabled')
|
22
26
|
@_toggleChecked()
|
23
|
-
@
|
27
|
+
@namespacedTrigger 'change'
|
24
28
|
false
|
25
29
|
|
26
30
|
_disconnected: ->
|
@@ -0,0 +1,75 @@
|
|
1
|
+
class Tao.Form.DateRangePicker extends TaoComponent
|
2
|
+
|
3
|
+
@tag 'tao-date-range-picker'
|
4
|
+
|
5
|
+
@attribute 'dateValueFormat', default: 'YYYY-MM-DD'
|
6
|
+
|
7
|
+
@attribute 'dateDisplayFormat', default: 'YYYY-MM-DD'
|
8
|
+
|
9
|
+
@get 'value', ->
|
10
|
+
@field?.val()
|
11
|
+
|
12
|
+
@set 'value', (val) ->
|
13
|
+
@field.val val
|
14
|
+
@_initMoment()
|
15
|
+
|
16
|
+
_connected: ->
|
17
|
+
@field = @jq.find '> input'
|
18
|
+
@startDatePicker = @findComponent '.start-date-picker'
|
19
|
+
@endDatePicker = @findComponent '.end-date-picker'
|
20
|
+
@_bind()
|
21
|
+
|
22
|
+
_disconnected: ->
|
23
|
+
@off()
|
24
|
+
|
25
|
+
_bind: ->
|
26
|
+
@on 'tao-date-picker:change', '.tao-moment-picker', (e, m) =>
|
27
|
+
datePicker = e.currentTarget
|
28
|
+
if datePicker == @startDatePicker
|
29
|
+
@endDatePicker.disableBefore datePicker.moment
|
30
|
+
else
|
31
|
+
@startDatePicker.disableAfter datePicker.moment
|
32
|
+
@_syncMoment()
|
33
|
+
@namespacedTrigger('change', [@value]) if @value
|
34
|
+
|
35
|
+
startDatePickerDeferred = $.Deferred()
|
36
|
+
endDatePickerDeferred = $.Deferred()
|
37
|
+
|
38
|
+
@on 'tao-date-picker:ready', '.start-date-picker', ->
|
39
|
+
startDatePickerDeferred.resolve()
|
40
|
+
|
41
|
+
@on 'tao-date-picker:ready', '.end-date-picker', ->
|
42
|
+
endDatePickerDeferred.resolve()
|
43
|
+
|
44
|
+
$.when(startDatePickerDeferred, endDatePickerDeferred).done =>
|
45
|
+
@_initMoment()
|
46
|
+
@namespacedTrigger 'ready'
|
47
|
+
|
48
|
+
_initMoment: ->
|
49
|
+
dates = @field.val().split(',')
|
50
|
+
|
51
|
+
if dates.length > 0
|
52
|
+
@startDate = moment _.trim(dates[0]), @dateValueFormat
|
53
|
+
@endDate = moment _.trim(dates[1]), @dateValueFormat
|
54
|
+
@startDatePicker.setMoment @startDate.clone()
|
55
|
+
@endDatePicker.setMoment @endDate.clone()
|
56
|
+
else
|
57
|
+
@startDatePicker.setMoment ''
|
58
|
+
@endDatePicker.setMoment ''
|
59
|
+
@startDate = null
|
60
|
+
@endDate = null
|
61
|
+
|
62
|
+
_syncMoment: ->
|
63
|
+
if @startDatePicker.moment && @endDatePicker.moment
|
64
|
+
startDateValue = @startDatePicker.moment.format(@dateValueFormat)
|
65
|
+
endDateValue = @endDatePicker.moment.format(@dateValueFormat)
|
66
|
+
|
67
|
+
@field.val "#{startDateValue},#{endDateValue}"
|
68
|
+
@startDate = @startDatePicker.moment.clone()
|
69
|
+
@endDate = @endDatePicker.moment.clone()
|
70
|
+
else
|
71
|
+
@field.val ''
|
72
|
+
@startDate = null
|
73
|
+
@endDate = null
|
74
|
+
|
75
|
+
TaoComponent.register Tao.Form.DateRangePicker
|
@@ -13,6 +13,13 @@ class Tao.Form.DatetimePicker extends TaoComponent
|
|
13
13
|
|
14
14
|
@attribute 'timeDisplayFormat', default: 'HH:mm'
|
15
15
|
|
16
|
+
@get 'value', ->
|
17
|
+
@field.val()
|
18
|
+
|
19
|
+
@set 'value', (val) ->
|
20
|
+
@field.val val
|
21
|
+
@_initMoment()
|
22
|
+
|
16
23
|
_connected: ->
|
17
24
|
@field = @jq.find '> input'
|
18
25
|
@datePicker = @findComponent 'tao-date-picker'
|
@@ -23,21 +30,22 @@ class Tao.Form.DatetimePicker extends TaoComponent
|
|
23
30
|
@off()
|
24
31
|
|
25
32
|
_bind: ->
|
26
|
-
@on 'tao:change', '.moment-picker', (e, m) =>
|
33
|
+
@on 'tao-date-picker:change tao-time-picker:change', '.tao-moment-picker', (e, m) =>
|
27
34
|
@_syncMoment()
|
28
|
-
@
|
35
|
+
@namespacedTrigger 'change', [@moment]
|
29
36
|
|
30
37
|
datePickerDeferred = $.Deferred()
|
31
38
|
timePickerDeferred = $.Deferred()
|
32
39
|
|
33
|
-
@on 'tao:ready', 'tao-date-picker', ->
|
40
|
+
@on 'tao-date-picker:ready', 'tao-date-picker', ->
|
34
41
|
datePickerDeferred.resolve()
|
35
42
|
|
36
|
-
@on 'tao:ready', 'tao-time-picker', ->
|
43
|
+
@on 'tao-time-picker:ready', 'tao-time-picker', ->
|
37
44
|
timePickerDeferred.resolve()
|
38
45
|
|
39
|
-
$.when
|
40
|
-
|
46
|
+
$.when(datePickerDeferred, timePickerDeferred).done =>
|
47
|
+
@_initMoment()
|
48
|
+
@namespacedTrigger 'ready'
|
41
49
|
|
42
50
|
_initMoment: ->
|
43
51
|
m = moment @field.val(), @valueFormat
|
@@ -47,6 +55,8 @@ class Tao.Form.DatetimePicker extends TaoComponent
|
|
47
55
|
@timePicker.setMoment m.format(@timeValueFormat)
|
48
56
|
@moment = m
|
49
57
|
else
|
58
|
+
@datePicker.setMoment ''
|
59
|
+
@timePicker.setMoment ''
|
50
60
|
@moment = null
|
51
61
|
|
52
62
|
_syncMoment: ->
|