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.
Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. data/config/initializers/simple_form.rb +1 -1
  3. data/lib/assets/javascripts/tao/form/fields/checkbox.coffee +1 -1
  4. data/lib/assets/javascripts/tao/form/fields/moment_picker/element.coffee +1 -1
  5. data/lib/assets/javascripts/tao/form/fields/moment_picker/result.coffee +1 -1
  6. data/lib/assets/javascripts/tao/form/fields/moment_picker/segment_list.coffee +1 -1
  7. data/lib/assets/javascripts/tao/form/fields/radio.coffee +1 -1
  8. data/lib/assets/javascripts/tao/form/fields/select/element.coffee +7 -7
  9. data/lib/assets/javascripts/tao/form/fields/select/list.coffee +4 -4
  10. data/lib/assets/javascripts/tao/form/fields/select/multiple_result.coffee +4 -4
  11. data/lib/assets/javascripts/tao/form/fields/select/result.coffee +5 -5
  12. data/lib/assets/javascripts/tao/form/fields/switch.coffee +1 -1
  13. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/element.coffee +2 -2
  14. data/lib/assets/javascripts/tao/form/mobile/fields/moment_picker/segment_list.coffee +1 -1
  15. data/lib/assets/javascripts/tao/form/mobile/fields/select/element.coffee +2 -2
  16. data/lib/assets/javascripts/tao/form/shared/element/base.coffee +2 -2
  17. data/lib/assets/javascripts/tao/form/shared/fields/checkbox.coffee +1 -1
  18. data/lib/assets/javascripts/tao/form/shared/fields/datetime_picker.coffee +10 -8
  19. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/element/base.coffee +6 -5
  20. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/result/base.coffee +2 -2
  21. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segment_list/base.coffee +3 -3
  22. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/date_segment.coffee +3 -3
  23. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/hour_segment.coffee +1 -1
  24. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/minute_segment.coffee +1 -1
  25. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/month_segment.coffee +2 -2
  26. data/lib/assets/javascripts/tao/form/shared/fields/moment_picker/segments/year_segment.coffee +3 -3
  27. data/lib/assets/javascripts/tao/form/shared/fields/radio.coffee +1 -1
  28. data/lib/assets/javascripts/tao/form/shared/fields/select/element/base.coffee +8 -8
  29. data/lib/assets/javascripts/tao/form/shared/fields/select/list/base.coffee +4 -4
  30. data/lib/assets/javascripts/tao/form/shared/fields/select/models/data_provider.coffee +1 -1
  31. data/lib/assets/javascripts/tao/form/shared/fields/select/multiple_result/base.coffee +3 -3
  32. data/lib/assets/javascripts/tao/form/shared/fields/select/result/base.coffee +3 -3
  33. data/lib/assets/javascripts/tao/form/shared/fields/switch.coffee +1 -1
  34. data/lib/assets/stylesheets/tao/form/fields/datetime_picker.scss +1 -1
  35. data/lib/assets/stylesheets/tao/form/fields/select/index.scss +4 -0
  36. data/lib/assets/stylesheets/tao/form/layout.scss +9 -10
  37. data/lib/assets/stylesheets/tao/form/mobile/reset.scss +0 -1
  38. data/lib/tao_form.rb +6 -2
  39. data/lib/tao_form/components/check_box_component.rb +3 -2
  40. data/lib/tao_form/components/datetime_picker_component.rb +3 -2
  41. data/lib/tao_form/components/form_component.rb +6 -0
  42. data/lib/tao_form/components/moment_picker/base.rb +3 -2
  43. data/lib/tao_form/components/moment_picker/result_component.rb +3 -2
  44. data/lib/tao_form/components/radio_button_component.rb +3 -2
  45. data/lib/tao_form/engine.rb +0 -1
  46. data/lib/tao_form/version.rb +1 -1
  47. metadata +6 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a208d7cb78377aa4d4e89e51ae73a01fe2c4e9f2
4
- data.tar.gz: f1129ce2953cea6adaec4d27b4c1f635a135be65
3
+ metadata.gz: d96005eb91438b5a448dc3f866d0a295f3ebf431
4
+ data.tar.gz: 6ca595c40e534aab13fa386bbacbde325ce7c5c7
5
5
  SHA512:
6
- metadata.gz: 149924bbdec3615cc11235400ea972a1a559703615b4e4cda2c5d9a137449a39aa0c1f2e7f753285839cd8d3ada085a5424af816596117d3112dbe2eb2a2ccde
7
- data.tar.gz: ebae15deb844d50723b7ac08499547d9c35617bc2d45b78169b91d3d0efc31e6e305d24b6fb5dacacd9b1948beb6cb9c1eb3732e4a6e2046d21ba971e8d85093
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 << "TaoForm::Inputs"
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
@@ -5,7 +5,7 @@ class Tao.Form.MomentPicker.Element extends Tao.Form.MomentPicker.ElementBase
5
5
  _bind: ->
6
6
  super
7
7
 
8
- @on 'show', 'tao-moment-picker-segment-list', (e) =>
8
+ @on 'tao:show', 'tao-moment-picker-segment-list', (e) =>
9
9
  @_positionList()
10
10
 
11
11
  _activeChanged: ->
@@ -13,7 +13,7 @@ class Tao.Form.MomentPicker.Result extends Tao.Form.MomentPicker.ResultBase
13
13
 
14
14
  @on 'click', '.link-clear', (e) =>
15
15
  return if @disabled
16
- @clear() && @trigger('clear')
16
+ @clear() && @trigger('tao:clear')
17
17
  false
18
18
 
19
19
  _disabledChanged: ->
@@ -9,6 +9,6 @@ class MomentPicker.SegmentList extends MomentPicker.SegmentListBase
9
9
  @attribute 'direction', default: 'down'
10
10
 
11
11
  _activeChanged: ->
12
- @trigger('show') if @active
12
+ @trigger('tao: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
- @trigger 'change'
11
+ @trigger 'tao:change'
12
12
  false
13
13
 
14
14
  TaoComponent.register Tao.Form.Radio
@@ -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 'selectOption', '.select-list', (e, option) =>
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
- @_reflow()
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('selectOption', [@highlightedOption]) if @highlightedOption
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
- @_reflow()
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: ->
@@ -10,7 +10,7 @@ class MomentPicker.SegmentList extends MomentPicker.SegmentListBase
10
10
  super
11
11
 
12
12
  @on 'click', '.link-clear', (e) =>
13
- @trigger 'clear'
13
+ @trigger 'tao:clear'
14
14
  null
15
15
 
16
16
  refreshHeight: ->
@@ -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 'selectOption', '.select-list', (e, option) =>
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()
@@ -14,7 +14,7 @@ class Tao.Form.CheckboxBase extends TaoComponent
14
14
  @on 'click', '.checkbox-wrapper', (e) =>
15
15
  if @field.is(':enabled')
16
16
  @_toggleChecked()
17
- @trigger 'change'
17
+ @trigger 'tao:change'
18
18
  false
19
19
 
20
20
  _disconnected: ->
@@ -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
- @datePicker = @findComponent 'tao-date-picker', =>
29
+ @on 'tao:ready', 'tao-date-picker', ->
22
30
  datePickerDeferred.resolve()
23
31
 
24
- @timePicker = @findComponent 'tao-time-picker', =>
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 'momentSelect', 'tao-moment-picker-segment-list', (e, m) =>
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 'momentSelect', [moment @momentData]
83
+ @trigger 'tao:select', [moment @momentData]
84
84
  else
85
85
  @_setActiveSegment @segments[0]
@@ -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'] &&
@@ -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
@@ -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
@@ -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
@@ -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()
@@ -12,7 +12,7 @@ class Tao.Form.RadioBase extends TaoComponent
12
12
  @on 'click', '.radio-wrapper', (e) =>
13
13
  if @field.is(':enabled')
14
14
  @_toggleChecked()
15
- @trigger 'change'
15
+ @trigger 'tao:change'
16
16
  false
17
17
 
18
18
  _disconnected: ->
@@ -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 'unselectOption', '.select-result', (e, option) =>
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 'selectOption', '.select-list', (e, option) =>
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('selectOption', [option]) if option
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
- @_reflow()
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 'unselectOption', [option]
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: ->
@@ -12,7 +12,7 @@ class Tao.Form.SwitchBase extends TaoComponent
12
12
  @on 'click', '.switch-wrapper', (e) =>
13
13
  if @field.is(':enabled')
14
14
  @_toggleChecked()
15
- @trigger 'change'
15
+ @trigger 'tao:change'
16
16
  false
17
17
 
18
18
  _disconnected: ->
@@ -2,7 +2,7 @@
2
2
 
3
3
  tao-datetime-picker {
4
4
  display: inline-flex;
5
- width: 20rem;
5
+ width: $form-field-width;
6
6
 
7
7
  & > input[type='datetime-local'] {
8
8
  display: none;
@@ -7,4 +7,8 @@ tao-select {
7
7
  display: inline-block;
8
8
  width: $form-field-width;
9
9
  position: relative;
10
+
11
+ &[multiple] {
12
+ width: auto;
13
+ }
10
14
  }
@@ -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: 1rem;
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
- &.form-without-label {
142
- .form-buttons {
143
- margin-left: 0;
144
- }
145
- }
146
-
144
+ &.form-without-label form .form-buttons {
145
+ margin-left: 0;
147
146
  }
148
147
  }
@@ -25,6 +25,5 @@ textarea {
25
25
  }
26
26
 
27
27
  select {
28
- @include text-field-style;
29
28
  appearance: none;
30
29
  }
data/lib/tao_form.rb CHANGED
@@ -1,5 +1,9 @@
1
- require 'tao_form/version'
2
- require 'tao_form/engine'
3
1
 
4
2
  module TaoForm
3
+
4
+ mattr_accessor :inputs_namespace
5
+ @@inputs_namespace = 'TaoForm::Inputs'
6
+
5
7
  end
8
+
9
+ require 'tao_form/engine'
@@ -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
@@ -19,6 +19,12 @@ module TaoForm
19
19
  :form
20
20
  end
21
21
 
22
+ private
23
+
24
+ def default_options
25
+ {defaults: {tao_form: true}}
26
+ end
27
+
22
28
  end
23
29
  end
24
30
  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
@@ -5,7 +5,6 @@ require 'tao_form/components'
5
5
 
6
6
  module TaoForm
7
7
  class Engine < Rails::Engine
8
- isolate_namespace TaoForm
9
8
 
10
9
  config.i18n.load_path += Dir[config.root.join('config', 'locales', '**', '*.{rb,yml}')]
11
10
 
@@ -1,3 +1,3 @@
1
1
  module TaoForm
2
- VERSION = '0.1.2'
2
+ VERSION = '0.1.3'
3
3
  end
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.2
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-10 00:00:00.000000000 Z
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.0
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.0
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.0
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.0
40
+ version: 0.2.3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: simple_form
43
43
  requirement: !ruby/object:Gem::Requirement