Sto provando ad impostare ngTable nella mia applicazione, ma non supporta il filtraggio per data, e non riesco a capire come implementarlo. Inizialmente avevo inserito la data nei miei dati come timestamp, che mi permetteva di ordinare la colonna correttamente a causa della natura incrementale di un timestamp, ma ovviamente non posso digitare September e filtrare i dati.AngularJS ngTable filtering by Date
// Example row data from data array
{
"index": 0,
"id": "54587313ac91d561b246bf90",
"user": "user3",
"date": 1390054873445,
"status": "in-progress"
}
ho provato a installare in una stringa, ma quando si filtrare o ordinare non produce un ordine crescente/decrescente invece si tratta in modo è organizzato nei dati.
// Date output not in asc/desc if use date string
September 8, 2014
September 27, 2014
September 23, 2014
September 26, 2014
Ho cercato attraverso ngTable e abbiamo trovato ho potuto alterare l'intestazione della tabella, così ho preso una copia per modificare e aggiungere una sorta di filtro personalizzato o direttiva? Forse dovrei usare una stringa di date diversa? Ho creato un Plunker dell'app utilizzando i dati del timestamp, che viene filtrato per la visualizzazione all'utente e ordinabile, ma mi piacerebbe poter filtrare digitando il mese, il giorno e/o l'anno, ad es. 2014, settembre, ecc
// Example date column setup
<td data-title="'Date'"
sortable="'date'"
filter="{ 'date': 'text' }"
ng-bind="(doc.date | date:mediumDate)"></td>
UPDATE ho appena notato in fondo ngTable.js che si può cadere nei propri filtri. Alla fine ho capito come caricare un file esterno ad un filtro personalizzato invece di ngTemplates inlining:
<td data-title="'Date'"
sortable="'date'"
filter="{ 'date': 'date' }" // add name of filter (date), to the value of assoc array
ng-bind="(loan.date | date:mediumDate)"></td>
o per posizionare il file in un luogo più utile nella vostra applicazione:
<td data-title="'Date'"
sortable="'date'"
filter="{ 'date': 'date', templateURL: '/www/app/ng-table/filters/date.html' }"
ng-bind="(loan.date | date:mediumDate)"></td>
Ancora non è sicuro cosa fare, ma continuerò a provare a farlo funzionare, ho fatto un Plunker di quello che ho finora se questo mi aiuta. Dovrebbe essere una direttiva in date.html?
prova a convertire date in formato ISO, per il filtraggio di lavorare – harishr
Hi @harish, che produce gli stessi risultati come timestamp con tutti i dati della colonna non presentandosi come il filtro ngTable non viene visualizzato Gen 12, 2014, ma invece il formato ISO. – mtpultz