j-DataTable
BETA: Ez az összetevő a SPA és a szerver oldal felsorolására irányul.
- Támogatja az oldalakat
bootstraphálózati rendszer- Támogatja a sorozást
- Vertikális/horizontális forgatás
- Válasz
- Támogatja a sötét módot
Az adatforrásnak tartalmaznia kell:
{
cols: [{ name: 'id', ... }], // optional, can be defined inline in HTML
items: [{ name: 'Row 1' }, { name: 'Row 2' }, ...] // items
page: 1, // current pages
pages: 30, // count of pages
limit: 5, // items limit per page
count: 150 // count of items in DB
}konfiguráció:
pluralizepages {String}pluralizáció oldalak (opcionális, alapértelmezett:# pages,# page,# pages,# pages)pluralizeitems {String}pluralizáció az elemekre (opcionális, alapértelmezett:# items,# item,# items,# items)height {Number/String}A hálózat magassága, a támogatott értékek:auto(Egyszerűen csak az új)fluid,parentvagyNUMBERA magasság vagyselectorA jQuery.closest oldalról- NEW
minheight {Number}minimális hálózati magasság, működik afluidés aautomagasság (default:300) - NEW
parent {String}kiválasztó aautomagasság opció (default:window) margin {Number}a magasság felső marginja (opcionális, alapértelmezett:0)click {String}egy link afunction(row, grid, row_el), akkor fut, ha a felhasználó kattint egy sorbanhighlight {Boolean}minden kiválasztott sorban (aclickután) kiemelkedik (elsődleges:false)unhighlight {Boolean}lehetővé teszi a kiválasztott sorundo highlighting(default:true)- A
checked {String}pathegy változóhoz vagy afunction(rows, grid)útvonalához fut, ha a felhasználó kiválasztotta/ellenőrizte néhány sorot. - A
autoselect {Boolean}lehetővé teszi az első sor automatikus kiválasztását a hálózatban, aEXEC(config.click)-et teljesíti, alapértelmezett:false exec {String}egy link afunction(type, page, sort)csak a szerver oldalán működő műveletekhez (a kliens oldalán sorozás és szűrés megakadályozható), támogatott típusok:refreshvagypagechanged {String}pathegy változóra vagy afunction(rows, grid)útvonalra fut, ha a felhasználó megváltoztatja néhány sorotdblclick {String}egy link afunction(row, grid, row_el)módszerre, akkor fut, ha a felhasználó kétszer kattint egy sorban- A
noborder {Boolean}kikapcsolhatja a hálózat körül lévő határt (default:false) colwidth {Number}egy alapértelmezett szélesség oszlopok (default:150)editable {String}afunction(opt)linkre, amikor a felhasználó szerkesztést végezcontextmenu {String}egy link afunction(e, grid)amikor a felhasználó felemeli a kontextus menüt
oszlop tulajdonságai:
name {String}- A mező neve a sorbantext {String}egy oszlop címke, a szöveg a.fa fa-homelesz FontAwesome ikonwidth {Number}egy oszlop szélessége (opcionális, alapértelmezettconfig.colwidth)align {String}lehetcentervagyright(opcionális, alapértelmezett:left)template {String}lehet a Tangular mintája, és a modell az egész sor tárgyát jelenti.sort {Boolean}lehetővé teszi a sorozást (opcionális, alapértelmezett:false)format {String/Number}használható dátumok és számok (szám decimális) mező (opcionális), példáuldd.MM.yyyycurrency {String}egy pénznem formátum, csak adjunk hozzá valutátclass {String}opcionális, egy személyre szabott oszlop osztály neveempty {String/Boolean}opcionális, az üres értéket a üres mezőben meghatározott értékkel írhatja újra (atrueértéke a---alapértelmezett értéktől függ)type {String}opcionális, tartalmazhat egy adattípus (boolean,datevagynumber) a mező- A
editable {Boolean}lehetővé teszi a szerkesztést
módszerek:
component.redrawrow(row_object/index)redraws sor vagy NEW: helyettesíti + redraysrow_objectegy újnew_object_row- A
component.clear()megtisztítja az összes változást component.select(row)kiválasztja arowkell ugyanaz a tárgy, mint az adatforráscomponent.rebind(columnsdeclaration)a módszer visszahívja a schéma- NEW:
component.reload()futconfig.execa jelenlegi szűrővel és sorozással - NEW:
component.empty()empties minden sorban
Jó tudni:
SET('link.to.data', data, 'noscroll')->noscrolltípus megakadályozza a forgatás újraállítása
Hogyan kell kiterjeszteni a sorrendet?
- Nézd meg a
{{ if activea sor, kiterjeszti a sor osztályát hozzáadvadg-active-classHa aactiveérvényes lesz
[
'{{ if active }} dg-active-class{{ fi }}',
{ name: 'name', text: 'Name', width: 200 },
// other columns ...
]Használja a <ui-component name="datatable">Amennyiben a készülék még nem tölthető le, jComponent letöltés az első felhasználásra a címről DEF.fallback (Azt a Componentator A szerző: Peter Širka. forrás: a Componentator Az összetevők raktár, MIT licenc.
<div style="width:500px;height:400px">
<ui-component name="datatable" path="data" config="highlight:1;exec:paginate;editable:editable;checked:checked;margin:22">
<script type="text/html">
[
{ name: 'name', text: 'Opportunity name', width: 200, sort: 1, editable: 1 },
{ name: 'value', text: 'Value', width: 100, sort: 1, type: 'number', format: 2 },
{ name: 'status', text: 'Status', width: 100, editable: 1 },
{ name: 'owner', text: 'Owner', width: 200 },
{ name: 'newsletter', text: 'Newsletter', width: 100, type: 'boolean' },
{ name: 'date', text: 'Date', width: 200, sort: 1, type: 'date', format: 'yyyy-MM-dd' }
]
</script>
</ui-component>
</div>
<script>
function checked(rows) {
console.log(rows);
}
function editable(opt) {
// opt.row
// opt.col
// opt.value
// opt.next(NEW_VALUE);
opt.next(opt.value + ' (modified)');
}
function paginate(type, page, sort) {
console.log('Page:', page, 'sort:', sort);
}
var data = {};
data.items = [];
data.pages = 53;
data.page = 3;
// data.cols.push({ name: 'name', text: 'Opportunity name', width: 200, sort: true });
// data.cols.push({ name: 'value', text: 'Value', width: 100, sort: true });
// data.cols.push({ name: 'status', text: 'Status', width: 100 });
// data.cols.push({ name: 'owner', text: 'Owner', width: 200 });
// data.cols.push({ name: 'date', text: 'Date', width: 200, sort: true });
for (var i = 0; i < 50; i++)
data.items.push({ name: GUID(20), value: Math.random() * 1000 >> 0, status: GUID(10), owner: 'Peter Širka', newsletter: i % 3 === 0, date: NOW });
</script>