order parts

This commit is contained in:
2026-10-29 09:53:25 +01:00
parent ae78bf0393
commit 9bc9a8a2dc
+17 -24
View File
@@ -601,36 +601,29 @@ $(document).ready(function () {
// =================== // ===================
function getVisiblePartsRecordList() { function getVisiblePartsRecordList() {
// Se i filtri sono attivi, usa la regola selezione/visibili di gridFilter. // Ordine di riferimento = ordine ATTUALE della griglia.
// window.gridData è lo stesso array del renderer (aggiornato anche dal filtro).
const gridOrder = (
Array.isArray(window.gridData) ? window.gridData : []
)
.map((row) => parseInt(row.iddatadb, 10))
.filter(Boolean);
// Filtri attivi: gridFilter decide QUALI record (selezionati o visibili),
// ma l'ORDINE resta quello della griglia.
if (typeof window.getTargetGridIds === "function") { if (typeof window.getTargetGridIds === "function") {
const target = window.getTargetGridIds(); const target = window.getTargetGridIds();
if (target && target.size > 0) { if (target && target.size > 0) {
return [...target].map((v) => parseInt(v, 10)).filter(Boolean); const inGrid = gridOrder.filter((id) => target.has(id));
} // Selezionati che stanno su altre pagine del filtro: in coda
} const elsewhere = [...target]
const listFromModal = $("#partsModal").data("visible-iddatadb-list");
if (Array.isArray(listFromModal) && listFromModal.length > 0) {
return listFromModal.map((v) => parseInt(v, 10)).filter(Boolean);
}
if (
Array.isArray(window.visibleIddatadbList) &&
window.visibleIddatadbList.length > 0
) {
return window.visibleIddatadbList
.map((v) => parseInt(v, 10)) .map((v) => parseInt(v, 10))
.filter(Boolean); .filter((id) => id && !gridOrder.includes(id));
return inGrid.concat(elsewhere);
}
} }
if (Array.isArray(window.gridData) && window.gridData.length > 0) { return gridOrder;
return window.gridData
.map((row) => parseInt(row.iddatadb, 10))
.filter(Boolean);
}
return [];
} }
function getGridRecordById(iddatadb) { function getGridRecordById(iddatadb) {