# j-MultiOptions

> Die MultiOptions-Komponente verwendet dieses Farbschema: <http://codepen.io/devi8/pen/lvIeh> und die folgende Deklaration zeigt alle Farben in den Widget-Einstellungen an.

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

- Es erwartet das ganze Objekt mit `key`: `value`
- Der HTML-Bereich des jComponent muss `<script type="text/plain>` mit (JavaScript) Mapping sein

__Konfiguration__:

- `rebind` {Boolean} legt einen Wegwert nach dem MultiOptions-Schema zurück (Default: `true`)

__Mapping__:

- Es wird sofort bereitgestellt, wenn die Komponente vorbereitet ist
- Es muss in `<script type="text/plain">option();option();...</script>` verpackt werden
- Methode der Karte: `option(key, label, value, [type], [max], [min], [step])`

__Grundtypen__:

- Typ: `string` (wenn der Wert `string` ist, müssen Sie den Typ nicht definieren)
- Typ: `number` (wenn der Wert `number` ist, müssen Sie den Typ nicht definieren)
- Typ: `boolean` (wenn der Wert `boolean` ist, müssen Sie den Typ nicht definieren)
- Typ: `date` (wenn der Wert `date` ist, müssen Sie den Typ nicht definieren)
- __NEW__ Typ: `multiline` Render `textarea` statt `input`

__Einfaches Array__:

```js
option('language', 'Language', 'sk', ['sk', 'en', 'de']);
```

__Erweitertes Array__:

```js
option('language', 'Language', 1, [{ text: 'sk', value: 1}, { text: 'en', value: 2}, { text: 'de', value: 3}]);
```

__Array von URL__:

```js
option('language', 'Language', 1, '/my/api/codelist/');
// It expects some "Array"
```

__Farben__:

Die MultiOptions-Komponente verwendet dieses Farbschema: <http://codepen.io/devi8/pen/lvIeh> und die folgende Deklaration zeigt alle Farben in den Widget-Einstellungen an.

```js
option('background', 'Background', '#FC6E51', 'Color');
```

__Gut zu wissen__:
- Alle Eigenschaften, die nicht im Mapping definiert sind, werden nicht angezeigt
- Der Typ `date` ist durch die Komponente `Calendar` verknüpft
- Folgen Sie dem Beispiel
- `component.remap(js_code)` kann neue Konfigurationen neu zuordnen
- `component.dependencies()` gibt `Object` mit allen Elementen `key/value` aus Dropdown-Listen zurück

Verwenden Sie es mit `<ui-component name="multioptions">`. 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 style="width:600px;margin:30px auto">
	<ui-component name="multioptions" path="options" class="block">
		<script type="text/plain">
			option('background', 'Background Color', '#8CC152', 'Color');
			option('type', 'Type', 'days', ['hours', 'days', 'months', 'years']);
			option('showArea', 'Show area', true);
			option('body', 'Body', 'Here is enabled\nmultiline.', 'MultiLine');
			option('showPoint', 'Show point', true);
			option('showLine', 'Show line', true);
			option('smoothCurves', 'Smooth curves', true);
			option('YshowLabel', 'Axis Y: Show Label', true);
			option('YshowGrid', 'Axis Y: Show Grid', false);
			option('onlyInteger', 'Whole numbers', true);
			option('decimals', 'Decimals', 1);
		</script>
	</ui-component>
</div>

<script>
	var options = {};
	options.background = '#8CC152';
	options.type = 'years';
	options.decimals = 2;
</script>
```
