# j-Part

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

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

Този компонент може да обработва различни съдържания асинхронно. __Ако елементът не съдържа съдържание__ тогава компонентът изтегля съдържанието в съответствие с `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` във формата: `parts.` + `config.if` за разширяване на части. Това може да бъде много полезно за някои системи за добавки.

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

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

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

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

```html example.html
<ui-component name="part" path="currentpart" config="if:home;url:/bla/bla/home.html"></ui-component>
<ui-component name="part" path="currentpart" config="if:services;url:/bla/bla/services.html;reload:services_reload"></ui-component>
<ui-component name="part" path="currentpart" config="if:contact;url:/bla/bla/contact.html;reload:contact_reload"></ui-component>

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

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