j-ListMenuEditable
Komponente für bearbeitbares Listenmenü
- Sie können CSS an Ihre Bedürfnisse anpassen.
Konfiguration:
iconremove {String}optional,remove-Schaltflächensymbol ändern. Es ist ein fantastisches Symbol ohneti--Teil (Standard:times)defaulticon {String}optional,edit-Schaltflächensymbol ändern (Standard:pencil-alt)addicon {String}optional, ändert das Schaltflächensymboladd(Standard:plus-square)placeholder {String}optional, ein Platzhalter für die Eingabe (Standard:Write text and press ENTER)class {String}CSS-Klasse für ausgewähltes Element (Standard:selected)title {String}optional, fügt den Titel oben im Listenmenü hinzu (wichtig, wenn Sieaddiconundaddclickverwenden möchten)key {String}optional, ein Standardwertkeyfürtext(Standard:name)click {String}optional, Aktion nach Klick auf Element im Menü. Pfad zur Funktion (Element, Index)addclick {String}optional, Aktion nach Klick auf die Schaltflächeadd. Der Pfad zu function() wird ausgeführt, wenn der Benutzer auf dasadd-Symbol klickteditclick {String}optional, Aktion nach Klick auf die Schaltflächeedit. Pfad zur Funktion (Element, Index)
Methoden:
component.add(object)– Diese Funktion schiebt das Objekt in den Pfad (kann null sein)component.edit(index)– Funktion ermöglicht die Bearbeitung eines Elementscomponent.remove(index)– Funktion entfernt den Index
Gut zu wissen:
Der Pfad muss ein Array von Objekten sein. Nachdem Sie auf den Eintrag im Menü geklickt haben
Unterstützt die dynamische Auswertung des Inhalts von <script type="text/html">. Das folgende Beispiel enthält ein Skript mit HTML und die Komponente wertet den Inhalt aus, wenn die Komponente erstellt wird (nur einmal).
<ui-component name="listmenueditable" path="tags">
<script type="text/html">
{{ if mycolor }}
<i class="ti ti-circle" style="color: {{ mycolor }}"></i>
{{ fi }}
{{ name }}
</script>
</ui-component>Hinzufügen einer benutzerdefinierten Klasse:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', classname: 'your_class_name' });Bearbeitbar umschalten:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', editable: true });Verwenden Sie es mit <ui-component name="listmenueditable">. 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: Denis Granec. Quelle: Componentator-Komponenten-Repository, MIT-Lizenz.
<!-- EXAMPLE DEPENDENCIES -->
<ui-component name="menu"></ui-component>
<div style="width: 400px;">
<ui-component name="listmenueditable" path="tags" config="title:All tags;editclick:edit;addclick:add;click:click">
<script type="text/html">
{{ if mycolor }}
<i class="ti ti-circle-alt" style="color: {{ mycolor }}"></i>
{{ fi }}
{{ name }}
</script>
</ui-component>
</div>
<script>
var tags = [{ name: 'Tag 1', mycolor: '#00B9D7', editable: true, classname: 'customclass', mycustomdata: 'ola' }, { name: 'Tag 2', mycolor: '#00A06E', editable: true, mycustomdata: 'ola2' }];
function click(el, item, index) {
console.log('clicked index', index, 'item', item);
}
function edit(el, index, icon) {
var opt = {};
opt.items = [{ name: 'Edit', id: 'edit' }, { name: 'Remove', icon: 'trash', id: 'remove' }];
opt.align = 'center';
opt.element = icon;
opt.callback = function(selected) {
switch (selected.id) {
case 'edit':
SETTER('listmenueditable/edit', index);
break;
case 'remove':
SETTER('listmenueditable/remove', index);
break;
}
};
SETTER('menu/show', opt);
}
function add() {
SETTER('listmenueditable/add', { name: 'New tag', mycolor: '#8e44ad', editable: true });
}
</script>