j-Tree
Configuratie:
first {Boolean}selecteert het eerste hout item, standaard:true(optional)exec {String}verplicht: een link naar een functie, deze functie wordt uitgevoerd wanneer de knop is geselecteerd in de boomautoreset {Boolean}herstelt de status wanneer de gegevensbron wordt gewijzigd (optional, default:false)selected {String}geselecteerde klasse (optional, standaard:selected)checked {String}Optie, een weg naarfunction(arr, component)Of de weg naarpropertycheckednested {Boolean}optioneel, controleert alle gebogen items (default:true)upload {String}optioneel, een route naarfunction(item, files)(mogelijk draag & drop bestanden)dragdrop {String}optioneel, een route naarfunction(item, target_item, itemel, targetel)(mogelijk dragen en drop items)options {String}optioneel, een route naarfunction(item, el)maakt een kleine knop mogelijk voor een inline contextmenu voor elk itemrename {String}optioneel, een weg naarfunction(item, newname, fn_accept(true))unselectexpand {Boolean}optioneel, kanunselectgeselecteerd item wanneer de gebruiker klikt op het uitbreidbare item (default:false)reselect {Boolean}optioneel, beoordeeltexecopnieuw als de boom is verfrissend (default:false)selectexpand {Boolean}optioneel, mogelijk het toevoegen van deselectedklasse aan uitbreidbare items (default:false)iconoptions {String}icon naar opties (default:ti ti-ellipsis-h)expanded {Boolean}breidt alle kinderen uit (default:false)- NEW:
contextmenu {String}optioneel, een route naarfunction(item, el)maakt de muis contextmenu mogelijk - NEW:
key {String}een waarde kan worden gebruikt alsindexin de onderstaande methoden (default:path)
De gegevensstructuur:
- Objecten Array
- Het object moet
name:Stringenchildren:[another similar object]ofchildren:nullbevatten (met geen kinderen) - Object item kan
..., icon: 'home' }bevatten, het kan een bestand icon wijzigen - Object item kan
..., classname: 'css_custom_class' }bevatten, het voegt een CSS-klasse toe aan het element "Label" - Object item kan
..., html: 'RAW_HTML'{String} renders HTML tags in plaats vannameveld bevatten
Methoden:
component.expand([index])- uitbreidt deindexofall(met geen gedefinieerdeindex) nodencomponent.collapse([index])- collapsesindexofall(met geen gedefinieerdindex) nodencomponent.clear()- reinigt een cache om de bron te verfrisserencomponent.select(index)- selecteert de knopcomponent.unselect()- Onverkiezingsnodecomponent.rename(index)- toontinputvoor naamvernieuwing (dit werkt metconfig.rename)
Goed om te weten:
Setter breidt automatisch elk object door een .$pointer eigenschap toe met een boomindex.
Gebruik het met <ui-component name="tree">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.
<style>
.ui-tree { border: 1px solid #E0E0E0; }
.ui-dark .ui-tree { border: 1px solid #404040; }
</style>
<div class="container">
<div class="col-md-6">
<div>Open Web Developer Console</div>
<br />
<ui-component name="tree" path="nodes" config="exec:fn_selected;checked:fn_checked"></ui-component>
</div>
</div>
<script>
var nodes = [];
nodes.push({ name: 'Item 1', children: null });
nodes.push({ name: 'Item 2', children: null });
nodes.push({ name: 'Item 3', children: [{ name: 'SubItem 3 / 1', children: [{ name: 'SubItem 3 / 1 / 1', children: null }]}]});
nodes.push({ name: 'Item 4', children: null });
nodes.push({ name: 'Item 5', children: [{ name: 'Subitem 5 / 1', children: null }, { name: 'Subitem 5 / 2', children: [{ name: 'Subitem 5 / 2 / 1', children: [{ name: 'Subitem 5 / 2 / 1 / 1', children: null }]}] }, { name: 'Subitem 5 / 3', children: null }]});
function fn_selected(node, isGroup, expanded) {
console.log('SELECTED NODE:', node, isGroup, expanded);
}
function fn_checked(checked) {
console.log('CHECKED', checked);
}
</script>