CroceRossaCatania / gaia

G.A.I.A. è l'acronimo di "Gestione Avanzata ed Integrata dell'Anagrafica"... [cit. Alfio Musmarra]
GNU General Public License v3.0
30 stars 14 forks source link

aggiunta delay a keyup - selettore volontari (e altri) #918

Closed matthewmazzoleni closed 10 years ago

matthewmazzoleni commented 10 years ago

Ho visto che le chiamate di autocomplete nei selettori degli utenti sono effettuati su ogni keyup. digitando il mio cognome "Mazzoleni" vengono inviate a razzo 8 richieste di interrogazione che si accodano e renderizzano i risultati di ricerca quando magari l'utente ha già digitato altro, propongo di mettere un delay minimo di "attesa" prima di fare la chiamata, per evitare di ammazzare il server di query inutili.

giusto perché, come sappiamo, un jsfiddle di esempio vale più di mille parole: http://jsfiddle.net/5DyGW/1/ ovviamente questo è giusto per farvi capire cosa intendo, non vuole essere un "buon" esempio ;)

con poco sbattimento ci togliamo dal selettore utenti, e in generale ovunque ci sia un autocomplete su keyup, un po' di carico ;)

io come tempo di attesa metterei tra 700ms - 1s, calibrandomi sulla velocità dell'utente medio.

AlfioEmanueleFresta commented 10 years ago

Grazie @matthewmazzoleni per il suggerimento e lo snippet. Facendo ricerche sembra che tutti i browser che Gaia ora supporta, supportano anche window.clearTimeout, quindi procedo con l'implementazione.

Allego la documentazione per riferimenti futuri https://developer.mozilla.org/en-US/docs/Web/API/Window.clearTimeout

AlfioEmanueleFresta commented 10 years ago

Aggiungo un controllo a fine richiesta. E' importante che, una volta effettuata la richiesta e ricevuta una risposta, questa venga visualizzata solo se si tratta dell'ultima chiamata effettuata.

Cosi' possiamo ridurre il delay a 500ms ed evitare in tutti i casi che, ad es., la prima richiesta riceva risposta dopo la seconda, avendo dei risultati di ricerca inconsistenti.

luca-dex commented 10 years ago

Questa cosa credo risolva anche il ticket che ti ho assegnato sta notte, giusto?

Luca De Sano Croce Rossa Italiana

tel: +39 333 7177338 On 23 Jan 2014 12:22, "Alfio Emanuele" notifications@github.com wrote:

Aggiungo un controllo a fine richiesta. E' importante che, una volta effettuata la richiesta e ricevuta una risposta, questa venga visualizzata solo se si tratta dell'ultima chiamata effettuata.

Cosi' possiamo ridurre il delay a 500ms ed evitare in tutti i casi che, ad es., la prima richiesta riceva risposta dopo la seconda, avendo dei risultati di ricerca inconsistenti.

— Reply to this email directly or view it on GitHubhttps://github.com/CroceRossaCatania/gaia/issues/918#issuecomment-33115938 .

AlfioEmanueleFresta commented 10 years ago

Si ed ho appena risosto all'utente.

Ti prego di segnalarmi quando mi giri dei ticket per email perche' le mail di kayako vengono dev/nullizzate da mio gmail ben istruito.