# j-Suggestion

> Ak hodnota nie je definovaná, komponent použije názov ako hodnotu.

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: sk
Content-SHA256: 15d21f5f0db4a141db989c0e40722f9ec6e6cd7d0bf8d4524bca7802b1ab59e0
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

- podporuje 3 orientácie `left`, `center` a `right`
- singleton
- pracuje s Bootstrap Grid System
- pracuje s dotykmi
- podporuje __tmavý režim__


__Metódy__:

Metóda: `component.show(orientation, targetElement, [items/function(search, next)], clickCallback)`

- `orientation {String}` môže byť `left`, `center` alebo `right`
- `targetElement {Selector/jQuery/Element}` cieľ, kde bude komponent viditeľný
- `items {Array}` voliteľné a musí mať túto štruktúru: `[{ name: String, value: String, icon: String }]` inak budú položky načítané z atribútu `data-options` cieľa.
- `callback(selectedItem) {Function}` sa spustí, keď používateľ klikne na položku

Metóda: `component.hide()`

__Atribúty__:
- `targetElement` môže obsahovať atribút `data-options="Name 1|ti-building|Value 1;Name 2|ti-github|Value 2;"` so všetkými položkami kontextového menu.

__Konfigurácia__:
- `placeholder` - zástupný znak pre vstup vyhľadávania

__Vyhľadávanie na strane servera__:

```javascript
SETTER('suggestion', 'show', element, function(search, next) {
	next([{ name: 'Item 1' }, { name: 'Item 2' }]);
}, function(selected) {
	console.log(selected);
});
```

Ak `value` nie je definované, komponent použije `name` ako `value`.

__Globálne udalosti__:

```javascript
ON('suggestion', function(visible, component, target) {
	console.log('Suggestion is', visible ? 'visible' : 'hidden');
});
```

Použite ho so `<ui-component name="suggestion">`. Keď komponent ešte nie je načítaný, jComponent ho stiahne pri prvom použití z adresy v `DEF.fallback` (predvolene CDN Componentator). Autor: Peter Širka. Zdroj: úložisko komponentov Componentator, licencia MIT.

```html example.html
<style>
	body { background-color: #F0F0F0; }
</style>

<ui-component name="suggestion" config="placeholder:Search ..."></ui-component>

<div class="container">
	<a href="javascript:void(0)">Suggest</a>
</div>

<script>
	$(document).on('click', 'a', function() {
		SETTER('suggestion/show', 'left', this, [{ name: 'Total.js' }, { name: 'Express.js' }, { name: 'Meteor.js' }, { name: 'Koa.js' }, { name: 'ASP.NET' }, { name: 'PHP' }, { name: 'Python' }, { name: 'Node.js' }], function(value) {
			console.log('CLICK', value);
		});
	});
</script>
```
