ForgeComponenten
nl

Componenten

j-SearchBox

jComponent 20 · jcomponent@20 component Voorbeeld geladen met jComponent 20

De component bevat een zoekbalk (input).


Configuratie:

  • exec {String} een link naar de function(model, component, changetype), het zal worden uitgevoerd als de gebruiker drukt
  • autocomplete {String} een link naar de function(component, input), het zal worden uitgevoerd als de gebruiker zich richt op de zoekbalk
  • init {String} een link naar de function(component), het zal worden uitgevoerd als de component wordt geïnitieerd
  • placeholder {String} een plaatshouder voor de zoekmachine
  • cleartype {Boolean} clears type wanneer de gebruiker zal uitvoeren ESC (default: false)
  • keypress {Boolean} sleuteldruk binding (default: false)
  • autotrim {Boolean} stuurt de waarde automatisch (default: true)
  • clicktype {String} Een link naar de function(component, currenttype, currentvalue)Het wordt uitgevoerd als de gebruiker op de type (een nieuwe type Het moet via component.type(html, value))

Methoden:

  • component.type(html, id, [noemit]) voegt een nieuw type toe voordat de zoekopdracht wordt ingediend
  • component.enter() werkt handmatig
  • NEW: component.show() richt zich op de input

Gebruik het met <ui-component name="searchbox">Wanneer de component nog niet is geladen, jComponent Download het op eerste gebruik van het adres in DEF.fallback (De Componentator Schrijver: Peter Širka. bron: de Componentator Componenten repository, MIT licentie.

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>