diff --git a/public/userarea/bindings_manage.php b/public/userarea/bindings_manage.php index 2ec351c..a5db220 100644 --- a/public/userarea/bindings_manage.php +++ b/public/userarea/bindings_manage.php @@ -52,7 +52,7 @@ $bindings = $stmt->fetchAll(PDO::FETCH_ASSOC); font-size: 12px; } - Gestione Binding JSON -> LIMS - <?= htmlspecialchars($titlewebsite ?? '', ENT_QUOTES, 'UTF-8'); ?> + Gestione Binding JSON → LIMS - <?= htmlspecialchars($titlewebsite ?? '', ENT_QUOTES, 'UTF-8'); ?> @@ -65,18 +65,22 @@ $bindings = $stmt->fetchAll(PDO::FETCH_ASSOC);
-
Gestione Binding JSON -> LIMS
-
- - -
+
Gestione Binding JSON → LIMS
+
+ +
+ + +
+
@@ -85,23 +89,23 @@ $bindings = $stmt->fetchAll(PDO::FETCH_ASSOC);
Le modifiche ai binding si applicano alle importazioni future. - I record gia' importati non vengono ricalcolati. + I record già importati non vengono ricalcolati.
- +
- - - - + + + + - + @@ -155,6 +159,33 @@ $bindings = $stmt->fetchAll(PDO::FETCH_ASSOC); $(function() { const $globalError = $('#globalError'); + // Filtro testuale generale su tutte le colonne. + const $rows = () => $('#bindingsTable tbody tr').not('.no-data-row'); + $('#bindingSearch').on('input', function() { + const q = $(this).val().toLowerCase().trim(); + $rows().each(function() { + const text = $(this).text().toLowerCase(); + $(this).toggle(q === '' || text.indexOf(q) !== -1); + }); + }); + + // Ordinamento per colonna (click sull'intestazione). + $('#bindingsTable thead .sortable').on('click', function() { + const col = +$(this).data('col'); + const asc = !($(this).data('asc')); + $('#bindingsTable thead .sortable').data('asc', null).find('.sort-caret').html(''); + $(this).data('asc', asc).find('.sort-caret').html(asc ? ' ▲' : ' ▼'); + + const $tbody = $('#bindingsTable tbody'); + const rows = $tbody.find('tr').not('.no-data-row').get(); + rows.sort((a, b) => { + const x = $(a).find('td').eq(col).text().trim().toLowerCase(); + const y = $(b).find('td').eq(col).text().trim().toLowerCase(); + return asc ? x.localeCompare(y) : y.localeCompare(x); + }); + rows.forEach(r => $tbody.append(r)); + }); + $('.binding-select').each(function() { const fieldId = $(this).data('field-id'); const initialVal = $(this).val(); diff --git a/public/userarea/import_json.php b/public/userarea/import_json.php index fb18281..e7425c1 100644 --- a/public/userarea/import_json.php +++ b/public/userarea/import_json.php @@ -174,7 +174,7 @@ error_log("Loaded JSON import template: " . print_r($template, true));
diff --git a/public/userarea/imported.php b/public/userarea/imported.php index 9a9626f..1051b4a 100644 --- a/public/userarea/imported.php +++ b/public/userarea/imported.php @@ -1311,7 +1311,7 @@ $gridMeta = [
Imported (i) To LIMS (l) - Binding JSON -> LIMS + Binding JSON → LIMS
TemplateCampo (template_mapping)Valore JSONValore LIMSTemplate Campo (template_mapping) Valore JSON Valore LIMS Azioni
Nessun binding presente.