mirror of
https://gitlab.crans.org/bde/nk20
synced 2025-06-21 01:48:21 +02:00
Made trust adding widget resetable, corrected the unexpected empty field behavior and improved autocomplete's responsiveness
This commit is contained in:
@ -1,3 +1,5 @@
|
||||
const keycodes = [32, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 106, 107, 109, 110, 111, 186, 187, 188, 189, 190, 191, 219, 220, 221, 222]
|
||||
|
||||
$(document).ready(function () {
|
||||
$('.autocomplete').keyup(function (e) {
|
||||
const target = $('#' + e.target.id)
|
||||
@ -10,7 +12,6 @@ $(document).ready(function () {
|
||||
const input = target.val()
|
||||
target.addClass('is-invalid')
|
||||
target.removeClass('is-valid')
|
||||
$('#' + prefix + '_reset').removeClass('d-none')
|
||||
|
||||
$.getJSON(api_url + (api_url.includes('?') ? '&' : '?') + 'format=json&search=^' + input + api_url_suffix, function (objects) {
|
||||
let html = '<ul class="list-group list-group-flush" id="' + prefix + '_list">'
|
||||
@ -41,11 +42,14 @@ $(document).ready(function () {
|
||||
|
||||
if (typeof autocompleted !== 'undefined') { autocompleted(obj, prefix) }
|
||||
})
|
||||
|
||||
if (input === obj[name_field]) { $('#' + prefix + '_pk').val(obj.id) }
|
||||
})
|
||||
|
||||
if (objects.results.length === 1 && e.originalEvent.keyCode >= 32) {
|
||||
if (objects.results.length >= 2) {
|
||||
$('#' + prefix + '_pk').val(objects.results[0].id)
|
||||
}
|
||||
if (objects.results.length === 1 &&
|
||||
(keycodes.includes(e.originalEvent.keyCode) ||
|
||||
input === objects.results[0][name_field])) {
|
||||
$('#' + prefix + '_' + objects.results[0].id).trigger('click')
|
||||
}
|
||||
})
|
||||
@ -55,7 +59,6 @@ $(document).ready(function () {
|
||||
const name = $(this).attr('id').replace('_reset', '')
|
||||
$('#' + name + '_pk').val('')
|
||||
$('#' + name).val('')
|
||||
$('#' + name + '_list').html('')
|
||||
$(this).addClass('d-none')
|
||||
$('#' + name).tooltip('hide')
|
||||
})
|
||||
})
|
||||
|
Reference in New Issue
Block a user