ForgeKomponenter
sv

Komponenter

j-SearchBox

jComponent 20 · jcomponent@20 component Exempel laddat med jComponent 20

Komponenten innehåller en sökbok (input).


Konfigurera:

  • exec {String} en länk till function(model, component, changetype), det kommer att utföras om användaren trycker in
  • autocomplete {String} en länk till function(component, input), det kommer att köras om användaren fokuserar på sökfältet
  • init {String} en länk till function(component), det kommer att utföras om komponenten initialiseras
  • placeholder {String} en platsinnehavare för sökfönstret
  • cleartype {Boolean} clears typ när användaren kommer att utföra ESC (default: false)
  • keypress {Boolean} nyckeltryck binder (default: false)
  • autotrim {Boolean} skickar värdet automatiskt (default: true)
  • clicktype {String} en länk till function(component, currenttype, currentvalue), det kommer att köras om användaren klickar på type (en ny type måste ställas in via component.type(html, value))

Metoder:

  • component.type(html, id, [noemit]) lägger till en ny typ innan sökningen går in
  • component.enter() gör sökning manuellt
  • NEW: component.show() fokuserar på inmatningen

Använd den med <ui-component name="searchbox">När komponenten ännu inte är laddad, jComponent Ladda ner den första gången från adressen i DEF.fallback (en av Componentator Författare: Peter Širka. källa: The Componentator Komponenterna i lager, MIT licens.

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>