|
|
@ -74,20 +74,26 @@ |
|
|
abp.dom.initializers.initializeAutocompleteSelects = function ($autocompleteSelects) { |
|
|
abp.dom.initializers.initializeAutocompleteSelects = function ($autocompleteSelects) { |
|
|
if ($autocompleteSelects.length) { |
|
|
if ($autocompleteSelects.length) { |
|
|
$autocompleteSelects.each(function () { |
|
|
$autocompleteSelects.each(function () { |
|
|
var $select = $(this); |
|
|
let $select = $(this); |
|
|
var url = $(this).data("autocompleteApiUrl"); |
|
|
let url = $(this).data("autocompleteApiUrl"); |
|
|
var displayName = $(this).data("autocompleteDisplayProperty"); |
|
|
let displayName = $(this).data("autocompleteDisplayProperty"); |
|
|
var displayValue = $(this).data("autocompleteValueProperty"); |
|
|
let displayValue = $(this).data("autocompleteValueProperty"); |
|
|
var itemsPropertyName = $(this).data("autocompleteItemsProperty"); |
|
|
let itemsPropertyName = $(this).data("autocompleteItemsProperty"); |
|
|
var filterParamName = $(this).data("autocompleteFilterParamName"); |
|
|
let filterParamName = $(this).data("autocompleteFilterParamName"); |
|
|
var selectedText = $(this).data("autocompleteSelectedItemName"); |
|
|
let selectedText = $(this).data("autocompleteSelectedItemName"); |
|
|
var parentSelector = $(this).data("autocompleteParentSelector"); |
|
|
let parentSelector = $(this).data("autocompleteParentSelector"); |
|
|
if(!parentSelector && $select.parents(".modal.fade").length === 1){ |
|
|
let allowClear = $(this).data("allowClear"); |
|
|
|
|
|
let placeholder = $(this).data("placeholder"); |
|
|
|
|
|
if (allowClear && placeholder == undefined) { |
|
|
|
|
|
placeholder = " "; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (!parentSelector && $select.parents(".modal.fade").length === 1) { |
|
|
parentSelector = ".modal.fade"; |
|
|
parentSelector = ".modal.fade"; |
|
|
} |
|
|
} |
|
|
var name = $(this).attr("name"); |
|
|
let name = $(this).attr("name"); |
|
|
var selectedTextInputName = name + "_Text"; |
|
|
let selectedTextInputName = name + "_Text"; |
|
|
var selectedTextInput = $('<input>', { |
|
|
let selectedTextInput = $('<input>', { |
|
|
type: 'hidden', |
|
|
type: 'hidden', |
|
|
id: selectedTextInputName, |
|
|
id: selectedTextInputName, |
|
|
name: selectedTextInputName, |
|
|
name: selectedTextInputName, |
|
|
@ -101,13 +107,13 @@ |
|
|
url: url, |
|
|
url: url, |
|
|
dataType: "json", |
|
|
dataType: "json", |
|
|
data: function (params) { |
|
|
data: function (params) { |
|
|
var query = {}; |
|
|
let query = {}; |
|
|
query[filterParamName] = params.term; |
|
|
query[filterParamName] = params.term; |
|
|
return query; |
|
|
return query; |
|
|
}, |
|
|
}, |
|
|
processResults: function (data) { |
|
|
processResults: function (data) { |
|
|
var retVal = []; |
|
|
let retVal = []; |
|
|
var items = data; |
|
|
let items = data; |
|
|
if (itemsPropertyName) { |
|
|
if (itemsPropertyName) { |
|
|
items = data[itemsPropertyName]; |
|
|
items = data[itemsPropertyName]; |
|
|
} |
|
|
} |
|
|
@ -125,6 +131,11 @@ |
|
|
}, |
|
|
}, |
|
|
width: '100%', |
|
|
width: '100%', |
|
|
dropdownParent: parentSelector ? $(parentSelector) : $('body'), |
|
|
dropdownParent: parentSelector ? $(parentSelector) : $('body'), |
|
|
|
|
|
allowClear: allowClear, |
|
|
|
|
|
placeholder: { |
|
|
|
|
|
id: '-1', |
|
|
|
|
|
text: placeholder |
|
|
|
|
|
} |
|
|
}); |
|
|
}); |
|
|
$select.on('select2:select', function (e) { |
|
|
$select.on('select2:select', function (e) { |
|
|
selectedTextInput.val(e.params.data.text); |
|
|
selectedTextInput.val(e.params.data.text); |
|
|
|