ForgeKomponenten
de

Komponenten

j-SearchBox

jComponent 20 · jcomponent@20 component Beispiel mit jComponent 20 geladen

Die Komponente enthält ein Suchfeld (Eingabe).


Konfiguration:

  • exec {String} ein Link zum function(model, component, changetype), er wird ausgeführt, wenn der Benutzer die Eingabetaste drückt
  • autocomplete {String} ein Link zum function(component, input), er wird ausgeführt, wenn der Benutzer das Suchfeld fokussiert
  • init {String} ein Link zum function(component), er wird ausgeführt, wenn die Komponente initialisiert wird
  • placeholder {String} ein Platzhalter für das Suchfeld
  • cleartype {Boolean} löscht den Typ, wenn der Benutzer ESC ausführt (Standard: false)
  • keypress {Boolean}-Tastendruckbindung (Standard: false)
  • autotrim {Boolean} kürzt den Wert automatisch (Standard: true)
  • clicktype {String} ein Link zum function(component, currenttype, currentvalue), er wird ausgeführt, wenn der Benutzer auf den type klickt (ein neuer type muss über component.type(html, value) gesetzt werden)

Methoden:

  • component.type(html, id, [noemit]) fügt vor der Sucheingabe einen neuen Typ hinzu
  • component.enter() führt die Suche manuell durch
  • NEU: component.show() fokussiert die Eingabe

Verwenden Sie es mit <ui-component name="searchbox">. 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.

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>