tao_form 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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