diff --git a/modules/system/assets/ui/js/select.js b/modules/system/assets/ui/js/select.js index ea94b88bd..8b29a4ad8 100644 --- a/modules/system/assets/ui/js/select.js +++ b/modules/system/assets/ui/js/select.js @@ -17,8 +17,8 @@ return state.text; // optgroup var $option = $(state.element), - iconClass = $option.data('icon'), - imageSrc = $option.data('image') + iconClass = state.icon ? state.icon : $option.data('icon'), + imageSrc = state.image ? state.image : $option.data('image') if (iconClass) return ' ' + state.text @@ -70,6 +70,24 @@ extraOptions.dropdownCssClass += ' select-hide-selected' } + var source = $element.data('source'); + if (source) { + extraOptions.ajax = { + transport: function(params, success, failure) { + var $request = $element.request(source, { + data: params.data + }) + + $request.done(success) + $request.fail(failure) + + return $request + }, + + dataType: 'json' + } + } + var separators = $element.data('token-separators') if (separators) { extraOptions.tags = true