veden-auto-complete v0.17.0
veden-auto-complete
Forked from ng2-ui auto-complete
Below are plunks for different scenarios:
Template Driven Forms
ngModel http://plnkr.co/edit/3pB1Gx?p=preview
Reactive Forms
FormGroup http://plnkr.co/edit/2osUq6?p=preview issue #49
FormControl http://plnkr.co/edit/A5CW2e?p=preview issue #100
Material Design
http://plnkr.co/edit/2YLDjX?p=preview&open=app/app.component.ts
Obervable Source
http://plnkr.co/edit/ExzNSh?p=preview
List Formatter Example
  http://plnkr.co/edit/F9nrWp?p=preview
  http://plnkr.co/edit/0QFYFHMmCAFmhbYAGQl7?p=preview (With custom css)
Install
- install veden-auto-complete - $ npm install veden-auto-complete --save
- add - mapand- packagesto your- systemjs.config.jsunless you are using- webpack- map['veden-auto-complete'] = 'node_modules/veden-auto-complete/dist/auto-complete.umd.js';
- import NguiAutoCompleteModule to your AppModule - import { NguiAutoCompleteModule } from 'veden-auto-complete'; @NgModule({ imports: [BrowserModule, FormsModule, NguiAutoCompleteModule], declarations: [AppComponent], providers: [HTTP_PROVIDERS], bootstrap: [ AppComponent ] }) export class AppModule { }
Usage it in your code
    <input auto-complete [(ngModel)]="myData" [source]="mySource" />For full example, please check test directory to see the example of;
- systemjs.config.js
- app.module.ts
- and app.component.ts.
Contributors are welcomed
This module is only improved and maintained by contributors like you;
As a contributor, it's NOT required to be skilled in Javascript nor Angular. You can contribute to the following;
- Updating README.md
- Making more and clearer comments
- Answering issues and building FAQ
- Documentation
- Translation
In result of your active contribution, you will be listed as a core contributor on https://ng2-ui.github.io, and a member of ng2-ui too.
If you are interested in becoming a contributor and/or a member of ng-ui,
please send me email to allenhwkim AT gmail.com with your github id.
attributes
All options are optional except ngModel and source
- ngModel, any, variable that autocomplete result is assigned to
- source, array or string, required. data source for dropdown list
- auto-complete-placeholder, string, autocomplete input guide text
- value-formatter, string or function variable name, custom value formatting function. e.g. '(id) value', 'myValueFormatter'.- myValueFormatter(data: any): string { return `(${data[id]}) ${data[value]}`; }
- list-formatter, string or function variable name, custom list formatting function. e.g. '(key) name', 'myListFormatter'.- myListFormatter(data: any): string { return `(${data[key]}) ${data[name]}`; }
- path-to-data, string, e.g.,- data.myList, path to array data in http response
- min-chars, number, when source is remote data, the number of character to see drop-down list
- display-property-name, string, key name of text to show. default is- value
- select-value-of, string, when selected, return the value of this key as a selected item
- blank-option-text, string, guide text to allow empty value to be selected as in empty value of- optiontag.
- no-match-found-text, string, guide text to show no result found.
- valueChanged/- ngModelChange, callback function that is executed when a new drop-down is selected. e.g.- (valueChanged)="myCallback($event)"
- customSelectedcallback function that is executed when a value selected not included in drop-down, so it will return the keyword used. e.g.- (customSelected)="customCallback($event)"
- loading-text, text to be displayed when loading. Default, "Loading"
- loading-template, html markup that is to be rendered when loading. Default, null
- accept-user-inputboolean, if- falseand does not match to source given, it goes back to the original value selected., If you don't event want user to type any, please use- readonly="readonly"to force user to select only from list. Default is- true
- max-num-listnumber, maximum number of drop down list items. Default, unlimited
- tab-to-selectboolean, if- true, pressing Tab will set the value from the selected item before focus leaves the control. Default is- true
- select-on-blurboolean, if- true,- blurevent will set the value from the selected item before focus leaves the control. Default is- false
- match-formattedboolean, if- true, keyword will be matched against list values formatted with- list-formatter, instead of raw objects. Default is- false
- auto-select-first-item, boolean, if- true, the first item of the list is automatically selected, if- false, user must select manually an item. Default is- false
- open-on-focus, boolean, if- falsedrop down won't open on a focus event, . Default is- true
- close-on-focus, boolean, if- falsedrop down will close on a focusout event, . Default is- true
- re-focus-after-select property, boolean, if- falsean auto focus behavior after select (example: custom value on blur event or issue #276) is disabled . Default is- true
- autocomplete, boolean, default- false, if- trueremove the attribute- autocomplete="off"of the input.
For Developers
To start
$ git clone https://github.com/theryaz/auto-complete.git
$ cd auto-complete
$ npm install
$ npm startList of available npm tasks
- npm run: List all available tasks
- npm start: Run- appdirectory for development using- webpack-dev-serverwith port 9001
- npm run clean: Remove dist folder
- npm run lint: Lint TypeScript code
- npm run build:ngc: build ES module
- npm run build:umd: Build UMD module- ng2-map.umd.js
- npm run build:app: Build- app/build/app.jsfor runnable examples
- npm run build: Build all(clean, build:ngc, build:umc, and build:app)