# j-Parts

> Dieser Inhalt kann mehrere im Array gespeicherte Teile verarbeiten und sich auf einen bestimmten Teil konzentrieren. Es simuliert so etwas wie Browser-Tabs.

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

Dieser Inhalt kann mehrere im `Array` gespeicherte `parts` verarbeiten und sich auf einen bestimmten Teil konzentrieren. Es simuliert so etwas wie Browser-Tabs.


__Konfiguration__:

- `parent {String}` übergeordneter Bereich aufgrund der Teilegröße (Standard: `auto`)
- `margin {Number}` vertikaler Rand (Standard: `0`)
- `create {String}` ein Link zum `function(part)`, er wird ausgeführt, wenn das Teil erstellt wird (einmal aufgerufen)
- `focus {String}` ein Link zum `function(part)`, er wird ausgeführt, wenn das Teil fokussiert ist
- `close {String}` ein Link zum `function(part)`, er wird ausgeführt, wenn das Teil geschlossen ist

__Gut zu wissen 1__:

- Alle `~PATH~`-Sätze werden automatisch durch `item.path` ersetzt
- Alle `~ID~`-Sätze werden automatisch durch `item.id` ersetzt

__Artikelspezifikation__:

- `item.id {String}` sehr wichtig, Teilekennung
- `item.blur {String/Function(el, item)}` optional, ein Link zum `function(element, item)`, wenn das Teil fokussiert ist
- `item.focus {String/Function(el, item)}` oder `item.reload {String}` optional, ein Link zum `function(element, item)`, wenn das Teil fokussiert ist
- `item.remove {String/Function(el, item)}` optional, ein Link zum `function(element, item)`, wenn das Teil entfernt wird
- `item.html {String}` einen HTML-Inhalt oder verwenden Sie `item.url`
- `item.import {String}` URL-Adresse für den Teilinhalt
- `item.path {String}` optional, es ersetzt alle `~PATH~`-Phrasen automatisch
- `item.delay {Number}` eine Verzögerung beim Entfernen der Klasse `invisible`
- __NEW__ `item.attrd {Object}` fügt `data-key`-Attribute zum Elementelement hinzu

__Erweitern um die Komponente__:

- `item.focused {Boolean}` bestimmt, ob das Teil fokussiert ist oder nicht
- `item.element {jQuery}` Teilelement

__Methoden__:

- `component.close(id)` schließt Teil
- `component.focus(id)` fokussiert Teil
- `component.rename(id, name, [icon])` benennt Teil um

Verwenden Sie es mit `<ui-component name="parts">`. Wenn die Komponente noch nicht geladen ist, lädt jComponent sie bei der ersten Verwendung von der Adresse in `DEF.fallback` herunter (standardmäßig das CDN Componentator). Autor: Peter Širka. Quelle: Componentator-Komponenten-Repository, MIT-Lizenz.

```html example.html
<ui-component name="exec">

	<ui-bind path="myparts" config="template" class="block">
		<script type="text/html">
			{{ foreach m in value }}
			<button class="exec" data-exec="changepart" data-id="{{ m.id }}"><i class="ti ti-times exec mr5" data-prevent="true" data-exec="closepart"></i>{{ m.name }}</button>
			{{ end }}
		</script>
	</ui-bind>
	<br />

	<div style="width:600px;height:300px;border:1px solid #E0E0E0">
		<ui-component name="parts" path="myparts" config="parent:auto"></ui-component>
	</div>

</ui-component>

<script>
	var myparts = [];

	myparts.push({ id: '1', name: 'Part 1', html: '<div class="padding">Part 1</div>' });
	myparts.push({ id: '2', name: 'Part 2', html: '<div class="padding">Part 2</div>' });
	myparts.push({ id: '3', name: 'Part 3', html: '<div class="padding">Part 3</div>' });

	function changepart(el ,e) {
		var id = ATTRD(el);
		SETTER('parts/focus', id);
	}

	function closepart(el, e) {
		var id = ATTRD(el);
		SETTER('parts/close', id);
	}

</script>
```
