j-DataGrid
Dit netwerk is gemaakt voor single-page toepassingen en bedrijfsapplicaties.
- Een
bootstrap-netwerk nodig - U kunt meer dan 30 000 ronden zonder problemen maken
- Draag en drop columns
- Ondersteunt het sorteren
- ondersteunt het herstellen van kolommen
- Ondersteunt verticale/horizontaal scrolling
- Ondersteunt filters
- Ondersteunt checkboxes
- Custom scrollbars onafhankelijk op OS
- Reactie
- Ondersteunt het donkere mode
- IMPORTANT kolomopties filter vereist
j-Directorycomponent
To-do:
- Multisort
- Columns voor touch-apparaten
- herbestellen van kolommen voor touch-apparaten
_Data-bron__ moet bevatten:
{
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
}of grondige Array, maar u kunt geen pagina's en externe filters gebruiken:
[{ name: 'Row 1' }, { name: 'Row 2' }];Configuratie:
filterlabel {String}een standaard plaatshouder voor alle filters (optional)rememberfilter {Boolean}met waar het herinnert de filters voor elk schema (default:true)schema {String}een standaard schema (default:default)pluralizepages {String}pluralisatie voor pagina's (optional, standaard:# pages,# page,# pages,# pages)pluralizeitems {String}pluralisatie voor items (optional, standaard:# items,# item,# items,# items)height {Number/String}Hoogte van het netwerk, ondersteunde waarden:auto(de standaard) _NIEWfluid,parent( ofparent1,parent2) ofNUMBERAls hoogte ofselectorvoor jQuery.closest()minheight {Number}minimale hoogte van het netwerk, werkt metfluidenautohoogte (default:200)parent {String}selector voor deautohoogte optie (default:window)margin {Number}een topmarge voor hoogte (optional, standaard:0)boolean {String}een waarde voor het filteren van booleanwaarden (optional, default:true|on|yes)resize {Boolean}maakt het mogelijk om kolommen te herstellen (optional, default:true)reorder {Boolean}maakt het mogelijk om kolommen te herbestellen (optional, default:true)sorting {Boolean}maakt het mogelijk om te sorteren (optional, defaulttrue)remember {Boolean}herinnert aan re-order en resing kolommen (optional, standaardtrue)checkbox {Boolean}maakt checkboxes mogelijkcolwidth {Number}een standaard kolombreedte in pixels (optional, standaard150)rowheight {Number}een standaard rijhoogte in pixels (optional, standaard:24) + het hangt af van CSSalignheader {String/Number}Align voor headerright( of2) ofcenter( of1(Optioneel en standaard)left)alignfilter {String/Number}Align voor filterinputright( of2) ofcenter( of1(Optioneel en standaard)left)align {String/Number}Align voor een kolom waarderight( of2) ofcenter( of1(Optioneel en standaard)left)click {String}een link naar een pad offunction(row, grid, row_el), een record wordt toegewezen/uitgevoerd als de gebruiker op een rij kliktclickid {String}een identificator/eigendomsnaam voor terugwerkende redrawing (voor voorafgaande volgorde highlight), standaard:idhighlight {Boolean}wordt aangegeven in elke geselecteerde volgorde (naclick) (default:false)unhighlight {Boolean}maaktundo highlightingvan de geselecteerde volgorde mogelijk (default:true)checked {String}pathnaar een variabele of pad naarfunction(rows, grid)wordt uitgevoerd als de gebruiker bepaalde lijnen heeft geselecteerd/checktautoselect {Boolean}maakt het mogelijk om de eerste rij in het net te selecteren, het uitvoertEXEC(config.click), standaard:falselimit {Number}een clusterslimit, standaard:80numbering {Boolean}, optionele standaardfalseallowtitles {Boolean}, toelaat titels voor alle rijwaarden, optionele standaardfalsebutton {String}een link naarfunction(btn_name, row, btn_element, event, name)wordt uitgevoerd als de gebruiker op een button klikt in de volgordeexec {String}een link naarfunction(type, filter, sort, page)voor server-side-activiteiten alleen (dit stelt de client-side sortering en filteren niet in staat), ondersteunde soorten:refreshofpagechanged {String}pathnaar een variabele of pad naarfunction(rows, grid)wordt uitgevoerd als de gebruiker bepaalde lijnen verandertchange {String/Boolean}boolean toelaat interne bewerking of string moet eenpathbevatten tot een variabele of de route naarfunction(meta, next(meta))wordt uitgevoerd als de gebruiker tweemaal op een kolom klikt (metakannullzijn als het netwerk is verfrissend) +next(null)vervangt de vorige inhoud weercolumns {String}een weg naar de definitie vancolumns {Array}dblclick {String}een link naar defunction(row, grid, row_el)methode, het wordt uitgevoerd als de gebruiker dubbel klikt op een rijnoborder {Boolean}kan een grens rond het netwerk ontgrendelen (default:false)clusterize {Boolean}kan worden uitgeschakeld door clustering (default:true)contextmenu {String}een link naarfunction(e, grid)wanneer de gebruiker het contextmenu opneemtautoformat {Boolean}maakt auto-formaten zoalsemail,phoneennumbermogelijk (de standaard:true)controls {Boolean}maakt controles mogelijk zoals gedefinieerd incolumns(default:true)hfunc {String}een link naar defunction(el)methode, het wordt uitgevoerd als de gebruiker klikt op de icoon toegevoegd aan de eerste headerlijn. usefull om andere componenten te integreren met DataGrid.hfuncicon {String}hfunc icon bijvoorbeeld thuis, cog, enz.pagination {Boolean}mogelijk / niet mogelijk pagina's (default:true)config.execzal worden uitgevoerd als de scrollbar aan het einde is en u kunt gebruiken als de grondresponsarrayvan rijen
ovalue {String}een standaard sleutel voor het verkrijgen vanvaluevancolumn.options(default:id)otext {String}een standaard sleutel voor het verkrijgen vantextvancolumn.options(default:name)
Column eigenschappen:
name {String}een naam van het veld in de volgorde objecttext {String}een kolom label, tekst met.ti ti-homezal de totale icoontitle {String}een kolom tooltip (optional)width {Number}een kolombreedte (optional, standaardconfig.colwidth)filter {String/Boolean}een plaatshouder voor het filter ofbooleankan de filter voor deze kolom uit te schakelen (optional)filtervalue {Object}optioneel, een vooraf gedefinieerde filterwaarde (default:undefined)filtertype {Number/String},1schakelt smart search uit (de standaard:0- het betekent dat smart search is geactiveerd)align {String}kancenterofrightzijn (optional, standaard:left)template {String}kan een Tangular-template zijn en het model is het gehele object van de rijsorting {Boolean}maakt het mogelijk om te sorteren (optional, default:true)search {Boolean/String}truezal een waarde filteren volgens het resultaat vantemplateofStringkan een Tangular template zijn die als waarde wordt gebruikt voor zoekopdrachten.format {String/Number}kan worden gebruikt voor de datum en cijfers (het aantal decimalen) veld (optional), bijvoorbeelddd.MM.yyyyhide {Boolean}verbergt een kolomlistcolumn {Boolean}standaard:waar, vals voor het verwijderen van kolom uit de kolomlijsthidden {String}als een pijlfunctiecolumn => true-> kolom zal verborgen zijn (bijvoorbeeld voor beperkende gebruikers)options {Object Array}optioneel, een aangepaste filter bijvoorbeeld[{ text: 'yes', value: true }, { text: 'no', value: false }]o {String}r link naar gegevensbronotext {String}optioneel, een sleutel voor het veldtextinoptions, standaardconfig.otextovalue {String}optioneel, een sleutel voor het veldvalueinoptions, standaardconfig.ovaluebuttonapply {String}optioneel, een label voor de knopApplyin kolommen, standaard:Applyclass {String}optioneel, een aangepaste kolomklasse naamempty {String/Boolean}optioneel, kan leegte met de waarde gedefinieerd in leeg veld opnieuw schrijven (truewaarde gebruikt---als standaardwaarde)min {Number}editable slechts een min. waardemax {Number}editeerbaar slechts max. getal waarderequired {Boolean}- alleen te bewerkendirsearch {String/Boolean}een plaatshouder voor dej-Directoryzoekopdracht, boolean metfalsezal de zoekopgave uitschakelentype {String}optioneel, kan een gegevenstype bevatten (string,boolean,date,number,email,phoneofurl) voor het veldeditable {Boolean}kan worden bewerktcurrency {String}een muntnaam (dat moet worden gedefinieerd inDEF.currencies)editable {String}Een weg naar aangepaste bewerkbarefunction(meta), belangrijk:meta.next(new_value)ofmeta.cancel()colorize {Boolean}zorgt voor een kleur van de waardemonospace {Boolean}maakt monospace font type mogelijk- NEW
raw {Boolean}maakt/verwijdert HTML ontsnappen in kolomfilters (default:false) - NEW
pair {Boolean}toelaat/uitgeeft auto-waarde in combinatie met de configuratie vanoptions(default:false)
Routenbeheersing (NIE):
- kan worden gedefinieerd als kolomtype
controls - moet worden gedefinieerd kolom
template(Tangular,rowis een model voor Tangular voor elke rij) - Kijk naar het voorbeeld
- De knop
clickgebeurtenis wordt opgenomen naarconfig.button
Filteren:
numbers: (1)numberzoekt een exacte getal, (2)number - numberis een interval tussen cijfersstrings: (1)stringzoekt een nauwkeurige lijn, (2)string1, string2, string3is een meerdere zoekcriteriadates1 jaar2017Zoeken naar alle data in dit jaar (2)2017-02-12 - 2017-03-13--02.12.2017 - 13.03.2017is een interval tussen de datum, (3)12-20 - 12-31--20.12 - 31.12een interval tussen de datum in het huidige jaar en (4)2017-01 - 2018-05--01.2017 - 05.2018of (5)-5 days---1 week---10 years
Methoden:
component.redraw([reselect_again])kan de lijnen opnieuw redraw (alleen voor wijzigingen, als u een aantal lijnen verwijdert die u nodig hebt om het hele model te updaten)component.resetfilter()kan een filter herstellencomponent.exportrows(page_from or true from the current page, pages_count, callback(rows, internal_options), [reset_to_page or true for the current page])kan rijen exporteren met server-side renderingcomponent.appendrow(row_object, [scrolldown], [prepend])appends en renderencomponent.redrawrow(row_object, [new_object_row])redraws rij of NEW: vervangt + redraysrow_objectmet een nieuwenew_object_rowcomponent.clear()verwijdert alle veranderingencomponent.select(row)selecteertrowmoet hetzelfde object zijn als in de gegevensbroncomponent.editcolumn(row_index, col_index)uitvoertconfig.changeintern (alleen voor geavanceerd gebruik)component.applyfilter(obj)kan een aangepaste filter gebruiken{ name: 'Peter', age: '20 - 50' }component.resetcolumns()herstelt kolomcomponent.readfilter()geeft een huidige filter terugcomponent.rebind(schemaname__or__columnsdeclaration)de methode herbindt het schemacomponent.reload()executeertconfig.execmet de huidige filter en sorteringcomponent.empty()empties alle rijencomponent.redrawcolumns()redraw kolommen zonder ze te herstellen- NEW:
component.schema(name)wijzigt een schema en verfrissert gegevens
eigenschappen:
component.metageeft interne meta-informatie over filters, kolommen en lijnen terug
Goed om te weten:
NULL('link.to.data')beoordeeltconfig.execSET('link.to.data', data, 'noscroll')--> typenoscrollontbreekt om te scrollen
Hoe kan ik een klasse van rij uitbreiden?
- Kijk naar de
{{ if active }}-lijn, het vergroot een rangklasse doordg-active-classtoe te voegen als deactivegeldig is
[
'{{ if active }} dg-active-class{{ fi }}',
{ name: 'name', text: 'Name', width: 200 },
// other columns ...
]Multiple schema's:
<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>Gebruik het met <ui-component name="datagrid">Wanneer de component nog niet is geladen, jComponent Download het op eerste gebruik van het adres in DEF.fallback (De Componentator Schrijver: Peter Širka. bron: de Componentator Componenten repository, MIT licentie.
<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>