# j-ListMenuEditable

> Състав за редактиращ списък

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: bg
Content-SHA256: 9b84db132ec8fbb655a4178eb98271fbdbc58b1ea212cd17aa5d40680b8ea31d
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

Състав за редактиращ списък

- Можете да промените CSS за вашите нужди.


__Конфигуриране__:

- `iconremove {String}` опция, промяна на иконата на бутона `remove`. това е фонавесен икона без частта на `ti-` (предварително: `times`)
- `defaulticon {String}` опция, промяна на иконата на бутона `edit` (дефолт: `pencil-alt`)
- `addicon {String}` опционално, ще промени иконата на бутона `add` (предварително: `plus-square`)
- `placeholder {String}` опционално, място за вход (предварително: `Write text and press ENTER`)
- Класа `class {String}` CSS за избрани елементи (предварително: `selected`)
- `title {String}` опционално, ще добавите заглавие в горната част на менюто (важно, ако искате да използвате `addicon` и `addclick`)
- `key {String}` опционално, стандартно `key` за стойността на `text` (предварително: `name`)
- `click {String}` опция, действие след кликване върху елемента в менюто. Пътят към функцията(елемент, индекс)
- `addclick {String}` опционално, действие след кликване на бутона `add ` Пътят към функцията() изпълнява, когато потребителят кликне върху иконата `add`
- `editclick {String}` опция, действие след щракване на бутона `edit`.

__Методи__:

- `component.add(object)` - Тази функция ще потисне обекта в пътя (може да бъде нула)
- `component.edit(index)` - Функцията ще позволява редактиране на елемента
- `component.remove(index)` - Функцията ще премахне индекса

__Добре е да се знае__:

Пътят __must be__ набор от обекти. след като кликнете върху елемента в менюто
Подкрепя динамична оценка на съдържанието на `<script type="text/html">`. Примерът по-долу съдържа скрипт с HTML и компонентът оценява съдържанието, когато компонента се създава (само веднъж).

```
<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>
```

__Добавяне на класиране__:

```javascript
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', classname: 'your_class_name' });
```

__Съвместно редактиране__:

```javascript
var opt = {};
opt.items = [];
opt.push({ name: 'Total.js', editable: true });
```

Използвайте го с `<ui-component name="listmenueditable">`Когато компонентът все още не е зареден, jComponent Изтегляне на първия адрес в `DEF.fallback` (След това Componentator Автор: Денис Гран. източник: The Componentator Съставни съставки, лиценз на MIT.

```html example.html
<!-- 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>
```
