# j-VirtualWire

> Dies ist eine ganz besondere UI-Komponente, die Elemente entsprechend dem Selektor und dem Wert des Pfads von einem Element zu einem anderen verschieben kann. Schauen Sie sich zum Verständnis das Beispiel an.

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

Dies ist eine ganz besondere UI-Komponente, die Elemente von `element` zu einem anderen `element` entsprechend dem Selektor und dem Wert des Pfads verschieben kann. Schauen Sie sich zum Verständnis das Beispiel an.

- `selector {String}` ein Selektor für Drähte (Standard: `.virtualwire`)
- `delay {Number}` eine Verzögerung in Millisekunden für die Bewegung von Elementen (Standard: `10`)
- `repeat {Number}` eine Wiederholungsverzögerung für den Erhalt des Elements (Standard: `50` ms)
- `max {Number}` eine maximale Anzahl für Wiederholungen (Standard: `100`)

Verwenden Sie es mit `<ui-component name="virtualwire">`. 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
<div class="b">Virtual Wire Container:</div>
<ui-component name="virtualwire" path="common.page"></ui-component>

<hr />

<!-- YOU CAN HIDE THE ELEMENTS BELOW BY ADDING "hidden" CLASS -->
<div class="virtualwire" data-if="users">
	<div>USERS</div>
</div>

<div class="virtualwire" data-if="products" data-in="products_in" data-out="products_out">
	<div>PRODUCTS</div>
</div>

<script>

	var common = {};

	setInterval(function() {
		switch (common.page) {
			case 'users':
				SET('common.page', 'products');
				break;
			case 'products':
				NULL('common.page');
				break;
			default:
				SET('common.page', 'users');
				break;
		}
	}, 2000);

	function products_out() {
		console.log('products_out');
	}

	function products_in() {
		console.log('products_in');
	}

</script>
```
