# j-MultiOptions

> Le composant MultiOptions utilise ce schéma de couleurs : <http://codepen.io/devi8/pen/lvIeh> et la déclaration ci-dessous affichera toutes les couleurs dans les paramètres du widget.

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

- il attend l'objet entier avec `key` : `value`
- Le corps HTML du jComponent doit être `<script type="text/plain>` avec le mappage (JavaScript)

__Configuration__ :

- `rebind` {Boolean} relie une valeur de chemin selon le schéma MultiOptions (par défaut : `true`)

__Cartographie__ :

- il est fourni immédiatement lorsque le composant est prêt
- il doit être enveloppé dans `<script type="text/plain">option();option();...</script>`
- méthode de cartographie : `option(key, label, value, [type], [max], [min], [step])`

__Types de base__ :

- tapez : `string` (quand est la valeur `string` vous n'avez pas besoin de définir le type)
- tapez : `number` (quand est la valeur `number` vous n'avez pas besoin de définir le type)
- tapez : `boolean` (quand est la valeur `boolean` vous n'avez pas besoin de définir le type)
- tapez : `date` (quand est la valeur `date` vous n'avez pas besoin de définir le type)
- __NEW__ type : `multiline` rend `textarea` au lieu de `input`

__Tableau simple__ :

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

__Matrice avancée__ :

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

__Tableau à partir de l'URL__ :

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

__Couleurs__ :

Le composant MultiOptions utilise ce schéma de couleurs : <http://codepen.io/devi8/pen/lvIeh> et la déclaration ci-dessous affichera toutes les couleurs dans les paramètres du widget.

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

__Bon à savoir__ :
- toutes les propriétés non définies dans le mappage ne seront pas affichées
- Le type `date` est lié par le composant `Calendar`
- suivre l'exemple
- `component.remap(js_code)` peut remapper une nouvelle configuration
- `component.dependencies()` renvoie `Object` avec tous les éléments `key/value` à partir des listes déroulantes

Utilisez-le avec `<ui-component name="multioptions">`. Lorsque le composant n'est pas encore chargé, jComponent le télécharge lors de la première utilisation depuis l'adresse dans `DEF.fallback` (le CDN Componentator par défaut). Auteur : Peter Širka. Source : le référentiel de composants Componentator, licence MIT.

```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>
```
