j-ListMenuEditable
Componente para menú de lista editable
- Puedes cambiar CSS según tus necesidades.
Configuración:
iconremove {String}opcional, cambia el icono del botónremove. Es un ícono impresionante sin la parteti-(predeterminado:times)defaulticon {String}opcional, cambia el ícono del botónedit(predeterminado:pencil-alt)addicon {String}opcional, cambiará el ícono del botónadd(predeterminado:plus-square)placeholder {String}opcional, un marcador de posición para entrada (predeterminado:Write text and press ENTER)class {String}Clase CSS para el elemento seleccionado (predeterminado:selected)title {String}opcional, agregará el título en la parte superior del menú de lista (importante si desea usaraddiconyaddclick)key {String}opcional, un valor predeterminadokeyparatext(predeterminado:name)click {String}opcional, acción después de hacer clic en un elemento del menú. Ruta a la función (elemento, índice)addclick {String}opcional, acción después de hacer clic en el botónadd. La ruta a la función() se ejecuta cuando el usuario hace clic en el íconoaddeditclick {String}opcional, acción después de hacer clic en el botónedit. Ruta a la función (elemento, índice)
Métodos:
component.add(object)- Esta función empujará el objeto a la ruta (puede ser nulo)component.edit(index)- La función permitirá editar el elementocomponent.remove(index)- La función eliminará el índice
Es bueno saberlo:
La ruta debe ser una matriz de objetos. Después de hacer clic en el elemento del menú
Admite la evaluación dinámica del contenido de <script type="text/html">. El siguiente ejemplo contiene un script con HTML y el componente evalúa el contenido cuando se crea (solo una vez).
<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>Adición de clase personalizada:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', classname: 'your_class_name' });Alternar editable:
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', editable: true });Úselo con <ui-component name="listmenueditable">. Cuando el componente aún no está cargado, jComponent lo descarga en el primer uso desde la dirección en DEF.fallback (el CDN Componentator de forma predeterminada). Autor: Denis Granec. Fuente: repositorio de componentes Componentator, licencia MIT.
<!-- 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>