# j-Page

> Tento komponent dokáže asynchrónne spracovať rôzny obsah. Komponent má rovnakú funkčnosť ako j-Part. Ak prvok neobsahuje žiadny obsah, komponent stiahne obsah podľa

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

Tento komponent dokáže asynchrónne spracovať rôzny obsah. Komponent má rovnakú funkčnosť ako `j-Part`. __Ak prvok neobsahuje žiadny obsah__, komponent stiahne obsah podľa `url` definovaného v konfigurácii.

- __NEW__ `path` môže obsahovať `{String Array}`

__Konfigurácia__:

- Vyžaduje sa `url {String}`, relatívna adresa URL
- Vyžaduje sa `if {String}`, podmienka, je porovnaná s hodnotou v rámci `path` (__NEW__: podporuje viacero ciest delených `comma`)
- `reload {String}` voliteľné, odkaz na funkciu `function(init) {}`, vykoná sa, keď je stránka viditeľná (vždy)
- `hidden {String}` voliteľné, odkaz na funkciu, spustí sa, keď je stránka skrytá (vždy)
- `init {String}` voliteľné, odkaz na funkciu, spustí sa, keď je stránka viditeľná a jednorazovo
- `default {String}` voliteľné, krátky alias pre `DEFAULT(default)`
- `hide {Boolean}` voliteľné, automaticky skryť prvok, ak podmienka `if` nie je platná (predvolené: `true`)
- `cleaner {Number}` voliteľné, čas nečinnosti (v minútach) pre spustenie čistenia (predvolené: `0`)
- `clean {String}` voliteľné, odkaz na funkciu, vykoná sa pred vyčistením stránky
- `loading {Boolean}` voliteľné, umožňuje načítanie cez `SETTER('loading')` (predvolené: `true`)
- `path {String}` voliteľné, komponent nahradí všetky frázy `~PATH~` a `CLASS` za hodnotu `path` v stiahnutej šablóne
- `replace {String}` voliteľné, odkaz na metódu `function(content) { return content }`, ktorá môže upraviť stiahnutú šablónu
- `absolute {Boolean}` voliteľné, umožňuje absolútnu polohu (predvolené `false`)
- `check {String}` voliteľné, odkaz na funkciu `function(next) { next(); }`, vykoná sa, keď sa stránka chce zobraziť
- `invisible {Boolean}` umožňuje pridanie triedy `invisible`, keď sa stránka skryje (predvolené: `false`)
- `delay {Number}` oneskorenie (v ms) na odstránenie triedy `invisible` a skrytie `loading` (predvolené: `500`)
- `autofocus {Boolean/String}` zaostrí prvý vstup, textovú oblasť (predvolené: `false`)
- `delayloading {Number}` oneskorenie (v ms) na skrytie `loading` (predvolené: `800`)
- `id {String}` vlastný identifikátor na nahradenie fráz `~ID~` v importovanom HTML (predvolené: prázdne)

__Je dobré vedieť 1__:

- všetky frázy `CLASS` a `~PATH~` budú automaticky nahradené výrazmi `config.path` alebo `config.if`
- všetky frázy `~ID~` budú automaticky nahradené frázami `config.id`

__Je dobré vedieť 2__:

Komponent stránky vydáva `event` v tvare: `pages.` + `config.if` pre rozšírenie strán. To môže byť veľmi užitočné pre niektoré systémy doplnkov. Príklad:

__Je dobré vedieť 3__:

Ak komponent stránky nie je v rozsahu, potom hodnota zo `config.if` nahradí znaky `?` vo všetkých konfiguračných kľúčoch.

```js
ON('pages.YOURIFCONDITION', function(element, pagecomponent) {
	// It's executed only when the page is initialized
});
```

Použite ho so `<ui-component name="page">`. 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
<ui-component name="page" path="currentpage" config="if:home;url:/bla/bla/home.html"></ui-component>
<ui-component name="page" path="currentpage" config="if:services;url:/bla/bla/services.html;reload:services_reload"></ui-component>
<ui-component name="page" path="currentpage" config="if:contact;url:/bla/bla/contact.html;reload:contact_reload"></ui-component>

<pre><code>SET(&#39;currentpage&#39;, &#39;home&#39;);</code></pre>

<script>
	var currentpage = '';
</script>
```
