From a4aa26f46ea7f0c0bf278e8fefce6706613094c3 Mon Sep 17 00:00:00 2001 From: Bacca97 <matteo.bacca@gmail.com> Date: Fri, 29 Jun 2018 10:20:13 +0200 Subject: [PATCH] Aggiunta scelta tempo di attesa ricerche in secondi e ricerca con invio --- include/top.php | 2 ++ lib/functions.js | 26 ++++++++++++++++++++++---- update/2_4_1.sql | 3 +++ 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/include/top.php b/include/top.php index ffd4620e8..b73543feb 100644 --- a/include/top.php +++ b/include/top.php @@ -131,6 +131,8 @@ if (Auth::check()) { ckeditorToolbar: [ ["Undo","Redo","-","Cut","Copy","Paste","PasteText","PasteFromWord","-","Scayt", "-","Link","Unlink","-","Bold","Italic","Underline","Superscript","SpecialChar","HorizontalRule","-","NumberedList","BulletedList","Outdent","Indent","Blockquote","-","Styles","Format","Image","Table", "TextColor", "BGColor" ], ], + + tempo_attesa_ricerche: '.get_var('Tempo di attesa ricerche in secondi').', }; </script>'; } diff --git a/lib/functions.js b/lib/functions.js index cf915a62e..65ea78715 100644 --- a/lib/functions.js +++ b/lib/functions.js @@ -534,6 +534,9 @@ function start_datatables() { }); var sum; + var tempo; + var tempo_attesa_ricerche = (globals.tempo_attesa_ricerche*1000); + var table = $this.DataTable({ language: { url: globals.js + '/i18n/datatables/' + globals.locale + '.min.json' @@ -626,6 +629,9 @@ function start_datatables() { $('<br><input type="text" style="width:100%" class="form-control" placeholder="' + globals.translations.filter + '..."><i class="deleteicon fa fa-times fa-2x hide"></i>') .appendTo(column.header()) .on('keyup', function (e) { + + clearInterval(tempo); + if (e.which != 9) { if (!$(this).val()) { if ($(this).parent().data("slow") != undefined) $("#slow").remove(); @@ -642,13 +648,25 @@ function start_datatables() { idx1 = 'module_' + $this.data('idmodule'); //+ "-" + $this.data('idplugin'); idx2 = 'search_' + $(this).parent().attr('id').replace('th_', ''); + + function start_search(search_value){ + session_set(idx1 + ',' + idx2, search_value, 0); + column.search(search_value).draw(); + } - // Imposto delle sessioni per le ricerche del modulo e del campo specificatsi - session_set(idx1 + ',' + idx2, $(this).val(), 0); - - column.search(this.value).draw(); + // Imposto delle sessioni per le ricerche del modulo e del campo specificatsi + if(e.keyCode == 13 || $(this).val()==''){ + start_search($(this).val()); + }else{ + tempo = window.setTimeout(start_search, tempo_attesa_ricerche, $(this).val()); + } }); }); + + // Disabilito l'ordinamento alla pressione del tasto invio sull'<input> + $("thead input, .search").on('keypress', function (e) { + stopTableSorting(e); + }); // Disabilito l'ordinamento al click sull'<input> $("thead input, .deleteicon").click(function (e) { diff --git a/update/2_4_1.sql b/update/2_4_1.sql index cfa5b11f9..0a1c84339 100644 --- a/update/2_4_1.sql +++ b/update/2_4_1.sql @@ -298,3 +298,6 @@ ADD FOREIGN KEY (`id_module`) REFERENCES `zz_modules`(`id`) ON DELETE CASCADE; -- Widget per attività senza nessun tecnico assegnato INSERT INTO `zz_widgets` (`id`, `name`, `type`, `id_module`, `location`, `class`, `query`, `bgcolor`, `icon`, `print_link`, `more_link`, `more_link_type`, `php_include`, `text`, `enabled`, `order`, `help`) VALUES (NULL, 'Attività da pianificare', 'stats', (SELECT id FROM zz_modules WHERE name = 'Dashboard'), 'controller_top', 'col-md-3', 'SELECT COUNT(id) AS dato FROM in_interventi WHERE id NOT IN (SELECT idintervento FROM in_interventi_tecnici) AND idstatointervento IN (SELECT idstatointervento FROM in_statiintervento WHERE completato = 0) ', '#6dab3c', 'fa fa-cogs', '', './modules/interventi/widgets/interventi.pianificazionedashboard.interventi.php', 'popup', '', 'Promemoria attività da pianificare', 1, '0', NULL); + +-- Impostazione "Tempo di attesa ricerche" +INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES (NULL, 'Tempo di attesa ricerche in secondi', '2', 'integer', '0', 'Generali');