Re: Fwd: [OT - javascrpt] attivare un div inserito dinamicamente.

2018-07-11 Per discussione Gollum1
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.

2018-07-11 Per discussione Gollum1
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.

2018-07-11 Per discussione Gollum1
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.

2018-07-11 Per discussione Alessandro Pellizzari

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.

2018-07-11 Per discussione Gollum1
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.

2018-07-09 Per discussione Gollum1
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...