angular-typeahead

by Siyfion

A very simple Angular.js wrapper around the Twitter Typeahead library.

206 Stars 74 Forks Last release: about 4 years ago (v1.0.2) MIT License 92 Commits 27 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

sfTypeahead: A Twitter Typeahead directive

Build Status Coverage: 100% Version dependencies Status

A simple Angular.js directive wrapper around the Twitter Typeahead library.

Getting Started

Get angular-typeahead from your favorite source:

Note: angular-typeahead supports Angular.js v1.2.x through v1.5.x and depends on typeahead.js v0.11.x. Make sure dependencies are met in your setup:

  • global: include jQuery, angularjs and typeahead.js before angular-typeahead.js.
  • commonJS (node, browserify): angular-typeahead explicitly requires
    angular
    and
    typeahead.js
    . (note: with browserify, include jquery.js and typeahead.js externally, because angular does not define a dependency on jquery)
  • amd (require.js): angular-typeahead explicitly requires
    angular
    and declares itself as
    angular-typeahead
    . Note that
    typeahead.js
    does not work well with AMD.js, you may find this workaround useful.

Demo

Please feel free to play with the Plnkr: LIVE DEMO

Usage


See the Plnkr LIVE DEMO for a complete integrated example.

Parameters

| Parameter | Default | Description | |---------------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | datasets | {} | One or an array of twitter typeahead datasets. | | options | {} | Options parameter passed directly to twitter typeahead. | | allow-custom | true | Boolean. If false, the model value can not take custom values as text is typed in the input field. |

Contributing

Please feel free to add any issues to the GitHub issue tracker.

Contributions are welcome but please try to adhere to the folowing guidelines:

Testing

Any code you write should be tested. Test the "happy path" as well as corner cases. Code cannot be merged in master unless it achieves 100% coverage on everything. To run tests automatically when a file changes, run

npm run watch
.

Tests run in Chrome by default, but you can override this by setting the

KARMA_BROWSER
environment variable. Example:
sh
KARMA_BROWSER=Firefox npm run watch
KARMA_BROWSER=PhantomJS npm run watch

If you are not sure how to test something, ask about it in your pull request description.

JSHint

I recommend you use a jshint plugin in your editor, this will help you spot errors faster and make it easier to write clean code that is going to pass QA. In any case,

npm run watch
runs jshint on the code whenever you save.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.