# j-DynamicValue

> Tato složka je velmi speciální složka.Může udržet hodnotu například číslo a zároveň může vytvořit další čitelný text.Tento složka se optimalizuje pro dynamické použití, takže musí být

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

Tento komponent je velmi speciální složka.Může udržet hodnotu například `Number` a zároveň může činit další čitelný `text`.Tento komponent je optimalizován pro dynamické použití, takže musí být připojen k jinému komponentu nebo části.


- `icon {String}` ikona pro štítky např. domácí, cog atd.
- `label {String}` štítek (default je HTML obsah)
- `icon2 {String}` ikona v pravém krabici např. domů, hnízdek atd. (předvolené: `angle-down`)
- `placeholder {String}` přidává text
- `disabled {Boolean}` tento složek deaktivuje
- `find {String}` __important__ odkaz na `function(el, next(value))` pro zavedení nové hodnoty
- `read {String}` odkaz na `function(value, next(response))` pro připojení čitelného `text`
- `url {String}` se snaží spojit hodnotu prostřednictvím `AJAX()`, argument `{0}` v URL je nahrazen hodnotou
- `html {String}` Tangular šablona pro předávání hodnoty (předvolené: `{{ name }}`)
- `remap {String}` Funkce opravy (default) `null`a příkladem : `value.length ? value[0] : null`
- `required {Boolean}` umožňuje „potřebné“ (předvolené: `false`)
- `bind {String}` je cesta k metodu nebo variabilu, kde bude připojena nabízená hodnota (volitelná)
- `dirsource {String}` odkaz na metodu `function(search, next(items_arr))` nebo __NEW__: může obsahovat URL pro vyhledávání ve formě `GET /api/partners/?q={0}`
- `dircustom {String/Boolean}` může obsahovat cestu k funkci(val, další(new_val)) nebo může být Boolean. Tato možnost umožňuje přidání vlastního hodnoty (hodnota není definována v zdroji dat)
- `dirrender {String}` je cesta k `function(item, text)` (musí vrátit HTML pro j-Directory), tato funkce může ovlivnit seznam položek v j-Directory
- Minimální šířka `dirminwidth {Number}` pro j-Directory (předvolená: `200`)
- `dirmaxwidth {Number}` Maximální šířka pro j-Directory
- `dirplaceholder {String}` - místo pro j-Directory
- `dirempty {String}` přidává prázdné pole pro j-Directory
- `dirkey {String}` - klíčové jméno pro čtení textu v zdrojovém zdroji (předvolené: `name`)
- `dirvalue {String}` je klíčový název pro čtení hodnoty v zdrojovém zdroji (předvolené: `id`)
- `onresponse {String}` je cesta k vlastnictví nebo `function(response)`, která se provádí, pokud je reakce zpracována (předběžně: `undefined`)
- __NEW__ `tapi {Boolean}` umožňuje volání `TAPI()` insteadof `AJAX()` (případně: falešný)

### Použití Ajax

Pokud se `value` změní, komponenta provede volání `AJAX` automaticky.

```html
<ui-component name="dynamicvalue" path="path.to.property" config="url:/users/{0}/;dirsource:GET /users/?search={0}"></ui-component>
```

### Inline využití

Pokud se změna `value` provede, komponenta provede `config.exec` pro získání čitelného textu hodnoty.

```html
<ui-component name="dynamicvalue" path="path.to.property" config="exec:my_function"></ui-component>

<script>
	function my_function(value, next) {
		next({ name: 'This text will be displayed as a value '});
	}
</script>
```

__Dobré vědět__:

- `component.response` obsahuje surovou reakci z výsledku

Použijte ji s `<ui-component name="dynamicvalue">`Pokud je součástka ještě nezačleněna, jComponent Stáhnout ji na první použití z adresy `DEF.fallback` a) The Componentator CDN dle předvolby. autor: Peter Širka. zdroj: Componentator Výrobce je autorizován, MIT licence.

```html example.html
<div style="width:300px">
	<ui-component name="dynamicvalue" path="userid" config="exec:getuser;click:finduser;placeholder:Choose a user">User</ui-component>
</div>

<script>
	var userid = 1;

	function getuser(value, next) {
		// Here you can read a readable text
		// Value is binded according to the "config.html" Tangular template
		next({ name: 'Peter' });
	}

	function finduser(element, next, current_value) {
		// "next" must received a new value which will be binded from e.g. j-Suggestion or some j-Form
		// a value will be automatically binded according to the component "path"
		next(1);
	}

</script>
```
