tao_form 0.2.3 → 1.0.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/tao_form/components/select/multiple_result_component.rb +4 -6
- data/lib/tao_form/components/select/result_component.rb +4 -6
- data/lib/tao_form/components/select_component.rb +3 -7
- data/lib/tao_form/inputs/collection_select_input.rb +3 -1
- data/lib/tao_form/version.rb +1 -1
- data/lib/views/components/tao_form/components/select/_list.html.erb +1 -16
- data/lib/views/components/tao_form/components/select/_list_content.html.erb +16 -0
- data/lib/views/components/tao_form/components/select/_multiple_result.html.erb +1 -1
- metadata +12 -201
- data/lib/assets/icons/arrow_down.svg +0 -3
- data/lib/assets/icons/arrow_left.svg +0 -3
- data/lib/assets/icons/arrow_right.svg +0 -3
- data/lib/assets/icons/calendar.svg +0 -3
- data/lib/assets/icons/check.svg +0 -3
- data/lib/assets/icons/clock.svg +0 -3
- data/lib/assets/icons/search.svg +0 -3
- data/lib/assets/icons/success.svg +0 -3
- data/lib/assets/javascripts/tao/form/element.coffee +0 -16
- data/lib/assets/javascripts/tao/form/fields/checkbox.coffee +0 -15
- data/lib/assets/javascripts/tao/form/fields/index.coffee +0 -10
- data/lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee +0 -38
- data/lib/assets/javascripts/tao/form/fields/moment_picker/index.coffee +0 -7
- data/lib/assets/javascripts/tao/form/fields/moment_picker/result.coffee +0 -25
- data/lib/assets/javascripts/tao/form/fields/moment_picker/segment_list.coffee +0 -14
- data/lib/assets/javascripts/tao/form/fields/radio.coffee +0 -14
- data/lib/assets/javascripts/tao/form/fields/select/element.coffee +0 -79
- data/lib/assets/javascripts/tao/form/fields/select/index.coffee +0 -8
- data/lib/assets/javascripts/tao/form/fields/select/list.coffee +0 -103
- data/lib/assets/javascripts/tao/form/fields/select/multiple_result.coffee +0 -41
- data/lib/assets/javascripts/tao/form/fields/select/result.coffee +0 -39
- data/lib/assets/javascripts/tao/form/fields/switch.coffee +0 -14
- data/lib/assets/javascripts/tao/form/index.coffee +0 -11
- data/lib/assets/javascripts/tao/form/mobile/element.coffee +0 -5
- data/lib/assets/javascripts/tao/form/mobile/fields/checkbox.coffee +0 -5
- data/lib/assets/javascripts/tao/form/mobile/fields/index.coffee +0 -10
- data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/element.coffee +0 -40
- data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/index.coffee +0 -7
- data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/result.coffee +0 -5
- data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/segment_list.coffee +0 -24
- data/lib/assets/javascripts/tao/form/mobile/fields/radio.coffee +0 -5
- data/lib/assets/javascripts/tao/form/mobile/fields/select/element.coffee +0 -74
- data/lib/assets/javascripts/tao/form/mobile/fields/select/index.coffee +0 -8
- data/lib/assets/javascripts/tao/form/mobile/fields/select/list.coffee +0 -5
- data/lib/assets/javascripts/tao/form/mobile/fields/select/multiple_result.coffee +0 -5
- data/lib/assets/javascripts/tao/form/mobile/fields/select/result.coffee +0 -5
- data/lib/assets/javascripts/tao/form/mobile/fields/switch.coffee +0 -5
- data/lib/assets/javascripts/tao/form/mobile/index.coffee +0 -11
- data/lib/assets/javascripts/tao/form/shared/element/base.coffee +0 -53
- data/lib/assets/javascripts/tao/form/shared/fields/checkbox.coffee +0 -31
- data/lib/assets/javascripts/tao/form/shared/fields/date_picker.coffee +0 -10
- data/lib/assets/javascripts/tao/form/shared/fields/date_range_picker.coffee +0 -75
- data/lib/assets/javascripts/tao/form/shared/fields/datetime_picker.coffee +0 -78
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/element/base.coffee +0 -70
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/result/base.coffee +0 -39
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segment_list/base.coffee +0 -88
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/base.coffee +0 -30
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/date_segment.coffee +0 -107
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/hour_segment.coffee +0 -28
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/index.coffee +0 -1
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/minute_segment.coffee +0 -28
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/month_segment.coffee +0 -46
- data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/year_segment.coffee +0 -57
- data/lib/assets/javascripts/tao/form/shared/fields/month_picker.coffee +0 -10
- data/lib/assets/javascripts/tao/form/shared/fields/radio.coffee +0 -23
- data/lib/assets/javascripts/tao/form/shared/fields/select/element/base.coffee +0 -132
- data/lib/assets/javascripts/tao/form/shared/fields/select/list/base.coffee +0 -97
- data/lib/assets/javascripts/tao/form/shared/fields/select/models/data_provider.coffee +0 -76
- data/lib/assets/javascripts/tao/form/shared/fields/select/models/index.coffee +0 -2
- data/lib/assets/javascripts/tao/form/shared/fields/select/models/option.coffee +0 -37
- data/lib/assets/javascripts/tao/form/shared/fields/select/multiple_result/base.coffee +0 -90
- data/lib/assets/javascripts/tao/form/shared/fields/select/result/base.coffee +0 -57
- data/lib/assets/javascripts/tao/form/shared/fields/switch.coffee +0 -23
- data/lib/assets/javascripts/tao/form/shared/fields/time_picker.coffee +0 -10
- data/lib/assets/javascripts/tao/form/shared/init.coffee +0 -23
- data/lib/assets/javascripts/tao/form/shared/mixins/checkable.coffee +0 -11
- data/lib/assets/javascripts/tao/ui/icons/form.coffee +0 -11
- data/lib/assets/stylesheets/tao/form/_globals.scss +0 -3
- data/lib/assets/stylesheets/tao/form/_mixins.scss +0 -28
- data/lib/assets/stylesheets/tao/form/_variables.scss +0 -3
- data/lib/assets/stylesheets/tao/form/fields/checkbox.scss +0 -36
- data/lib/assets/stylesheets/tao/form/fields/date_range_picker.scss +0 -20
- data/lib/assets/stylesheets/tao/form/fields/datetime_picker.scss +0 -22
- data/lib/assets/stylesheets/tao/form/fields/index.scss +0 -7
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/index.scss +0 -10
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/result.scss +0 -61
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segment_list.scss +0 -53
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/date_segment.scss +0 -17
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/hour_segment.scss +0 -15
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/minute_segment.scss +0 -17
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/month_segment.scss +0 -15
- data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/year_segment.scss +0 -15
- data/lib/assets/stylesheets/tao/form/fields/radio.scss +0 -33
- data/lib/assets/stylesheets/tao/form/fields/select/index.scss +0 -14
- data/lib/assets/stylesheets/tao/form/fields/select/list.scss +0 -55
- data/lib/assets/stylesheets/tao/form/fields/select/multiple_result.scss +0 -76
- data/lib/assets/stylesheets/tao/form/fields/select/result.scss +0 -101
- data/lib/assets/stylesheets/tao/form/fields/switch.scss +0 -14
- data/lib/assets/stylesheets/tao/form/index.scss +0 -5
- data/lib/assets/stylesheets/tao/form/inputs/boolean.scss +0 -8
- data/lib/assets/stylesheets/tao/form/inputs/group.scss +0 -2
- data/lib/assets/stylesheets/tao/form/inputs/index.scss +0 -1
- data/lib/assets/stylesheets/tao/form/inputs/text.scss +0 -2
- data/lib/assets/stylesheets/tao/form/layouts/default.scss +0 -146
- data/lib/assets/stylesheets/tao/form/layouts/index.scss +0 -2
- data/lib/assets/stylesheets/tao/form/layouts/narrow.scss +0 -35
- data/lib/assets/stylesheets/tao/form/mobile/_globals.scss +0 -3
- data/lib/assets/stylesheets/tao/form/mobile/_mixins.scss +0 -22
- data/lib/assets/stylesheets/tao/form/mobile/_variables.scss +0 -3
- data/lib/assets/stylesheets/tao/form/mobile/fields/checkbox.scss +0 -2
- data/lib/assets/stylesheets/tao/form/mobile/fields/date_range_picker.scss +0 -18
- data/lib/assets/stylesheets/tao/form/mobile/fields/datetime_picker.scss +0 -18
- data/lib/assets/stylesheets/tao/form/mobile/fields/index.scss +0 -1
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/index.scss +0 -9
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/result.scss +0 -19
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segment_list.scss +0 -52
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/date_segment.scss +0 -14
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/hour_segment.scss +0 -14
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/minute_segment.scss +0 -14
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/month_segment.scss +0 -14
- data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/year_segment.scss +0 -14
- data/lib/assets/stylesheets/tao/form/mobile/fields/radio.scss +0 -2
- data/lib/assets/stylesheets/tao/form/mobile/fields/select/index.scss +0 -80
- data/lib/assets/stylesheets/tao/form/mobile/fields/select/list.scss +0 -10
- data/lib/assets/stylesheets/tao/form/mobile/fields/select/multiple_result.scss +0 -12
- data/lib/assets/stylesheets/tao/form/mobile/fields/select/result.scss +0 -28
- data/lib/assets/stylesheets/tao/form/mobile/fields/switch.scss +0 -2
- data/lib/assets/stylesheets/tao/form/mobile/index.scss +0 -5
- data/lib/assets/stylesheets/tao/form/mobile/inputs/boolean.scss +0 -7
- data/lib/assets/stylesheets/tao/form/mobile/inputs/group.scss +0 -6
- data/lib/assets/stylesheets/tao/form/mobile/inputs/index.scss +0 -1
- data/lib/assets/stylesheets/tao/form/mobile/inputs/text.scss +0 -18
- data/lib/assets/stylesheets/tao/form/mobile/layout.scss +0 -137
- data/lib/assets/stylesheets/tao/form/mobile/reset.scss +0 -29
- data/lib/assets/stylesheets/tao/form/mobile/variables/_base.scss +0 -12
- data/lib/assets/stylesheets/tao/form/mobile/variables/_moment_picker.scss +0 -9
- data/lib/assets/stylesheets/tao/form/mobile/variables/_select.scss +0 -9
- data/lib/assets/stylesheets/tao/form/reset.scss +0 -31
- data/lib/assets/stylesheets/tao/form/shared/fields/_checkbox.scss +0 -61
- data/lib/assets/stylesheets/tao/form/shared/fields/_radio.scss +0 -53
- data/lib/assets/stylesheets/tao/form/shared/fields/_switch.scss +0 -56
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/_result.scss +0 -46
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/_segment_list.scss +0 -93
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_date_segment.scss +0 -56
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_hour_segment.scss +0 -35
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_minute_segment.scss +0 -23
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_month_segment.scss +0 -27
- data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_year_segment.scss +0 -27
- data/lib/assets/stylesheets/tao/form/shared/fields/select/_list.scss +0 -140
- data/lib/assets/stylesheets/tao/form/shared/fields/select/_multiple_result.scss +0 -50
- data/lib/assets/stylesheets/tao/form/shared/inputs/_boolean.scss +0 -5
- data/lib/assets/stylesheets/tao/form/shared/inputs/_group.scss +0 -25
- data/lib/assets/stylesheets/tao/form/shared/inputs/_text.scss +0 -35
- data/lib/assets/stylesheets/tao/form/variables/_base.scss +0 -15
- data/lib/assets/stylesheets/tao/form/variables/_moment_picker.scss +0 -9
- data/lib/assets/stylesheets/tao/form/variables/_select.scss +0 -10
- data/vendor/assets/javascripts/moment.js +0 -4463
- data/vendor/assets/javascripts/moment/zh-cn.js +0 -112
@@ -1,70 +0,0 @@
|
|
1
|
-
class Tao.Form.MomentPicker.ElementBase extends TaoComponent
|
2
|
-
|
3
|
-
@attribute 'valueFormat', 'displayFormat'
|
4
|
-
|
5
|
-
@attribute 'active', 'disabled', type: 'boolean', observe: true
|
6
|
-
|
7
|
-
@get 'value', ->
|
8
|
-
@field?.val()
|
9
|
-
|
10
|
-
@set 'value', (val) ->
|
11
|
-
@setMoment val
|
12
|
-
|
13
|
-
_connected: ->
|
14
|
-
[@result, @segmentList] = @findComponent(
|
15
|
-
'.tao-moment-picker-result',
|
16
|
-
'.tao-moment-picker-segment-list',
|
17
|
-
@_childComponentsReady.bind(@)
|
18
|
-
)
|
19
|
-
@_bind()
|
20
|
-
|
21
|
-
_disconnected: ->
|
22
|
-
@off()
|
23
|
-
|
24
|
-
_bind: ->
|
25
|
-
@on 'tao:activeClick', '.tao-moment-picker-result', (e) =>
|
26
|
-
return if @disabled
|
27
|
-
@_toggleActive()
|
28
|
-
null
|
29
|
-
|
30
|
-
@on 'tao:clear', '.tao-moment-picker-result', (e) =>
|
31
|
-
return if @disabled
|
32
|
-
@active = false
|
33
|
-
@setMoment null
|
34
|
-
@namespacedTrigger 'change', [@moment]
|
35
|
-
null
|
36
|
-
|
37
|
-
@on 'tao:select', '.tao-moment-picker-segment-list', (e, m) =>
|
38
|
-
@active = false
|
39
|
-
@setMoment m
|
40
|
-
@namespacedTrigger 'change', [@moment]
|
41
|
-
null
|
42
|
-
|
43
|
-
_childComponentsReady: ->
|
44
|
-
@field = @result.field
|
45
|
-
@result.format = @displayFormat
|
46
|
-
@setMoment @field.val()
|
47
|
-
@namespacedTrigger 'ready'
|
48
|
-
|
49
|
-
_toggleActive: ->
|
50
|
-
@active = !@active
|
51
|
-
|
52
|
-
setMoment: (m) ->
|
53
|
-
m = moment(m, @valueFormat) unless moment.isMoment(m)
|
54
|
-
if m && m.isValid()
|
55
|
-
@result.setMoment m
|
56
|
-
@field.val m.format(@valueFormat)
|
57
|
-
@moment = m
|
58
|
-
else
|
59
|
-
@result.setMoment null
|
60
|
-
@field.val ''
|
61
|
-
@moment = null
|
62
|
-
@moment
|
63
|
-
|
64
|
-
disableBefore: (m) ->
|
65
|
-
@segmentList.segments.forEach (segment) ->
|
66
|
-
segment.disableBefore = m
|
67
|
-
|
68
|
-
disableAfter: (m) ->
|
69
|
-
@segmentList.segments.forEach (segment) ->
|
70
|
-
segment.disableAfter = m
|
@@ -1,39 +0,0 @@
|
|
1
|
-
|
2
|
-
class Tao.Form.MomentPicker.ResultBase extends TaoComponent
|
3
|
-
|
4
|
-
@tag 'tao-moment-picker-result'
|
5
|
-
|
6
|
-
@attribute 'selected', type: 'boolean'
|
7
|
-
|
8
|
-
@attribute 'disabled', type: 'boolean', observe: true
|
9
|
-
|
10
|
-
@attribute 'format'
|
11
|
-
|
12
|
-
_connected: ->
|
13
|
-
@field = @jq.find '> input'
|
14
|
-
@_bind()
|
15
|
-
|
16
|
-
_disconnected: ->
|
17
|
-
@off()
|
18
|
-
|
19
|
-
_bind: ->
|
20
|
-
@on 'click', 'input', =>
|
21
|
-
@namespacedTrigger 'activeClick'
|
22
|
-
false
|
23
|
-
|
24
|
-
@on 'click', (e) =>
|
25
|
-
return if @disabled
|
26
|
-
@namespacedTrigger 'activeClick'
|
27
|
-
|
28
|
-
clear: ->
|
29
|
-
@moment = null
|
30
|
-
@selected = false
|
31
|
-
@jq.find('.result-text').text ''
|
32
|
-
|
33
|
-
setMoment: (m) ->
|
34
|
-
unless m && moment.isMoment(m)
|
35
|
-
@clear()
|
36
|
-
return
|
37
|
-
@moment = m
|
38
|
-
@selected = true
|
39
|
-
@jq.find('.result-text').text m.format(@format)
|
@@ -1,88 +0,0 @@
|
|
1
|
-
|
2
|
-
class Tao.Form.MomentPicker.SegmentListBase extends TaoComponent
|
3
|
-
|
4
|
-
@tag 'tao-moment-picker-segment-list'
|
5
|
-
|
6
|
-
@attribute 'defaultSegment'
|
7
|
-
|
8
|
-
_connected: ->
|
9
|
-
@segments = @jq.find('.tao-moment-picker-segment').get()
|
10
|
-
@momentData = null
|
11
|
-
|
12
|
-
@_bind()
|
13
|
-
|
14
|
-
_disconnected: ->
|
15
|
-
@off()
|
16
|
-
|
17
|
-
_bind: ->
|
18
|
-
@on 'click', '.segment-label', (e) =>
|
19
|
-
segment = $(e.currentTarget).data('segment')
|
20
|
-
@_setActiveSegment segment
|
21
|
-
null
|
22
|
-
|
23
|
-
@on 'tao:dataSelect', '.tao-moment-picker-segment', (e, momentData) =>
|
24
|
-
@_setMomentData momentData
|
25
|
-
@_activateNextSegment()
|
26
|
-
|
27
|
-
@on 'tao:dataRefresh', '.tao-moment-picker-segment', (e, momentData) =>
|
28
|
-
@_setMomentData momentData
|
29
|
-
|
30
|
-
setMoment: (m) ->
|
31
|
-
m = null unless m && moment.isMoment(m)
|
32
|
-
momentData = {}
|
33
|
-
|
34
|
-
@segments.forEach (segment) ->
|
35
|
-
momentData[segment.segmentName] = if m
|
36
|
-
m[segment.segmentName]()
|
37
|
-
else
|
38
|
-
null
|
39
|
-
|
40
|
-
@_setActiveSegment @defaultSegment
|
41
|
-
@_setMomentData momentData
|
42
|
-
m
|
43
|
-
|
44
|
-
_findSegmentLabel: (segment) ->
|
45
|
-
segment = @_findSegment(segment) if typeof segment == 'string'
|
46
|
-
@jq.find(".segment-label[data-segment='#{segment.segmentName}']")
|
47
|
-
|
48
|
-
_findSegment: (segmentName) ->
|
49
|
-
if segmentName instanceof Tao.Form.MomentPicker.SegmentBase
|
50
|
-
return segmentName
|
51
|
-
_.find @segments, (segment) -> segment.segmentName == segmentName
|
52
|
-
|
53
|
-
_setMomentData: (momentData) ->
|
54
|
-
for segment in @segments
|
55
|
-
break if segment.setMomentData(_.clone(momentData)) == false
|
56
|
-
$label = @_findSegmentLabel(segment)
|
57
|
-
if !_.isNil segment.value()
|
58
|
-
$label.addClass 'selected'
|
59
|
-
.find('.value').text segment.label()
|
60
|
-
else
|
61
|
-
$label.removeClass 'selected'
|
62
|
-
.find('.value').text ''
|
63
|
-
|
64
|
-
@momentData = momentData
|
65
|
-
|
66
|
-
_setActiveSegment: (segment) ->
|
67
|
-
segment = @_findSegment(segment) if typeof segment == 'string'
|
68
|
-
return if segment == @activeSegment
|
69
|
-
|
70
|
-
if @activeSegment
|
71
|
-
@_findSegmentLabel(@activeSegment).removeClass 'active'
|
72
|
-
@activeSegment.active = false
|
73
|
-
|
74
|
-
@_findSegmentLabel(segment).addClass 'active'
|
75
|
-
segment.active = true
|
76
|
-
@activeSegment = segment
|
77
|
-
|
78
|
-
_activateNextSegment: ->
|
79
|
-
segment = _.find @segments, (s) => _.isNil @momentData[s.segmentName]
|
80
|
-
if segment
|
81
|
-
@_setActiveSegment segment
|
82
|
-
else if @activeSegment
|
83
|
-
if ($segment = @activeSegment.jq.next('.tao-moment-picker-segment')).length > 0
|
84
|
-
@_setActiveSegment $segment.get(0)
|
85
|
-
else
|
86
|
-
@namespacedTrigger 'select', [moment @momentData]
|
87
|
-
else
|
88
|
-
@_setActiveSegment @segments[0]
|
@@ -1,30 +0,0 @@
|
|
1
|
-
|
2
|
-
class Tao.Form.MomentPicker.SegmentBase extends TaoComponent
|
3
|
-
|
4
|
-
@attribute 'labelFormat'
|
5
|
-
|
6
|
-
@attribute 'active', type: 'boolean'
|
7
|
-
|
8
|
-
@attribute 'disableBefore', 'disableAfter', type: 'moment', observe: true
|
9
|
-
|
10
|
-
segmentName: ''
|
11
|
-
|
12
|
-
_connected: ->
|
13
|
-
@momentData = {}
|
14
|
-
@_bind()
|
15
|
-
|
16
|
-
_disconnected: ->
|
17
|
-
@off()
|
18
|
-
|
19
|
-
_bind: ->
|
20
|
-
|
21
|
-
setMomentData: (momentData) ->
|
22
|
-
@momentData = momentData
|
23
|
-
|
24
|
-
value: ->
|
25
|
-
@momentData[@segmentName]
|
26
|
-
|
27
|
-
label: ->
|
28
|
-
format = @labelFormat || "{{ #{@segmentName} }}"
|
29
|
-
compiled = _.template(format, interpolate: /{{([\s\S]+?)}}/g)
|
30
|
-
compiled @momentData
|
data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/date_segment.coffee
DELETED
@@ -1,107 +0,0 @@
|
|
1
|
-
#= require ./base
|
2
|
-
|
3
|
-
MomentPicker = Tao.Form.MomentPicker
|
4
|
-
|
5
|
-
class MomentPicker.DateSegment extends MomentPicker.SegmentBase
|
6
|
-
|
7
|
-
@tag 'tao-moment-picker-date-segment'
|
8
|
-
|
9
|
-
segmentName: 'date'
|
10
|
-
|
11
|
-
dateFormat: 'YYYY-MM-DD'
|
12
|
-
|
13
|
-
_init: ->
|
14
|
-
super
|
15
|
-
@_renderWeekdays()
|
16
|
-
|
17
|
-
_connected: ->
|
18
|
-
super
|
19
|
-
@momentData = {}
|
20
|
-
|
21
|
-
_bind: ->
|
22
|
-
@on 'click', '.day', (e) =>
|
23
|
-
$day = $ e.currentTarget
|
24
|
-
return if $day.hasClass('disabled')
|
25
|
-
date = moment $day.data('date'), @dateFormat
|
26
|
-
momentData = _.clone @momentData
|
27
|
-
momentData.year = date.year()
|
28
|
-
momentData.month = date.month()
|
29
|
-
momentData.date = date.date()
|
30
|
-
@namespacedTrigger 'dataSelect', [momentData]
|
31
|
-
|
32
|
-
@on 'click', '.link-prev-month, .link-next-month', (e) =>
|
33
|
-
month = if $(e.currentTarget).is('.link-prev-month')
|
34
|
-
moment(@momentData).subtract(1, 'month')
|
35
|
-
else
|
36
|
-
moment(@momentData).add(1, 'month')
|
37
|
-
|
38
|
-
momentData = _.clone @momentData
|
39
|
-
momentData.year = month.year()
|
40
|
-
momentData.month = month.month()
|
41
|
-
momentData.date = null
|
42
|
-
@namespacedTrigger 'dataRefresh', [momentData]
|
43
|
-
|
44
|
-
setMomentData: (momentData) ->
|
45
|
-
if @active && (_.isNil(momentData['year']) || _.isNil(momentData['month']))
|
46
|
-
now = moment()
|
47
|
-
momentData.year = now.year()
|
48
|
-
momentData.month = now.month()
|
49
|
-
momentData.date = null
|
50
|
-
@namespacedTrigger 'dataRefresh', [momentData]
|
51
|
-
return false
|
52
|
-
else if @momentData && momentData &&
|
53
|
-
momentData['year'] == @momentData['year'] &&
|
54
|
-
momentData['month'] == @momentData['month']
|
55
|
-
@_renderDate momentData
|
56
|
-
else
|
57
|
-
@_renderCalendar momentData
|
58
|
-
|
59
|
-
super
|
60
|
-
|
61
|
-
_renderDate: (momentData = @momentData) ->
|
62
|
-
@jq.find('.day.selected').removeClass('selected')
|
63
|
-
|
64
|
-
date = moment(momentData)
|
65
|
-
return if _.isNil(momentData[@segmentName]) || !date.isValid()
|
66
|
-
@jq.find(".day[data-date='#{date.format(@dateFormat)}']")
|
67
|
-
.addClass('selected')
|
68
|
-
|
69
|
-
_renderCalendar: (momentData = @momentData) ->
|
70
|
-
$days = @jq.find('.days').empty()
|
71
|
-
date = moment(momentData).startOf('day')
|
72
|
-
startDate = date.clone().startOf('month').startOf('week')
|
73
|
-
endDate = date.clone().endOf('month').endOf('week')
|
74
|
-
while startDate.isSameOrBefore(endDate)
|
75
|
-
$day = $ '<a>',
|
76
|
-
href: 'javascript:;'
|
77
|
-
class: 'day'
|
78
|
-
'data-date': startDate.format(@dateFormat)
|
79
|
-
text: startDate.format('D')
|
80
|
-
|
81
|
-
$day.addClass('outside') unless startDate.month() == date.month()
|
82
|
-
$day.addClass('today') if startDate.isSame(moment().startOf('day'))
|
83
|
-
if startDate.date() == momentData['date'] &&
|
84
|
-
startDate.month() == momentData['month']
|
85
|
-
$day.addClass('selected')
|
86
|
-
if (@disableBefore && startDate.isSameOrBefore(@disableBefore)) ||
|
87
|
-
(@disableAfter && startDate.isSameOrAfter(@disableAfter))
|
88
|
-
$day.addClass('disabled')
|
89
|
-
|
90
|
-
weekdays = ['sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat']
|
91
|
-
$day.addClass weekdays[startDate.day()]
|
92
|
-
.appendTo $days
|
93
|
-
startDate.add 1, 'days'
|
94
|
-
|
95
|
-
_renderWeekdays: ->
|
96
|
-
$head = @jq.find('.weekdays').empty()
|
97
|
-
$.each moment.weekdaysMin(true), (i, weekdayName) ->
|
98
|
-
$('<span>', class: 'weekday', text: weekdayName)
|
99
|
-
.appendTo $head
|
100
|
-
|
101
|
-
_disableBeforeChanged: ->
|
102
|
-
@_renderCalendar()
|
103
|
-
|
104
|
-
_disableAfterChanged: ->
|
105
|
-
@_renderCalendar()
|
106
|
-
|
107
|
-
TaoComponent.register MomentPicker.DateSegment
|
data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/hour_segment.coffee
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
#= require ./base
|
2
|
-
|
3
|
-
MomentPicker = Tao.Form.MomentPicker
|
4
|
-
|
5
|
-
class MomentPicker.HourSegment extends MomentPicker.SegmentBase
|
6
|
-
|
7
|
-
@tag 'tao-moment-picker-hour-segment'
|
8
|
-
|
9
|
-
segmentName: 'hour'
|
10
|
-
|
11
|
-
_bind: ->
|
12
|
-
@on 'click', '.hour', (e) =>
|
13
|
-
$hour = $ e.currentTarget
|
14
|
-
momentData = _.clone @momentData
|
15
|
-
momentData.hour = $hour.data 'hour'
|
16
|
-
@namespacedTrigger 'dataSelect', [momentData]
|
17
|
-
|
18
|
-
setMomentData: (momentData) ->
|
19
|
-
super
|
20
|
-
@_render()
|
21
|
-
@momentData
|
22
|
-
|
23
|
-
_render: ->
|
24
|
-
@jq.find('.hour.selected').removeClass 'selected'
|
25
|
-
unless _.isNil @value()
|
26
|
-
@jq.find(".hour[data-hour='#{@value()}']").addClass 'selected'
|
27
|
-
|
28
|
-
TaoComponent.register MomentPicker.HourSegment
|
@@ -1 +0,0 @@
|
|
1
|
-
#= require_tree ./
|
data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/minute_segment.coffee
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
#= require ./base
|
2
|
-
|
3
|
-
MomentPicker = Tao.Form.MomentPicker
|
4
|
-
|
5
|
-
class MomentPicker.MinuteSegment extends MomentPicker.SegmentBase
|
6
|
-
|
7
|
-
@tag 'tao-moment-picker-minute-segment'
|
8
|
-
|
9
|
-
segmentName: 'minute'
|
10
|
-
|
11
|
-
_bind: ->
|
12
|
-
@on 'click', '.minute', (e) =>
|
13
|
-
$minute = $ e.currentTarget
|
14
|
-
momentData = _.clone @momentData
|
15
|
-
momentData.minute = $minute.data 'minute'
|
16
|
-
@namespacedTrigger 'dataSelect', [momentData]
|
17
|
-
|
18
|
-
setMomentData: (momentData) ->
|
19
|
-
super
|
20
|
-
@_render()
|
21
|
-
@momentData
|
22
|
-
|
23
|
-
_render: ->
|
24
|
-
@jq.find('.minute.selected').removeClass 'selected'
|
25
|
-
unless _.isNil @value()
|
26
|
-
@jq.find(".minute[data-minute='#{@value()}']").addClass 'selected'
|
27
|
-
|
28
|
-
TaoComponent.register MomentPicker.MinuteSegment
|
data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/month_segment.coffee
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
#= require ./base
|
2
|
-
|
3
|
-
MomentPicker = Tao.Form.MomentPicker
|
4
|
-
|
5
|
-
class MomentPicker.MonthSegment extends MomentPicker.SegmentBase
|
6
|
-
|
7
|
-
@tag 'tao-moment-picker-month-segment'
|
8
|
-
|
9
|
-
segmentName: 'month'
|
10
|
-
|
11
|
-
_bind: ->
|
12
|
-
@on 'click', '.month', (e) =>
|
13
|
-
$month = $ e.currentTarget
|
14
|
-
momentData = _.clone @momentData
|
15
|
-
momentData.month = $month.data 'month'
|
16
|
-
momentData.date = null
|
17
|
-
@namespacedTrigger 'dataSelect', [momentData]
|
18
|
-
|
19
|
-
@on 'click', '.link-prev-year, .link-next-year', (e) =>
|
20
|
-
momentData = _.clone @momentData
|
21
|
-
if $(e.currentTarget).is('.link-prev-year')
|
22
|
-
momentData['year'] -= 1
|
23
|
-
else
|
24
|
-
momentData['year'] += 1
|
25
|
-
momentData.date = null
|
26
|
-
@namespacedTrigger 'dataRefresh', [momentData]
|
27
|
-
|
28
|
-
setMomentData: (momentData) ->
|
29
|
-
super
|
30
|
-
@_render()
|
31
|
-
@momentData
|
32
|
-
|
33
|
-
_render: ->
|
34
|
-
@jq.find('.month.selected').removeClass 'selected'
|
35
|
-
@jq.find('.month.current').removeClass 'current'
|
36
|
-
unless _.isNil @value()
|
37
|
-
@jq.find(".month[data-month='#{@value()}']").addClass 'selected'
|
38
|
-
|
39
|
-
now = moment()
|
40
|
-
if @momentData['year'] == now.year()
|
41
|
-
@jq.find(".month[data-month='#{now.month()}']").addClass 'current'
|
42
|
-
|
43
|
-
label: ->
|
44
|
-
moment.monthsShort()[@value() * 1]
|
45
|
-
|
46
|
-
TaoComponent.register MomentPicker.MonthSegment
|