sort first with exactly phrase

This commit is contained in:
2026-05-20 17:01:07 +02:00
parent 8455be04e1
commit 0c72dbf5ae
+25
View File
@@ -134,12 +134,35 @@
);
}
function sortSelect2ResultsByStart(data) {
const term = $(".select2-container--open .select2-search__field").val();
if (!term) {
return data;
}
const search = term.toLowerCase().trim();
return data.sort(function (a, b) {
const textA = (a.text || "").toLowerCase().trim();
const textB = (b.text || "").toLowerCase().trim();
const aStarts = textA.startsWith(search);
const bStarts = textB.startsWith(search);
if (aStarts && !bStarts) return -1;
if (!aStarts && bStarts) return 1;
return textA.localeCompare(textB, "it", { sensitivity: "base" });
});
}
// Select2 AJAX config for client selects
const clientSelect2Config = {
placeholder: "Search client...",
allowClear: true,
width: "100%",
minimumInputLength: 0,
sorter: sortSelect2ResultsByStart,
dropdownCssClass: "select2-dropdown-smaller",
ajax: {
url: "search_clienti.php",
@@ -341,6 +364,7 @@
allowClear: true,
width: "100%",
minimumInputLength: 0,
sorter: sortSelect2ResultsByStart,
ajax: {
url: "search_customfield_values.php",
dataType: "json",
@@ -1133,6 +1157,7 @@
placeholder: "Seleziona...",
allowClear: true,
width: "100%",
sorter: sortSelect2ResultsByStart,
});
} else {
const items = fixedFieldCache[fieldKey] || [];