|
|
@@ -31,10 +31,12 @@ $ ->
|
31
|
31
|
form_group.addClass('has-feedback').removeClass('has-error')
|
32
|
32
|
form_group.find('span').addClass('hidden')
|
33
|
33
|
form_group.find('.glyphicon-ok').removeClass('hidden')
|
|
34
|
+ returnedResults = {}
|
34
|
35
|
error: (data) ->
|
35
|
36
|
form_group.addClass('has-feedback').addClass('has-error')
|
36
|
37
|
form_group.find('span').addClass('hidden')
|
37
|
38
|
form_group.find('.glyphicon-remove').removeClass('hidden')
|
|
39
|
+ returnedResults = {}
|
38
|
40
|
|
39
|
41
|
$("input[role=validatable], select[role=validatable]").trigger('change')
|
40
|
42
|
|
|
|
@@ -48,6 +50,11 @@ $ ->
|
48
|
50
|
$(e.currentTarget).val(e.removed.id)
|
49
|
51
|
)
|
50
|
52
|
|
|
53
|
+ updateDropdownData = (form_data, element, data) ->
|
|
54
|
+ returnedResults[form_data.attribute] = {text: 'Options', children: data}
|
|
55
|
+ $(element).trigger('change')
|
|
56
|
+ $(element).select2('open')
|
|
57
|
+
|
51
|
58
|
$("input[role~=completable]").on 'select2-open', (e) ->
|
52
|
59
|
form_data = getFormData(e.currentTarget)
|
53
|
60
|
return if returnedResults[form_data.attribute]
|
|
|
@@ -56,6 +63,6 @@ $ ->
|
56
|
63
|
type: 'POST',
|
57
|
64
|
data: form_data
|
58
|
65
|
success: (data) ->
|
59
|
|
- returnedResults[form_data.attribute] = {text: 'Options', children: $.map(data, (d) -> {id: d.value, text: d.name})}
|
60
|
|
- $(e.currentTarget).trigger('change')
|
61
|
|
- $(e.currentTarget).select2('open')
|
|
66
|
+ updateDropdownData(form_data, e.currentTarget, $.map(data, (d) -> {id: d.value, text: d.name}))
|
|
67
|
+ error: (data) ->
|
|
68
|
+ updateDropdownData(form_data, e.currentTarget, [{id: undefined, text: 'Error loading data.'}])
|