@@ -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.'}])
|