ForgeKomponenty
sk

Komponenty

j-MultiOptions

jComponent 20 · jcomponent@20 component Príklad načítaný s jComponent 20
  • očakáva celý objekt so key: value
  • Telo HTML jComponent musí byť <script type="text/plain> s mapovaním (JavaScript)

Konfigurácia:

  • rebind {Boolean} znova naviaže hodnotu cesty podľa schémy MultiOptions (predvolené: true)

Mapovanie:

  • zapne sa okamžite, keď je komponent pripravený
  • musí byť zabalený v <script type="text/plain">option();option();...</script>
  • metóda mapovania: option(key, label, value, [type], [max], [min], [step])

Základné typy:

  • typ: string (keď je hodnota string, typ nemusíte definovať)
  • typ: number (keď je hodnota number, typ nemusíte definovať)
  • typ: boolean (keď je hodnota boolean, typ nemusíte definovať)
  • typ: date (keď je hodnota date, typ nemusíte definovať)
  • NEW typ: multiline vykreslí textarea namiesto input

Jednoduché pole:

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

Advanced Array:

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

Pole z adresy URL:

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

Farby:

Komponent MultiOptions používa túto farebnú schému: http://codepen.io/devi8/pen/lvIeh a nižšie uvedená deklarácia zobrazí všetky farby v nastaveniach widgetu.

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

Je dobré vedieť:

  • všetky vlastnosti, ktoré nie sú definované v mapovaní, sa nezobrazia
  • typ date je prepojený komponentom Calendar
  • nasledovať príklad
  • component.remap(js_code) môže premapovať novú konfiguráciu
  • component.dependencies() vráti Object so všetkými položkami key/value z rozbaľovacích zoznamov

Použite ho so <ui-component name="multioptions">. Keď komponent ešte nie je načítaný, jComponent ho stiahne pri prvom použití z adresy v DEF.fallback (predvolene CDN Componentator). Autor: Peter Širka. Zdroj: úložisko komponentov Componentator, licencia MIT.

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>