# j-Page

> Този компонент може да обработва различно съдържание асинхронно. компонентът има същата функционалност като j-Part. Ако елементът не съдържа съдържание, тогава компонентят изтегля съдържанието

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

Този компонент може да обработва различни съдържания асинхронно. компонентът има същата функционалност като `j-Part`. __Ако елементът не съдържа съдържание__ тогава компонентят изтегля съдържанието според `url` дефиниран в конфигурацията.

- __NEW__ `path` може да съдържа `{String Array}`

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

- `url {String}` изисква относителен URL адрес
- `if {String}` изисква, условие, тя е в сравнение с стойността в рамките на `path` (__NEW__: поддържа няколко пътища, разделени от `comma`)
- `reload {String}` опционално, връзка към функцията `function(init) {}`, тя се изпълнява, когато страницата е видима (постоянно)
- `hidden {String}` опция, връзка към функцията, тя се изпълнява, когато страницата е скрита (постоянно)
- `init {String}` е опционален, връзката към функцията се изпълнява, когато страницата е видима и навреме
- `default {String}` опционален, кратък алиас за `DEFAULT(default)`
- `hide {Boolean}` е опционален, автоматично скрит елемент, ако условието на `if` не е валидно (дефолт: `true`)
- `cleaner {Number}` опционално, време за почистване (в минути) (предварително: `0`)
- `clean {String}` е опционален, връзката към функцията се изпълнява преди страницата да бъде почистена
- `loading {Boolean}` опционално, позволява натоварване чрез `SETTER('loading')` (предварително: `true`)
- `path {String}` опционално, компонентът замества всички фрази `~PATH~` и `CLASS` за стойността на `path` в изтеглената шаблон
- `replace {String}` опция, връзка към метода `function(content) { return content }` която може да променя изтеглената шаблон
- `absolute {Boolean}` опция, позволяваща абсолютна позиция (предварително `false`)
- `check {String}` опционален, линк към функцията `function(next) { next(); }`, той се изпълнява, когато страницата иска да покаже
- `invisible {Boolean}` позволява добавяне на клас `invisible` когато страницата ще се скрие (дефолт: `false`)
- `delay {Number}` закъснение (в ms) за премахване на клас `invisible` и скриване на `loading` (предварително: `500`)
- `autofocus {Boolean/String}` се фокусира върху първия вход, textarea (предварително: `false`)
- `delayloading {Number}` закъснение (в ms) за скриване на `loading` (предварително: `800`)
- `id {String}` е персонализиран идентификатор за замяна на фразите `~ID~` в вноса HTML (предварително: празен)

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

- Всички фрази `CLASS` и `~PATH~` ще бъдат заменени с `config.path` или `config.if` автоматично
- Всички фрази на `~ID~` ще бъдат заменени с `config.id` автоматично

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

Страница компонент издава `event` във формата: `pages.` + `config.if` за разширяване на страници.

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

Ако компонентът на страницата не е в обхвата, тогава стойността от `config.if` ще замени знаците на `?` във всички конфигурационни ключове.

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

Използвайте го с `<ui-component name="page">`Когато компонентът все още не е зареден, jComponent Изтегляне на първия адрес в `DEF.fallback` (След това Componentator Източник: Питър Шерка Componentator Съставни съставки, лиценз на 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>
```
