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.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tao_form/components/select/multiple_result_component.rb +4 -6
  3. data/lib/tao_form/components/select/result_component.rb +4 -6
  4. data/lib/tao_form/components/select_component.rb +3 -7
  5. data/lib/tao_form/inputs/collection_select_input.rb +3 -1
  6. data/lib/tao_form/version.rb +1 -1
  7. data/lib/views/components/tao_form/components/select/_list.html.erb +1 -16
  8. data/lib/views/components/tao_form/components/select/_list_content.html.erb +16 -0
  9. data/lib/views/components/tao_form/components/select/_multiple_result.html.erb +1 -1
  10. metadata +12 -201
  11. data/lib/assets/icons/arrow_down.svg +0 -3
  12. data/lib/assets/icons/arrow_left.svg +0 -3
  13. data/lib/assets/icons/arrow_right.svg +0 -3
  14. data/lib/assets/icons/calendar.svg +0 -3
  15. data/lib/assets/icons/check.svg +0 -3
  16. data/lib/assets/icons/clock.svg +0 -3
  17. data/lib/assets/icons/search.svg +0 -3
  18. data/lib/assets/icons/success.svg +0 -3
  19. data/lib/assets/javascripts/tao/form/element.coffee +0 -16
  20. data/lib/assets/javascripts/tao/form/fields/checkbox.coffee +0 -15
  21. data/lib/assets/javascripts/tao/form/fields/index.coffee +0 -10
  22. data/lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee +0 -38
  23. data/lib/assets/javascripts/tao/form/fields/moment_picker/index.coffee +0 -7
  24. data/lib/assets/javascripts/tao/form/fields/moment_picker/result.coffee +0 -25
  25. data/lib/assets/javascripts/tao/form/fields/moment_picker/segment_list.coffee +0 -14
  26. data/lib/assets/javascripts/tao/form/fields/radio.coffee +0 -14
  27. data/lib/assets/javascripts/tao/form/fields/select/element.coffee +0 -79
  28. data/lib/assets/javascripts/tao/form/fields/select/index.coffee +0 -8
  29. data/lib/assets/javascripts/tao/form/fields/select/list.coffee +0 -103
  30. data/lib/assets/javascripts/tao/form/fields/select/multiple_result.coffee +0 -41
  31. data/lib/assets/javascripts/tao/form/fields/select/result.coffee +0 -39
  32. data/lib/assets/javascripts/tao/form/fields/switch.coffee +0 -14
  33. data/lib/assets/javascripts/tao/form/index.coffee +0 -11
  34. data/lib/assets/javascripts/tao/form/mobile/element.coffee +0 -5
  35. data/lib/assets/javascripts/tao/form/mobile/fields/checkbox.coffee +0 -5
  36. data/lib/assets/javascripts/tao/form/mobile/fields/index.coffee +0 -10
  37. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/element.coffee +0 -40
  38. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/index.coffee +0 -7
  39. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/result.coffee +0 -5
  40. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/segment_list.coffee +0 -24
  41. data/lib/assets/javascripts/tao/form/mobile/fields/radio.coffee +0 -5
  42. data/lib/assets/javascripts/tao/form/mobile/fields/select/element.coffee +0 -74
  43. data/lib/assets/javascripts/tao/form/mobile/fields/select/index.coffee +0 -8
  44. data/lib/assets/javascripts/tao/form/mobile/fields/select/list.coffee +0 -5
  45. data/lib/assets/javascripts/tao/form/mobile/fields/select/multiple_result.coffee +0 -5
  46. data/lib/assets/javascripts/tao/form/mobile/fields/select/result.coffee +0 -5
  47. data/lib/assets/javascripts/tao/form/mobile/fields/switch.coffee +0 -5
  48. data/lib/assets/javascripts/tao/form/mobile/index.coffee +0 -11
  49. data/lib/assets/javascripts/tao/form/shared/element/base.coffee +0 -53
  50. data/lib/assets/javascripts/tao/form/shared/fields/checkbox.coffee +0 -31
  51. data/lib/assets/javascripts/tao/form/shared/fields/date_picker.coffee +0 -10
  52. data/lib/assets/javascripts/tao/form/shared/fields/date_range_picker.coffee +0 -75
  53. data/lib/assets/javascripts/tao/form/shared/fields/datetime_picker.coffee +0 -78
  54. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/element/base.coffee +0 -70
  55. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/result/base.coffee +0 -39
  56. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segment_list/base.coffee +0 -88
  57. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/base.coffee +0 -30
  58. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/date_segment.coffee +0 -107
  59. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/hour_segment.coffee +0 -28
  60. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/index.coffee +0 -1
  61. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/minute_segment.coffee +0 -28
  62. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/month_segment.coffee +0 -46
  63. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/year_segment.coffee +0 -57
  64. data/lib/assets/javascripts/tao/form/shared/fields/month_picker.coffee +0 -10
  65. data/lib/assets/javascripts/tao/form/shared/fields/radio.coffee +0 -23
  66. data/lib/assets/javascripts/tao/form/shared/fields/select/element/base.coffee +0 -132
  67. data/lib/assets/javascripts/tao/form/shared/fields/select/list/base.coffee +0 -97
  68. data/lib/assets/javascripts/tao/form/shared/fields/select/models/data_provider.coffee +0 -76
  69. data/lib/assets/javascripts/tao/form/shared/fields/select/models/index.coffee +0 -2
  70. data/lib/assets/javascripts/tao/form/shared/fields/select/models/option.coffee +0 -37
  71. data/lib/assets/javascripts/tao/form/shared/fields/select/multiple_result/base.coffee +0 -90
  72. data/lib/assets/javascripts/tao/form/shared/fields/select/result/base.coffee +0 -57
  73. data/lib/assets/javascripts/tao/form/shared/fields/switch.coffee +0 -23
  74. data/lib/assets/javascripts/tao/form/shared/fields/time_picker.coffee +0 -10
  75. data/lib/assets/javascripts/tao/form/shared/init.coffee +0 -23
  76. data/lib/assets/javascripts/tao/form/shared/mixins/checkable.coffee +0 -11
  77. data/lib/assets/javascripts/tao/ui/icons/form.coffee +0 -11
  78. data/lib/assets/stylesheets/tao/form/_globals.scss +0 -3
  79. data/lib/assets/stylesheets/tao/form/_mixins.scss +0 -28
  80. data/lib/assets/stylesheets/tao/form/_variables.scss +0 -3
  81. data/lib/assets/stylesheets/tao/form/fields/checkbox.scss +0 -36
  82. data/lib/assets/stylesheets/tao/form/fields/date_range_picker.scss +0 -20
  83. data/lib/assets/stylesheets/tao/form/fields/datetime_picker.scss +0 -22
  84. data/lib/assets/stylesheets/tao/form/fields/index.scss +0 -7
  85. data/lib/assets/stylesheets/tao/form/fields/moment_picker/index.scss +0 -10
  86. data/lib/assets/stylesheets/tao/form/fields/moment_picker/result.scss +0 -61
  87. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segment_list.scss +0 -53
  88. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/date_segment.scss +0 -17
  89. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/hour_segment.scss +0 -15
  90. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/minute_segment.scss +0 -17
  91. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/month_segment.scss +0 -15
  92. data/lib/assets/stylesheets/tao/form/fields/moment_picker/segments/year_segment.scss +0 -15
  93. data/lib/assets/stylesheets/tao/form/fields/radio.scss +0 -33
  94. data/lib/assets/stylesheets/tao/form/fields/select/index.scss +0 -14
  95. data/lib/assets/stylesheets/tao/form/fields/select/list.scss +0 -55
  96. data/lib/assets/stylesheets/tao/form/fields/select/multiple_result.scss +0 -76
  97. data/lib/assets/stylesheets/tao/form/fields/select/result.scss +0 -101
  98. data/lib/assets/stylesheets/tao/form/fields/switch.scss +0 -14
  99. data/lib/assets/stylesheets/tao/form/index.scss +0 -5
  100. data/lib/assets/stylesheets/tao/form/inputs/boolean.scss +0 -8
  101. data/lib/assets/stylesheets/tao/form/inputs/group.scss +0 -2
  102. data/lib/assets/stylesheets/tao/form/inputs/index.scss +0 -1
  103. data/lib/assets/stylesheets/tao/form/inputs/text.scss +0 -2
  104. data/lib/assets/stylesheets/tao/form/layouts/default.scss +0 -146
  105. data/lib/assets/stylesheets/tao/form/layouts/index.scss +0 -2
  106. data/lib/assets/stylesheets/tao/form/layouts/narrow.scss +0 -35
  107. data/lib/assets/stylesheets/tao/form/mobile/_globals.scss +0 -3
  108. data/lib/assets/stylesheets/tao/form/mobile/_mixins.scss +0 -22
  109. data/lib/assets/stylesheets/tao/form/mobile/_variables.scss +0 -3
  110. data/lib/assets/stylesheets/tao/form/mobile/fields/checkbox.scss +0 -2
  111. data/lib/assets/stylesheets/tao/form/mobile/fields/date_range_picker.scss +0 -18
  112. data/lib/assets/stylesheets/tao/form/mobile/fields/datetime_picker.scss +0 -18
  113. data/lib/assets/stylesheets/tao/form/mobile/fields/index.scss +0 -1
  114. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/index.scss +0 -9
  115. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/result.scss +0 -19
  116. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segment_list.scss +0 -52
  117. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/date_segment.scss +0 -14
  118. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/hour_segment.scss +0 -14
  119. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/minute_segment.scss +0 -14
  120. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/month_segment.scss +0 -14
  121. data/lib/assets/stylesheets/tao/form/mobile/fields/moment_picker/segments/year_segment.scss +0 -14
  122. data/lib/assets/stylesheets/tao/form/mobile/fields/radio.scss +0 -2
  123. data/lib/assets/stylesheets/tao/form/mobile/fields/select/index.scss +0 -80
  124. data/lib/assets/stylesheets/tao/form/mobile/fields/select/list.scss +0 -10
  125. data/lib/assets/stylesheets/tao/form/mobile/fields/select/multiple_result.scss +0 -12
  126. data/lib/assets/stylesheets/tao/form/mobile/fields/select/result.scss +0 -28
  127. data/lib/assets/stylesheets/tao/form/mobile/fields/switch.scss +0 -2
  128. data/lib/assets/stylesheets/tao/form/mobile/index.scss +0 -5
  129. data/lib/assets/stylesheets/tao/form/mobile/inputs/boolean.scss +0 -7
  130. data/lib/assets/stylesheets/tao/form/mobile/inputs/group.scss +0 -6
  131. data/lib/assets/stylesheets/tao/form/mobile/inputs/index.scss +0 -1
  132. data/lib/assets/stylesheets/tao/form/mobile/inputs/text.scss +0 -18
  133. data/lib/assets/stylesheets/tao/form/mobile/layout.scss +0 -137
  134. data/lib/assets/stylesheets/tao/form/mobile/reset.scss +0 -29
  135. data/lib/assets/stylesheets/tao/form/mobile/variables/_base.scss +0 -12
  136. data/lib/assets/stylesheets/tao/form/mobile/variables/_moment_picker.scss +0 -9
  137. data/lib/assets/stylesheets/tao/form/mobile/variables/_select.scss +0 -9
  138. data/lib/assets/stylesheets/tao/form/reset.scss +0 -31
  139. data/lib/assets/stylesheets/tao/form/shared/fields/_checkbox.scss +0 -61
  140. data/lib/assets/stylesheets/tao/form/shared/fields/_radio.scss +0 -53
  141. data/lib/assets/stylesheets/tao/form/shared/fields/_switch.scss +0 -56
  142. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/_result.scss +0 -46
  143. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/_segment_list.scss +0 -93
  144. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_date_segment.scss +0 -56
  145. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_hour_segment.scss +0 -35
  146. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_minute_segment.scss +0 -23
  147. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_month_segment.scss +0 -27
  148. data/lib/assets/stylesheets/tao/form/shared/fields/moment_picker/segments/_year_segment.scss +0 -27
  149. data/lib/assets/stylesheets/tao/form/shared/fields/select/_list.scss +0 -140
  150. data/lib/assets/stylesheets/tao/form/shared/fields/select/_multiple_result.scss +0 -50
  151. data/lib/assets/stylesheets/tao/form/shared/inputs/_boolean.scss +0 -5
  152. data/lib/assets/stylesheets/tao/form/shared/inputs/_group.scss +0 -25
  153. data/lib/assets/stylesheets/tao/form/shared/inputs/_text.scss +0 -35
  154. data/lib/assets/stylesheets/tao/form/variables/_base.scss +0 -15
  155. data/lib/assets/stylesheets/tao/form/variables/_moment_picker.scss +0 -9
  156. data/lib/assets/stylesheets/tao/form/variables/_select.scss +0 -10
  157. data/vendor/assets/javascripts/moment.js +0 -4463
  158. 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
@@ -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
@@ -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,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
@@ -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