#oi.select β AngularJS directive of select element
Features
- multiselect
- API compatible with Angular select
- Angular 1.2+ without jQuery and other dependencies
- search options by substring (including the search query to the server)
- use Bootstrap styles (but you can use own styles)
- 17 KB minified
Demo
Do you want to see module in action? Visit tamtakoe.github.io/oi.select or try playground
Installation
You can download files through Bower:
npm install -g bower bower install oi.select
or use npm:
npm install --save oi.select
or use local:
npm install npm install -g bower npm install -g gulp bower install
run local:
gulp open "http://localhost:3000"
make build and run tests:
gulp build gulp test
Then you need to include into index.html:
select.min.css select.min.js or select-tpls.min.js
When you are done downloading all the dependencies and project files the only remaining part is to add dependencies on the oi.select
AngularJS module:
angular.module('myModule', ['oi.select']);
Use oi-select
directive:
<oi-select oi-options="item.name for item in shopArr track by item.id" ng-model="bundle" multiple placeholder="Select" ></oi-select>
Attributes
oi-select directive
oi-options
β see: ngOptionsoi-options="item for item in shopArrShort | limitTo: 3"
β filter input listoi-options="item for item in shopArrFn($query, $selectedAs)"
β generate input list (expects array/object or promise)
ng-model
β chosen item/itemsng-disabled
β specifies that a drop-down list should be disabledmultiple
β specifies that multiple options can be selected at oncemultiple-limit
β maximum number of options that can be selected at onceplaceholder
β native placeholdermultiple-placeholder
β placeholder which is shown in multiple mode near chosen optionslist-placeholder
β placeholder which is shown in list if no elements foundreadonly
β specifies that an input field is read-onlyautofocus
β specifies that an input field should automatically get focus when the page loadsoi-select-options
β object with options. You can override them inoiSelectProvider.options
debounce
β timeout of debounced input field (default: 500). Set only ifvalue
is function which return promisesearchFilter
β filter name for items in search fielddropdownFilter
β filter name for items in dropdowngroupFilter
β filter name for group headerlistFilter
β filter name for items order in dropdown. Usenone
to disable filtering. You can set special options (see Filtered example)editItem
β function which getlastQuery
,removedItem
andgetLabel(item)
and return string for input after element was removed (default: '').editItem = true
allows you to edit a deleted item.editItem = 'correct'
same astrue
but does not edit the first timesaveTrigger
β Trigger on which element is stored in the model. May beenter
,blur
,space
,tab
and any characters devided by spaces (default:enter tab blur
)cleanModel
β Clean model on click for single select.closeList
β close dropdown list by default after choosing or removing item (default: true)newItem
β Mode of adding new items from query (default: false). May beautocomplete
(priority save matches),prompt
(priority save new item)newItemModel
β New items model (default: model = query).$query
value from model will be changed to query string.newItemFn
β function which get query and return new item object or promise. F.e.'addItem($query)'
removeItemFn
β function which get removed item model and return any value or promise. If promise was rejected, item wouldn't removed. F.e.'removeItem($item)'
maxlength
β maximum number of characters allowed in the inputminlength
β minimum number of characters for searching
oiSelect service
options
β default options which we can override inoiSelectProvider.options
version
β current version