j-DataGrid
Tato síť byla vytvořena pro jediné aplikace a podnikové aplikace.
- Systém
bootstrap - Můžete vydat více než 30 000 řádků bez problémů
- Podporuje drag&drop sloupce
- Podporuje sortizaci
- Podporuje odstraňování sloupů
- Podporuje vertikální/horizontální scrolling
- Podporuje filtry
- Podporuje checkboxes
- Skládací bary nezávisle na OS
- Odpovědnost
- Podporuje tmavý režim
- IMPORTANT sloupec možnosti filtr potřebuje složku
j-Directory
To-do:
- Množství
- Převod sloupců pro dotykové zařízení
- Přepisování sloupců pro dotykové zařízení
Data-source musí obsahovat:
{
schema: 'schema_id', // NEW: optional, DataGrid supports multiple schemas (it means: multiple declaration of columns)
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
}nebo surové Array, ale nemůžete použít stránky a externí filtry:
[{ name: 'Row 1' }, { name: 'Row 2' }];Konfigurace:
filterlabel {String}je standardní držák místa pro všechny filtry (volitelné)rememberfilter {Boolean}s pravým to připomíná filtry pro každý režim (předvolený:true)schema {String}je standardní schéma (default:default)- Pluralizace
pluralizepages {String}pro stránky (volitelné, výchozí:# pages,# page,# pages,# pages) - Pluralizace
pluralizeitems {String}pro položky (volitelné, výchozí:# items,# item,# items,# items) height {Number/String}Výška sítě, podporované hodnoty:auto(přesněji řečeno) - novéfluid,parentneboparent1,parent2a) neboNUMBERjako výška neboselectorpro jQuery.closest()- Minimální výška sítě
minheight {Number}, práce s výškoufluidaauto(předvolený:200) - Výběr
parent {String}pro možnost výškyauto(předvolený:window) margin {Number}je vrcholová hranice pro výšku (volitelná, výchozí:0)boolean {String}hodnoty pro filtrování booleánových hodnot (volitelné, výchozí:true|on|yes)resize {Boolean}umožňuje resing sloupců (volitelné, výchozí:true)reorder {Boolean}umožňuje přepracování sloupců (volitelné, výchozí:true)sorting {Boolean}umožňuje srovnání (volitelné, předvolenétrue)remember {Boolean}připomíná re-objednávání a resing sloupců (volitelné, výchozítrue)checkbox {Boolean}umožňuje kontrolní krabičkycolwidth {Number}je standardní šířka sloupce v pixlech (volitelné, standardní150)rowheight {Number}je výchozí výška řádku v pixlech (volitelně:24) + závisí na CSSalignheader {String/Number}Align pro hlavurightnebo2a) nebocenternebo1Opční a default:left)alignfilter {String/Number}Přizpůsobení filtrurightnebo2a) nebocenternebo1Opční a default:left)align {String/Number}Přizpůsobte se hodnotě sloupcerightnebo2a) nebocenternebo1Opční a default:left)click {String}odkaz na trati nebofunction(row, grid, row_el), záznam bude přidělen/vykonan, pokud uživatel klikne na řádekclickid {String}název identifikátoru / majetku pro zpětné vyhledávání (pro předchozí řádek), výchozí:id- Každý zvolený řádek
highlight {Boolean}(poclick) bude zdůrazněn (podle předvolby:false) unhighlight {Boolean}umožňujeundo highlightingvybraného řádku (podmínkou:true)checked {String}pathna proměnnou nebo cestu kfunction(rows, grid)se provede, pokud uživatel vybral/kontroloval některé řádkyautoselect {Boolean}umožňuje automaticky vybírat první řádek v síti, provádíEXEC(config.click), předvolený:falselimit {Number}je limit klastru, standardní:80numbering {Boolean}Opční defaultfalseallowtitles {Boolean}, umožňuje tituly pro všechny hodnoty řádku, volitelná předvolbafalsebutton {String}odkaz nafunction(btn_name, row, btn_element, event, name)je spuštěn, pokud uživatel klikne na button v řádkuexec {String}odkaz nafunction(type, filter, sort, page)pouze pro serverové operace (vypouští třídění a filtrování klienta), podporované typy:refreshnebopagechanged {String}pathna proměnnou nebo cestu kfunction(rows, grid)se provádí, pokud uživatel změnil některé řádkychange {String/Boolean}boolean umožňuje vnitřní úpravu nebo řetězec musí obsahovatpathk proměnné nebo trasa kfunction(meta, next(meta))je spuštěna, pokud uživatel dvakrát klikne na sloupec (metamůže býtnullpokud je síť obnovena) +next(null)nahrazuje předchozí obsah znovucolumns {String}je cesta k definicicolumns {Array}dblclick {String}odkaz na metodufunction(row, grid, row_el), je spuštěn, pokud uživatel klikne na řádeknoborder {Boolean}může deaktivovat hranice kolem sítě (předvolené:false)clusterize {Boolean}může vypnout klastrované otáčení (podmínkou:true)contextmenu {String}odkaz nafunction(e, grid)když uživatel zvyšuje kontext menuautoformat {Boolean}umožňuje typy automatického formátu, jako jeemail,phoneanumber(předvolené:true)controls {Boolean}umožňuje kontroly definované vcolumns(podmínkou:true)hfunc {String}odkaz na metodufunction(el), je spuštěn, pokud uživatel klikne na ikonu přidanou do velmi prvního řádu hlavy. usefull integrovat jinou složku s DataGrid. např. j-filterhfuncicon {String}hfunc ikona např. domácí, cog atd.pagination {Boolean}aktivuje/neaktivuje stránku (podmínkou:true)config.execbude spuštěn, pokud je řádek na konci, a můžete použít jako surovou odpověďarrayřádků
ovalue {String}je výchozí klíč pro získánívaluezcolumn.options(důvodní:id)otext {String}je výchozí klíč pro získánítextzcolumn.options(důvodní:name)
Kolonové vlastnosti:
name {String}- název pole v řádném objektutext {String}sloupec, text s.ti ti-homebude zobrazovat Total ikonutitle {String}nástrojový tip sloupce (volitelné)width {Number}Široká šířka sloupce (volitelná, výchozí)config.colwidth)filter {String/Boolean}je místo pro filtr nebobooleanmůže vypnout filtr pro tento sloupec (volitelné)filtervalue {Object}volitelně, předdefinovaná hodnota filtru (podle předvolby:undefined)filtertype {Number/String},1zabraňuje chytrému vyhledávání (podmínkou:0- znamená, že je aktivováno chytré vyhledání)align {String}může býtcenterneboright(volitelné, výchozí:left)template {String}může být šablona Tangular a model je celým předmětem řádkusorting {Boolean}umožňuje srovnání (volitelné, předběžné:true)search {Boolean/String}truebude filtrovat hodnotu podle výsledkutemplateneboStringmůže být šablona Tangular, která bude použita jako hodnota pro vyhledáváníformat {String/Number}lze použít pro datum a čísla (počet desítek) pole (volitelné), např.dd.MM.yyyyhide {Boolean}ukrývá sloupeclistcolumn {Boolean}default:pravdivý, falešný pro odstranění sloupce ze seznamu sloupcůhidden {String}jako šířka funkcecolumn => true-> sloupec bude skryta (například pro omezení uživatele)options {Object Array}volitelný, přizpůsobený filtr například[{ text: 'yes', value: true }, { text: 'no', value: false }]o {String}r odkaz na zdroj datotext {String}volitelný, klíč pro poletextvoptions, předvolenýconfig.otextovalue {String}volitelný, klíč pro polevaluevoptions, předvolenýconfig.ovaluebuttonapply {String}volitelné, štítek pro tlačítkoApplyv sloupcích, předběžně:Applyclass {String}volitelný, přizpůsobený název třídyempty {String/Boolean}volitelně, může přepsat prázdnou hodnotu s hodnotou definovanou v prázdném poli (hodnotatruepoužívá hodnotu---jako předvolenou hodnotu)min {Number}editable pouze min. hodnotamax {Number}editovatelný pouze max. číslo hodnotyrequired {Boolean}- pouze editovatelnýdirsearch {String/Boolean}místo pro vyhledáváníj-Directory, boolean sfalsebude vypnutýtype {String}volitelně, může obsahovat typ údajů (string,boolean,date,number,email,phonenebourl) pro poleeditable {Boolean}umožňuje úpravu- Název měny
currency {String}(musí být definován vDEF.currencies) editable {String}Cesta k úpravěfunction(meta)Důležité je:meta.next(new_value)nebometa.cancel()colorize {Boolean}umožňuje barevnost hodnotymonospace {Boolean}umožňuje monospace typ písma- NEW
raw {Boolean}umožňuje/nemožňuje únik HTML ve sloupcích filtrov (podle předvolby:false) - NEW
pair {Boolean}umožňuje/vypustí automatickou hodnotu v kombinaci s konfiguracíoptions(default:false)
Kontrolní řád (NEW):
- Může být definován jako sloupec typu
controls - musí definovat sloupec
template(Tangular,rowje model pro Tangular pro každý řádek) - Podívejte se na příklad
- tlačítko
clickUdálost je zachycenaconfig.button
filtrování:
numbers: (1)numbervyhledává přesné číslo, (2)number - numberje interval mezi číslystrings: (1)stringvyhledává přesný řádek, (2)string1, string2, string3je více vyhledávacím kritériemdates(1) Roky2017Vyhledávání všech dat v letošním roce (2)2017-02-12 - 2017-03-13--02.12.2017 - 13.03.2017je interval mezi daty, (3)12-20 - 12-31--20.12 - 31.12Rozdíl mezi daty v aktuálním roce a (4)2017-01 - 2018-05--01.2017 - 05.2018nebo (5)-5 days---1 week---10 years
Metody:
component.redraw([reselect_again])může znovu přehrávat řádky (pouze pro změny, pokud odstraníte některé řádek potřebujete aktualizovat celý model)component.resetfilter()může nastavit filtrcomponent.exportrows(page_from or true from the current page, pages_count, callback(rows, internal_options), [reset_to_page or true for the current page])může exportovat řádky s serverovým renderemcomponent.appendrow(row_object, [scrolldown], [prepend])přidává a řádícomponent.redrawrow(row_object, [new_object_row])redraws řádek nebo NEW: nahrazuje +redrawsrow_objectnovýmnew_object_rowcomponent.clear()vyčistí všechny změnycomponent.select(row)vybererowmusí být stejný objekt jako v datovém zdrojicomponent.editcolumn(row_index, col_index)provádíconfig.changeinterně (pouze pro pokročilé použití)component.applyfilter(obj)může použít přizpůsobený filtr{ name: 'Peter', age: '20 - 50' }component.resetcolumns()opětovný kolumncomponent.readfilter()vrátí aktuální filtrcomponent.rebind(schemaname__or__columnsdeclaration)- Metoda odráží schémacomponent.reload()provádíconfig.execs aktuálním filtrem a řadoucomponent.empty()všechny řádkycomponent.redrawcolumns()redraw sloupce bez jejich přestavby- NEW:
component.schema(name)mění schématu a aktualizuje data
Vlastnosti:
component.metavrací interní meta informace o filtech, sloupcích a řádcích
Dobré vědět:
NULL('link.to.data')Hodnoceníconfig.execSET('link.to.data', data, 'noscroll')-> typnoscrollznemožňuje resetování
Jak rozšiřovat třídu řádku?
- Podívejte se na
{{ if active }}Způsob, jak rozšířit třídu řádku přidánímdg-active-classPokud jeactiveBude platný
[
'{{ if active }} dg-active-class{{ fi }}',
{ name: 'name', text: 'Name', width: 200 },
// other columns ...
]Množství schémat:
<ui-component name="datagrid" path="obj">
<script type="text/plain" data-id="SCHEMA_A">
[
{ name: 'name', text: 'Name', width: 200 },
// ...
]
</script>
<script type="text/plain" data-id="SCHEMA_B">
[
{ name: 'price', text: 'Price', width: 100 },
// ...
]
</script>
</ui-component>
<script>
// Usage
var obj = {};
obj.schema = 'SCHEMA_A';
obj.items = [];
// Changing of schema
setTimeout(function() {
obj.schema = 'SCHEMA_B';
obj.items = [];
UPD('obj');
}, 5000);
</script>Použijte ji s <ui-component name="datagrid">Pokud je součástka ještě nezačleněna, jComponent Stáhnout ji na první použití z adresy DEF.fallback a) The Componentator CDN dle předvolby. autor: Peter Širka. zdroj: Componentator Výrobce je autorizován, MIT licence.
<ui-component name="LAZY directory"></ui-component>
<ui-component name="datagrid" path="items" config="margin:22;button:clicked">
<script type="text/plain">
[
{ name: 'name', text: 'Name', width: 200 },
{ name: 'price', text: 'Price', align: 1, alignfilter: 1 },
{ name: 'published', text: 'Public', align: 1, options: [{ name: 'yes', id: true }, { name: 'no', id: false }], type: 'boolean' },
{ name: 'description', text: 'Description', filter: 'Search in description' },
{ name: 'created', text: 'Created', template: '{{ created | format(\'dd.MM.yyyy\') }}', align: 2, alignfilter: 2, alignheader: 2 },
{ type: 'controls', template: '<button name="show"><i class="ti ti-search"></i><span>Show</span></button><button name="edit"><i class="ti ti-pencil"></i></button><button name="remove"><i class="ti ti-trash red"></i></button>' }
]
</script>
</ui-component>
<script>
var items = [];
for (var i = 1; i < 90; i++)
items.push({ name: '{0} Lorem ipsum dolor'.format(i), published: i % 5 !== 0, description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consectetur, mollitia!', price: i + 100, created: new Date().add('-5 days') });
function clicked(btnname, row, button, e) {
console.log(btnname, row);
}
</script>