# j-Duplicator

> BETA VERSION. Acest component este o componentă specială, deoarece poate duplica același conținut de mai multe ori cu sursă de date differentă. Imaginea unui editor text cu etichete care fiecare etichetă conține dif

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

__BETA VERSION__. Această componentă este o componentă specială, deoarece poate duplica același conținut de mai multe ori cu sursa de date different. Imaginea unui editor text cu etichete care fiecare etichetă conține conținut diferit. `j-Duplicator`Urmează un exemplu.

__Configurarea__:

- `datasource` {Array} trebuie să conțină o serie de conținuturi pentru duplicare
- `url` {String} opțional, poate conține un link la externul `template` __fără `JavaScript`__

__bine să știi__:
Această componentă adaugă funcția `.scopename()` la fiecare element de Array pentru a gestiona scara și fiecare conținut este încorporat în independentul `scope` cu o referință directă la sursă principală.

### Templare avansată

```html
<ui-component name="duplicator" path="mytab" config="datasource:tabs" class="invisible">

	<script type="text/html" data-id="PRODUCT">
		<ui-component name="input" path="?.name">Name</ui-component>
	</script>

	<script type="text/html" data-id="USER">
		<ui-component name="input" path="?.age">Age</ui-component>
	</script>

	<!-- DYNAMIC -->
	<script type="text/html" data-id="ORDER" data-url="/templates/orders.html"></script>
</ui-component>

<script>

	// All tabs
	var tabs = [];
	tabs.push({ template: 'PRODUCT', name: 'iPhone X' });
	tabs.push({ template: 'USER', age: 30 });
	tabs.push({ template: 'ORDER', price: 324 });

	// Choose a default open tab
	var mytab = tabs[0];

</script>
```

Utilizați-l cu `<ui-component name="duplicator">`Când componenta nu este încă încărcată, jComponent Descărcați-l la prima utilizare de la adresa `DEF.fallback` (în cazul Componentator Autor: Peter Širka. sursă: Componentator Componente de stocare, MIT licență.

```html example.html
<ui-bind path="tabs" config="template;click span:choosetab" class="block">
	<script type="text/html">
		{{ foreach m in value }}
			<span data-index="{{ $index }}" class="mr5 link">{{ $index + 1 }}</span>
		{{ end }}
	</script>
</ui-bind>

<h2>Duplicator</h2>

<ui-component name="duplicator" path="mytab" config="datasource:tabs" class="invisible">
	<script type="text/html">
		<ui-component name="input" path="?.name">Name</ui-component>
	</script>
</ui-component>

<script>

	var tabs = [];
	tabs.push({ name: 'Peter' });
	tabs.push({ name: 'Lucka' });
	tabs.push({ name: 'Betka' });

	function choosetab(el) {
		var index = +el.attrd('index');
		SET('mytab', tabs[index]);
	}

	// Default tab
	SET('mytab', tabs[0]);

</script>
```
