j-Tree
Konfiguration:
first {Boolean}wählt das erste Baum, Standard:true(optional)exec {String}bedarf: Link zu einer Funktion, diese Funktion wird ausgeführt, wenn die Node im Baum ausgewählt istautoreset {Boolean}nimmt den Zustand zurück, wenn die Datenquelle geändert wird (optional, Standard:false)selected {String}ausgewählte Klasse (optional, Standard:selected)checked {String}optionale, eine Route nachfunction(arr, component)oder eine Rate nachpropertycheckednested {Boolean}optionale, überprüft alle Nested Artikel (Default:true)upload {String}optionale, eine Route nachfunction(item, files)(erlaubt die Entfernung und Abfuhrdateien)dragdrop {String}optionale, eine Strecke nachfunction(item, target_item, itemel, targetel)(erlaubt Drachen und Abfällen)options {String}optionale, eine Route nachfunction(item, el)ermöglicht einen kleinen Button für ein Inline-Kontextmenü für jedes Elementrename {String}optional, ein Pfad zufunction(item, newname, fn_accept(true))unselectexpand {Boolean}optionale, kannunselectausgewähltes Element, wenn der Benutzer auf das erweiterbare Element klickt (Default:false)reselect {Boolean}optionale, beurteiltexecerneut, wenn das Baum erfrischt wird (Default:false)selectexpand {Boolean}optionale, ermöglicht die Ergänzung derselectedKlasse zu erweiterbaren Elementen (Default:false)iconoptions {String}-Ikon für Optionen (Default:ti ti-ellipsis-h)expanded {Boolean}erweitert alle Kinder (Default:false)- NEW:
contextmenu {String}optionale, eine Route zumfunction(item, el)ermöglicht den Kontextmenü - NEW:
key {String}kann alsindexin den folgenden Methoden verwendet werden (Default:path)
Datenstruktur:
- Objekt Array
- Objekt muss
name:Stringundchildren:[another similar object]oderchildren:nullenthalten (mit keinem Kind) - Objekt kann
..., icon: 'home' }enthalten, es kann eine Datei-Ikon ändern - Das Objekt kann
..., classname: 'css_custom_class' }enthalten, es fügt einen CSS-Klasse auf das Element "Label" hinzu - Objekt kann
..., html: 'RAW_HTML'{String} Render HTML-Tags stattnameFeld enthalten
Methoden:
component.expand([index])- erweitertindexoderall(mit kein definierterindex) Knotencomponent.collapse([index])- Kollapsindexoderall(mit kein definierterindex) Knotencomponent.clear()- reinigt eine Cache für die Erfrischung der Quellecomponent.select(index)- Node auswählencomponent.unselect()- Unselekt Nodecomponent.rename(index)- zeigtinputfür den Namen (es funktioniert mitconfig.rename)
Gut zu wissen:
Setter erweitert automatisch jedes Objekt, indem es eine .$pointer Eigenschaft mit einem Baumindex hinzufügt.
Verwenden Sie es mit <ui-component name="tree">. Wenn die Komponente noch nicht geladen ist, lädt jComponent sie bei der ersten Verwendung von der Adresse in DEF.fallback herunter (standardmäßig das CDN Componentator). Autor: Peter Širka. Quelle: Componentator-Komponenten-Repository, MIT-Lizenz.
<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>