Re: Fwd: [OT - javascrpt] attivare un div inserito dinamicamente.
Il giorno mer 11 lug 2018 alle ore 19:42 Gollum1 ha scritto: > > Il giorno mer 11 lug 2018 alle ore 19:17 Gollum1 > ha scritto: > > figata a e b sono i due campi completi... l'estrazione la faccio > > dentro la funzione... ok... > > > > ora devo capire se posso passare un terzo parametro, che sarebbe la > > colonna... > > che non è necessario passare, in quanto risulta come fosse una > variabile globale, visto che è definita prima della chiamata di > funzione, e la funzione è inline, all'interno ne trovo il contenuto... > > ora procedo a riordinare e poi vediamo se funziona e quanto tempo ci > mette :D FUNZIONA! e anche il reinserimento nella tabella originale è riusltato ancora più banale e performante della precedente soluzione, avendo estratto i singoli campi per procedere all'ordinamento, nell'oggetto vado a ripristinare i singoli campi , e per ogni td in realtà ripristino solo la parte innerHTML, quindi a torta finita, non mi sono neppure perso tutte le classi che avevo di contorno per colorare in modo alternato le righe... e l'ordinamente è dell'ordine di un o due secondi, l'inversione di ordinamento poi, è praticamente immediata... Sono molto soddisfatto del lavoro (che può essere ancora migliorato stilisticamente, ma con il tempo, nel frattempo funziona). Grazie a tutti per il supporto e le preziosissime informazioni. Per chi volesse vedere il codice risultante, ho allegato lo script, per un filtro che imposta google, ho dovuto modificare l'estensione, .j.s invece del classico .js Commenti ben accetti (considerate che è praticamente il mio primo lavoro in javascript, se non roba di 3 o 4 righe). Byez -- Gollum1 - http://www.gollumone.it Tesoro, dov'é il mio teoro... webcpmi.j.s Description: Binary data
Re: Fwd: [OT - javascrpt] attivare un div inserito dinamicamente.
Il giorno mer 11 lug 2018 alle ore 19:17 Gollum1 ha scritto: > figata a e b sono i due campi completi... l'estrazione la faccio > dentro la funzione... ok... > > ora devo capire se posso passare un terzo parametro, che sarebbe la colonna... che non è necessario passare, in quanto risulta come fosse una variabile globale, visto che è definita prima della chiamata di funzione, e la funzione è inline, all'interno ne trovo il contenuto... ora procedo a riordinare e poi vediamo se funziona e quanto tempo ci mette :D Tnx -- Gollum1 - http://www.gollumone.it Tesoro, dov'é il mio teoro...
Re: Fwd: [OT - javascrpt] attivare un div inserito dinamicamente.
Il giorno mer 11 lug 2018 alle ore 19:15 Alessandro Pellizzari ha scritto: > > On 11/07/2018 17:20, Gollum1 wrote: > > > Maledizione, con il pc, mi faccio fregare sempre sui destinatari... > > chiedo perdono ad Alessandro per il messaggio in privato. > > No problem :) > > > in pratica ogni riga dell'array è un array a sua volta di elementi (o > > un dizionario, se ci si trova meglio con questo, > > Tecnicamente è un Object > > > ma come si comporta > > sort con i dizionari?) > > Come in PHP: passi a sort una funzione che prende due parametri. > Se a va prima di b, ritorni -1. > Se sono uguali, ritorni 0. > Se b va prima di a ritorni 1. > > A quel punto nella funzione controlli quello che vuoi: > > data.sort(function(a,b) { >return a.id < b.id ? -1 : 1 > }) figata a e b sono i due campi completi... l'estrazione la faccio dentro la funzione... ok... ora devo capire se posso passare un terzo parametro, che sarebbe la colonna... -- Gollum1 - http://www.gollumone.it Tesoro, dov'é il mio teoro...
Re: Fwd: [OT - javascrpt] attivare un div inserito dinamicamente.
On 11/07/2018 17:20, Gollum1 wrote: Maledizione, con il pc, mi faccio fregare sempre sui destinatari... chiedo perdono ad Alessandro per il messaggio in privato. No problem :) in pratica ogni riga dell'array è un array a sua volta di elementi (o un dizionario, se ci si trova meglio con questo, Tecnicamente è un Object ma come si comporta sort con i dizionari?) Come in PHP: passi a sort una funzione che prende due parametri. Se a va prima di b, ritorni -1. Se sono uguali, ritorni 0. Se b va prima di a ritorni 1. A quel punto nella funzione controlli quello che vuoi: data.sort(function(a,b) { return a.id < b.id ? -1 : 1 }) O qualcosa del genere. :) Occhio che il sort è in place, quindi modifica l'array sorgente. Bye.
Fwd: [OT - javascrpt] attivare un div inserito dinamicamente.
Maledizione, con il pc, mi faccio fregare sempre sui destinatari... chiedo perdono ad Alessandro per il messaggio in privato. -- Forwarded message - From: Gollum1 Date: mer 11 lug 2018 alle ore 17:44 Subject: Re: [OT - javascrpt] attivare un div inserito dinamicamente. To: Il giorno mer 11 lug 2018 alle ore 17:18 Alessandro Pellizzari ha scritto: > > On 11/07/2018 10:20, Gollum1 wrote: > > > Ora mi trovo un attimo in imbarazzo... il codice sembra ok, ma non > > riesco a capire come dovrei affrontare come ordinare per i campi che > > sono in realtà contenuti nella stringa che è contenuto nell'array... > > Il mio server strippa gli allegati, quindi non vedo il tuo codice, ma se > hai preso l'innerHtml dei vari tr non ne verrai mai fuori. Non credo che sia solo il tuo server, ma forse il server di debian, perché non lo vedo neppure io. No, in realtà non ho l'inneHTML di ogni singolo campo, ma ho l'intera struttura di tutta la quindi ho una riga di tabella per ogni record dell'array. Non volendo interpellare ancora una volta il DB (visto che ho già costruito la tabella al primo giro), credo che la soluzione migliore sia comunque molto simile a quella che mi stai descrivendo tu. > Se puoi, prendi i dati che arrivano dal server, e infilali in qualche > modo in un array così: > > let dati = [ >{ > id: 1, > titolo: 'Il primo titolo', > >}, >{ > id: 2, > titolo: 'Il secondo titolo', > ... >}, >... > ] in pratica ogni riga dell'array è un array a sua volta di elementi (o un dizionario, se ci si trova meglio con questo, ma come si comporta sort con i dizionari?) a quel punto devo ordinare l'intero array con riferimento ad un particolare indice dell'array contenuto in ogni riga. > A quel punto ordinarli è semplice, in base a qualsiasi colonna, e per > creare le righe della tabella basta un dati.map(function(r) { return > ''+r.id+'...'; }) Non è poi tanto il ricostruire la tabella che mi preoccupa, quanto proprio la funzione di ordinamento, che non mi è ben chiara come funziona... mi pare di capire (un po' come nella funzione map che mi hai proposto) che in qualche modo mi basta definire una funzione con due argomenti qualsiasi, e nel corpo della funzione indicare come è il sistema di confronto tra questi due elementi... ho compreso giusto, o sto sbagliando ancora? Tnx -- Gollum1 - http://www.gollumone.it Tesoro, dov'é il mio teoro... -- Gollum1 - http://www.gollumone.it Tesoro, dov'é il mio teoro...
Fwd: [OT - javascrpt] attivare un div inserito dinamicamente.
Mi scuso con Luca, per aver scritto in privato, invece che sulla ML. -- Forwarded message - From: Gollum1 Date: lun 9 lug 2018 alle ore 11:53 Subject: Re: [OT - javascrpt] attivare un div inserito dinamicamente. To: Luca Costantino . Il 9 luglio 2018 10:33:45 CEST, Luca Costantino ha scritto: >Ma perche' perdere la testa a reinventare l'acqua calda, visto che ci >sono >gia' dozzine di algoritmi di ordinamento storici, testati, a >complessita' >nota, e gia' implementati? > come ho già risposto a Lorenzo, ho ripreso in mano un sito fatto da altri, con i suoi pregi e i suoi difetti. ho in prima battuta rifatto la parte grafica, cercando di mantenere la stessa struttura, ma portando tutto nell'ottica di usare css e posizionamenti non forzarti (in origine ogni elemento era posizionato in modo assoluto, con codice di stile inline, nell'oggetto stesso). Ho spezzato il codice in più file, in modo che parti del sito possano essere riutilizzate indipendentemente dalla pagina effettiva. è vero, avrei potuto usare un cms, e tutto sarebbe stato più semplice, ma ho a che fare con il programmatore originale, che ha una idiosincresia nell'uso dei framework. per ora gli sto dando il contentino, per dare un qualcosa di immediatamente utilizzabile, basato sul suo codice, ma a tendere, rifarò il tutto in python e genropy (con buona pace alla sua idiosincresia). vi disturberò ancora quando cercherò di sostituire apache con uwsgi, che ancora non ho affrontato. grazie a tutti per le preziose informazioni. byez -- gollum1 Inviato dal mio dispositivo Android con K-9 Mail. Perdonate la brevità e gli errori, maledetto correttore automatico. -- Gollum1 - http://www.gollumone.it Tesoro, dov'é il mio teoro...