# j-SearchBox

> Съставът съдържа поле за търсене (вход).

Framework: jcomponent20
Product: jComponent 20 (jcomponent@20)
Language: bg
Content-SHA256: 52ad3a54d7cfc7de91df92494be285405d35b9df9db59d475807d9dd2fdc7831
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: components@910ed1a86f6e72b4f031d3ad0dc7844f9fc5cb8e
Review: not-recorded

Съставът съдържа поле за търсене (вход).


__Конфигуриране__:

- `exec {String}` е връзка към `function(model, component, changetype)`, тя ще бъде изпълнена, ако потребителят натисне
- `autocomplete {String}` е връзка към `function(component, input)`, тя ще бъде изпълнена, ако потребителят се фокусира върху търсенето
- `init {String}` е връзка към `function(component)`, тя ще бъде изпълнена, ако компонентът е стартиран
- `placeholder {String}` - място за търсене
- `cleartype {Boolean}` чисти тип, когато потребителят ще изпълнява `ESC` (дефолт: `false`)
- `keypress {Boolean}` Ключови печатни връзки (предварително: `false`)
- `autotrim {Boolean}` изпраща стойността автоматично (предварително: `true`)
- `clicktype {String}` е връзка към `function(component, currenttype, currentvalue)`, тя ще бъде изпълнена, ако потребителят кликне върху `type` (новото `type` трябва да бъде зададено чрез `component.type(html, value)`)

__Методи__:

- `component.type(html, id, [noemit])` добавя нов тип преди входа на търсенето
- `component.enter()` извършва търсене ръчно
- __NEW__: `component.show()` се фокусира върху входа

Използвайте го с `<ui-component name="searchbox">`Когато компонентът все още не е зареден, jComponent Изтегляне на първия адрес в `DEF.fallback` (След това Componentator Източник: Питър Шерка Componentator Съставни съставки, лиценз на MIT.

```html 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>
```
