No description
Find a file
quazzie c32a859bdb feat(select): match options by expression other than object identity
Extend ng-options with a new clause, "track by [trackByExpression]", which can be used when
working with objects.  The `trackByExpression` should uniquely identify select options objects.
This solves the problem of previously having to match ng-options objects by identity.
You can now write: `ng-options="obj as obj.name for obj in objects track by obj.id"`
The "track by" expression will be used when checking for equality of objects.

Examples:
<select
    ng-model="user.favMovieStub"
    ng-options="movie as movie.name for movie in movies track by movie.id">
</select>

scope: {
  user: { name: 'Test user', favMovieStub: { id: 1, name: 'Starwars' } }
  movies: [{ id: 1, name: 'Starwars', rating: 5, ... }, { id: 13, ... }]
}

The select input will match user favMovieStub to the first movie in the movies array, and show
"Star Wars" as the selected item.
2013-05-14 19:58:05 +01:00
css refactor(directives): connect new compiler 2012-01-25 11:50:37 -08:00
docs feat(ngdocs): external links to github, plunkr and jsfiddle available for code examples 2013-05-13 16:55:14 -07:00
example docs(examples): set ng-app to "personalLog" (example/personalLog) 2013-04-11 14:53:40 -07:00
i18n fix(i18n): escape all chars above \u007f in locale files 2013-04-17 22:13:49 +01:00
images chore(Grunt): switch from Rake to Grunt 2013-03-05 23:00:33 -08:00
lib feat(ngdocs): support for HTML table generation from docs code 2013-04-29 17:43:14 -04:00
logs creating logs/ and tmp/ dirs 2010-10-29 10:47:06 -07:00
src feat(select): match options by expression other than object identity 2013-05-14 19:58:05 +01:00
test feat(select): match options by expression other than object identity 2013-05-14 19:58:05 +01:00
.gitignore chore(jstd): remove JsTestDriver from our repo 2012-10-18 03:13:04 -07:00
.travis.yml chore(Grunt): switch from Rake to Grunt 2013-03-05 23:00:33 -08:00
angularFiles.js feat(ngIf): add directive to remove and recreate DOM elements 2013-04-19 21:45:38 +01:00
changelog.js chore(changelog.js): improve the changelog script 2013-01-22 22:49:00 -08:00
CHANGELOG.md docs(changelog): fix the 1.0.6 header 2013-04-04 15:24:15 -07:00
changelog.spec.js chore(changelog.js): improve the changelog script 2013-01-22 22:49:00 -08:00
changelog.tmp.md chore(release scripts): auto release scripts 2012-03-29 07:22:13 -07:00
check-size.sh chore(Grunt): switch from Rake to Grunt 2013-03-05 23:00:33 -08:00
CONTRIBUTING.md docs(CONTRIBUTING.md): add contrib info file for GitHub 2012-11-25 21:00:14 +01:00
gdocs.js chore(formating): clean code to be function() { 2011-10-11 11:01:46 -07:00
gen_docs.sh chore(docs): get correct location for jasmine-node 2012-09-06 16:06:25 -07:00
Gruntfile.js feat(ngSwipe): Add ngSwipeRight/Left directives to ngMobile 2013-04-11 13:01:24 -07:00
init-repo.sh docs(tutorial): testacular renamed to karma 2013-04-15 12:28:31 +01:00
karma-e2e.conf.js fix(scenario): update to use our angular-scenario.js rather then karma 2013-05-08 16:40:35 -07:00
karma-jqlite.conf.js chore: use Karma 2013-04-01 12:24:27 -07:00
karma-jquery.conf.js chore: use Karma 2013-04-01 12:24:27 -07:00
karma-modules.conf.js chore: use Karma 2013-04-01 12:24:27 -07:00
LICENSE chore(license): update to google 2012-04-20 11:29:34 -07:00
package.json feat(ngdocs): support for HTML table generation from docs code 2013-04-29 17:43:14 -04:00
README.md chore(Grunt): switch from Rake to Grunt 2013-03-05 23:00:33 -08:00
release-commit.sh chore(release scripts): auto release scripts 2012-03-29 07:22:13 -07:00
start-iteration.sh chore(release scripts): auto release scripts 2012-03-29 07:22:13 -07:00
validate-commit-msg.js fix(git-validator): support fixup and better errors 2013-01-17 23:52:46 -08:00
validate-commit-msg.spec.js fix(git-validator): support fixup and better errors 2013-01-17 23:52:46 -08:00
version.js chore(release scripts): auto release scripts 2012-03-29 07:22:13 -07:00
version.yaml chore(release): start 1.1.5 triangle-squarification iteration 2013-04-11 12:51:47 -07:00
watchr-docs.rb chore(watchr): watchr scripts should output logs to terminal 2011-10-31 11:34:25 -07:00

AngularJS

AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTMLs syntax to express your applications components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding. To help you structure your application better and make it easy to test, AngularJS teaches the browser how to do dependency injection and inversion of control. Oh yeah and it also helps with server-side communication, taming async callbacks with promises and deferreds; and make client-side navigation and deeplinking with hashbang urls or HTML5 pushState a piece of cake. The best of all: it makes development fun!

Building AngularJS

Once you have your environment setup just run:

grunt package

Running Tests

To execute all unit tests, use:

grunt test:unit

To execute end-to-end (e2e) tests, use:

grunt package
grunt test:e2e

To learn more about the grunt tasks, run grunt --help and also read our contribution guidelines.