ForgeKomponenty
sk

Komponenty

j-SearchBox

jComponent 20 · jcomponent@20 component Príklad načítaný s jComponent 20

Komponent obsahuje vyhľadávacie pole (vstup).


Konfigurácia:

  • exec {String} prepojenie na function(model, component, changetype), vykoná sa, ak používateľ stlačí enter
  • autocomplete {String} odkaz na function(component, input), spustí sa, ak používateľ zameria vyhľadávacie pole
  • init {String} prepojenie na function(component), vykoná sa, ak je komponent inicializovaný
  • placeholder {String} zástupný symbol pre vyhľadávacie pole
  • cleartype {Boolean} vymaže typ, keď používateľ vykoná ESC (predvolené: false)
  • Väzba stlačenia klávesu keypress {Boolean} (predvolené: false)
  • autotrim {Boolean} upraví hodnotu automaticky (predvolené: true)
  • clicktype {String} odkaz na function(component, currenttype, currentvalue), vykoná sa, ak používateľ klikne na type (nové type je potrebné nastaviť cez component.type(html, value))

Metódy:

  • component.type(html, id, [noemit]) pridá nový typ pred vstup vyhľadávania
  • component.enter() vykonáva vyhľadávanie manuálne
  • NOVINKA: component.show() zameriava vstup

Použite ho so <ui-component name="searchbox">. 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
<ui-component name="menu"></ui-component>
<ui-component name="searchbox" config="exec:searchbox_enter;clicktype:searchbox_type;init:searchbox_init;placeholder:Search and press enter ..."></ui-component>

<script>
	function searchbox_enter(model, component) {

		// model.type
		// model.value

		alert(model.type + ': ' + model.value);
    }

    function searchbox_init(component) {
    	component.type('<i class="ti ti-user"></i> By name', 'name', true);
    }

    function searchbox_type(component) {
    	var opt = {};
		opt.items = [{ name: 'By name', value: 'name', icon: 'user' }, { name: 'By subject', value: 'subject', icon: 'text-width' }, { name: 'By body', value: 'body', icon: 'file-alt' }];
		opt.align = 'left';
		opt.element = component.element;
		opt.callback = function(selected) {
			component.type('<i class="ti ti-{0}"></i> {1}'.format(selected.icon, selected.name), selected.value, true);
		};
		SETTER('menu', 'show', opt);
    }

</script>