Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
3d1d5de
Allow service factory functions to return promises
ctrahey Jul 11, 2013
63c7190
docs(Angular.js): explain that toJson strips $... properties
Jun 29, 2013
e2a182d
docs($cacheFactory): show that you can access existing caches
itamarro Jun 30, 2013
d1d06f8
chore: add karma-script-launcher plugin
vojtajina Jul 1, 2013
723d174
fix(Angular.js): handle duplicate params in parseKeyValue/toKeyValue
joshkurz Apr 26, 2013
e017cf2
test(ngRepeat): fix IE8 test compatibility issue
IgorMinar Jul 1, 2013
87d8a69
feat(minErr): Error stripping build step
ksheedlo Jun 28, 2013
5c5eed6
fix(jqLite): rename jqLiteError to jqLiteMinErr
IgorMinar Jul 1, 2013
11f4dc3
docs(guide/location): fix example code - `hashPrefix` is a method
Jul 2, 2013
6c7253d
fix($injector): refactor module loading code and use minErr
IgorMinar Jul 2, 2013
930e29e
revert: test(ngRepeat): fix IE8 test compatibility issue
IgorMinar Jul 2, 2013
d6ea73e
test(ngRepeat): disable an element directive test on IE8
IgorMinar Jul 2, 2013
240f9db
chore(grunt-utils): fix java classpath on Windows
petebacondarwin Jul 2, 2013
52a0522
chore(travis): speed up the build
vojtajina Jul 1, 2013
ef888e1
chore(grunt-utils): remove unnecessary quotes from minerr_url
petebacondarwin Jul 2, 2013
9835d72
revert: fix(compiler): corrects component transclusion on ...
IgorMinar Jul 3, 2013
75186b3
fix($compile): prevent infinite loop w/ replace+transclude directives
IgorMinar Jul 3, 2013
4c14601
fix(bower): Use latest ng-closure-runner
ksheedlo Jul 2, 2013
fe2397f
docs(tutorial/step9): formatted Unicode character line
exexzian Jun 25, 2013
4aa7c32
fix(ngCloak): hide element even when CSS 'display' is set
vin Jun 26, 2013
9de6710
fix(jqLite): prepend array in correct order
joaomsa Jun 28, 2013
3f339ff
fix($parse): disallow access to Function constructor
chirayuk Jun 24, 2013
a4b9b30
refactor(core): use native String.prototype.trim if available
Apr 20, 2013
61e6b36
fix($sniffer): detect transition/animation on older Android browsers
Jun 28, 2013
e523639
fix(i18n): Do not transform arrays into objects
lgalfaso May 5, 2013
3998307
fix(grunt): Give java 2g of memory
lgalfaso May 9, 2013
f9f7513
fix($compile): empty normalized href should pass sanitation check
May 6, 2013
75f43d0
docs(guide/directive): make directive controller minification-safe
AndrewO Jul 3, 2013
e1257cf
docs(input): ng-model doesn't work well with isolated scope directive
basarat Jul 3, 2013
89d9e63
docs(guide/e2e-testing): fix typos
tgkokk Jul 7, 2013
8734bbb
chore(grunt): tweak ng-closure-runner setup
petebacondarwin Jul 7, 2013
13abd8b
fix(angular.equals): do not match keys defined in the prototype chain
mernen Jul 8, 2013
3cb3f6e
docs(numberFilter): fix explanation of default fraction size
petebacondarwin Jul 8, 2013
fcd8708
docs(ngModelController): provide a more intuitive example
petebacondarwin Jul 8, 2013
376a79f
feat($http): accept function as headers value
bolasblack Jul 3, 2013
7a04918
docs(angular.identity): fix missing 'angular' in identity function
mavimo Jul 9, 2013
367e38d
fix(ngdocs): merge duplicate css class attributes
clbn Jul 9, 2013
0cfc83a
docs(ngMock): correct verifyNoOutstandingExpectation example
mstriemer Jul 4, 2013
789487d
style(input): remove ws
IgorMinar Jul 10, 2013
57c5e3b
docs(overview): fix typo
lefos987 Jul 8, 2013
2ec021f
docs(contribute): improve git instructions
rctay Jul 5, 2013
4c54779
docs(guide/di): fix typo
fauverism Jul 9, 2013
65b136d
docs(guide): example filter does not conditionally assign a color
Jul 10, 2013
5dc9f52
docs(guide): clarify example
Jul 10, 2013
aa27e61
docs(ngList): fix example and add e2e test
IgorMinar Jul 10, 2013
f675a5b
test(ngList): remove disabled test
IgorMinar Jul 11, 2013
43c96f6
chore(build): add check for merge conflicts, ddescribe, and iit
btford Jul 3, 2013
72e508d
fix($injector): improve $injector:nomod error message
IgorMinar Jul 11, 2013
8577109
refactor(Angular.js): remove code duplication
ericsubach Jun 13, 2013
6a43c67
style(sanitize): fix typo in variable names
benolee Jul 10, 2013
d1aac5d
fix(scope): watches can be safely unregistered inside watch handlers
scardine Jun 10, 2013
4350eba
feat(ngDocs): add links to source for API
revolunet May 10, 2013
4885238
fix(ngValue): made ngValue to write value attribute to element
kirstein May 14, 2013
876c429
fix(ngSubmit): expose $event to ngSubmit callback
wesleycho May 23, 2013
7776338
fix(sanitize): match URI schemes case-insensitively
petebacondarwin Jul 12, 2013
f50b67e
fix(ngScenario): select().option(val) should prefer exact value match
Smerity Jun 3, 2013
f848888
feat($resource): support an unescaped URL port
leostera May 14, 2013
1fa079f
style(ngdocs): fix minor CSS issues
clbn Jul 10, 2013
d2e29cf
feat(Angular.js): skip JSON.stringify for undefined
xdissent Jun 23, 2013
8913090
chore(ngdoc): wrap all pages inside of a container tag for easy styling
matsko Jul 9, 2013
3442b49
fix($http): allow interceptors to completely override headers
IgorMinar Jul 13, 2013
315727e
chore(package.json): fix name to work with latest NPM
vojtajina Jul 14, 2013
267e70f
fix(angular.equals): add support for regular expressions
bripkens May 20, 2013
78c51aa
fix(grunt): cache version number
IgorMinar Jul 14, 2013
5e768e5
style(ngMock): add missing whitespace
Jul 13, 2013
802d3db
docs(di): promote registering controllers on modules
Jul 12, 2013
58608f3
feat(ngPluralize): add alternative mapping using attributes
lgalfaso Jul 12, 2013
3a66a89
test($q): improve logging of callback invocations
chirayuk Jul 14, 2013
e4d3afb
feat($q): added support to promise notification
caiotoon Mar 25, 2013
21152c0
chore(ngdocs): remove autofocus for the filtering search
matsko Jul 15, 2013
e7594d0
chore(gitignore): add libpeerconnection.log
matsko Jul 15, 2013
f7d14b5
fix($animator): ensure animations are always disabled for an element …
matsko Jun 18, 2013
5417550
fix(writer): fix makeDir directory tree bug
ksheedlo Jul 15, 2013
ac8c5bc
test(utils): Adds a missing test for snake_case
jbdeboer Jul 16, 2013
afdc483
docs(dateFilter): fix typos
brunocoelho Jul 16, 2013
c683596
docs($templateCache): add examples of usage
Jul 17, 2013
0f5f893
feat(directive): ng:focus, ng:blur
Jul 16, 2013
ad07e8c
chore(ngdocs): fix improve button overlap
matsko Jul 18, 2013
d19aa9c
fix($compile): allow data: image URIs in img[src]
chirayuk Jul 16, 2013
c7c73b7
docs(jqLite): document "$destroy" event
petebacondarwin Jul 18, 2013
d235067
chore(resource): use minErr to throw exception
petebacondarwin Jul 8, 2013
b0e208e
chore(sanitize): use minErr to throw exception
petebacondarwin Jul 8, 2013
a2b0e39
feat(Angular): provide minErr as public property
petebacondarwin Jul 8, 2013
9f433b2
test(ngRepeat): add a test for ngRepeat when using 'track by' and a f…
btford Jul 18, 2013
bdb33cb
fix(core): parse URLs using the browser's DOM API
chirayuk Jul 15, 2013
f2890d4
docs(ngRepeat): add example for filters in conjunction with `track by`
pdf Jul 19, 2013
5d7fbf9
docs($window): improve style and clarify wording
Jul 21, 2013
4e0a845
docs(input): fix example
jfache Jul 19, 2013
a2e21ac
Update PR per comments, including docs and unit tests.
ctrahey Jul 22, 2013
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ angular.js.tmproj
angular.xcodeproj
.idea
.agignore
libpeerconnection.log
5 changes: 2 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@ before_script:
- export SAUCE_ACCESS_KEY=`echo $SAUCE_ACCESS_KEY | rev`
- ./lib/sauce/sauce_connect_setup.sh
- npm install -g grunt-cli
- grunt package
- grunt webserver > /dev/null &
- grunt ci-checks package
- ./lib/sauce/sauce_connect_block.sh

script:
- grunt test --reporters dots --browsers SL_Chrome
- grunt parallel:travis --reporters dots --browsers SL_Chrome
56 changes: 54 additions & 2 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,10 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-contrib-jasmine-node');
grunt.loadNpmTasks('grunt-ddescribe-iit');
grunt.loadNpmTasks('grunt-merge-conflict');
grunt.loadNpmTasks('grunt-shell');
grunt.loadNpmTasks('grunt-parallel');
grunt.loadTasks('lib/grunt');

var NG_VERSION = util.getVersion();
Expand All @@ -23,6 +26,21 @@ module.exports = function(grunt) {
grunt.initConfig({
NG_VERSION: NG_VERSION,

parallel: {
travis: {
options: {
stream: true
},
tasks: [
util.parallelTask('test:docs'),
util.parallelTask('test:modules'),
util.parallelTask('test:jquery'),
util.parallelTask('test:jqlite'),
util.parallelTask('test:e2e')
]
}
},

connect: {
devserver: {
options: {
Expand All @@ -42,7 +60,24 @@ module.exports = function(grunt) {
}
}
},
testserver: {}
testserver: {
options: {
middleware: function(connect, options){
return [
function(req, resp, next) {
// cache get requests to speed up tests on travis
if (req.method === 'GET') {
resp.setHeader('Cache-control', 'public, max-age=3600');
}

next();
},
connect.favicon('images/favicon.ico'),
connect.static(options.base)
];
}
}
}
},


Expand Down Expand Up @@ -161,6 +196,22 @@ module.exports = function(grunt) {
run: { spec: 'docs/spec' }
},

"ddescribe-iit": {
files: [
'test/**/*.js',
'!test/ngScenario/DescribeSpec.js'
]
},

"merge-conflict": {
files: [
'src/**/*',
'test/**/*',
'docs/**/*',
'css/**/*'
]
},

copy: {
i18n: {
files: [
Expand Down Expand Up @@ -191,6 +242,7 @@ module.exports = function(grunt) {
grunt.registerTask('minify', ['shell:bower','clean', 'build', 'minall']);
grunt.registerTask('test:e2e', ['connect:testserver', 'test:end2end']);
grunt.registerTask('webserver', ['connect:devserver']);
grunt.registerTask('package', ['shell:bower','clean', 'buildall', 'minall', 'docs', 'copy', 'write', 'compress']);
grunt.registerTask('package', ['shell:bower','clean', 'buildall', 'minall', 'collect-errors', 'docs', 'copy', 'write', 'compress']);
grunt.registerTask('ci-checks', ['ddescribe-iit', 'merge-conflict']);
grunt.registerTask('default', ['package']);
};
1 change: 1 addition & 0 deletions angularFiles.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ angularFiles = {
'src/ng/httpBackend.js',
'src/ng/locale.js',
'src/ng/timeout.js',
'src/ng/urlUtils.js',

'src/ng/filter.js',
'src/ng/filter/filter.js',
Expand Down
3 changes: 2 additions & 1 deletion bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
"google-code-prettify": "1.0.0",
"components-font-awesome": "3.1.0",
"bootstrap": "https://raw.github.com/twitter/bootstrap/v2.0.2/docs/assets/bootstrap.zip",
"closure-compiler": "https://closure-compiler.googlecode.com/files/compiler-20130603.zip"
"closure-compiler": "https://closure-compiler.googlecode.com/files/compiler-20130603.zip",
"ng-closure-runner": "https://raw.github.com/angular/ng-closure-runner/v0.1.1/assets/ng-closure-runner.zip"
}
}
2 changes: 1 addition & 1 deletion css/angular.css
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak],
.ng-cloak, .x-ng-cloak {
display: none;
display: none !important;
}

ng\:form {
Expand Down
12 changes: 10 additions & 2 deletions docs/component-spec/annotationsSpec.js
Original file line number Diff line number Diff line change
Expand Up @@ -91,13 +91,21 @@ describe('Docs Annotations', function() {
}
});
});
inject(function($rootScope, $compile, $templateCache) {
inject(function($rootScope, $compile, $templateCache, $rootElement, $animator) {
$animator.enabled(true);
url = '/page.html';
$scope = $rootScope.$new();
parent = angular.element('<div class="parent"></div>');
element = angular.element('<div data-url="' + url + '" foldout></div>');
body.append(parent);

//we're injecting the element to the $rootElement since the changes in
//$animator only detect and perform animations if the root element has
//animations enabled. If the element is not apart of the DOM
//then animations are skipped.
parent.append(element);
$rootElement.append(parent);
body.append($rootElement);

$compile(parent)($scope);
$scope.$apply();
});
Expand Down
2 changes: 1 addition & 1 deletion docs/content/guide/dev_guide.e2e-testing.ngdoc
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ the given jQuery `selector`. The `label` is used for test output.
## select(name).option(value)
Picks the option with the given `value` on the select with the given `name`.

## select(name).option(value1, value2...)
## select(name).options(value1, value2...)
Picks the options with the given `values` on the multi select with the given `name`.

## element(selector, label).count()
Expand Down
4 changes: 2 additions & 2 deletions docs/content/guide/dev_guide.services.$location.ngdoc
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ In this mode, `$location` uses Hashbang URLs in all browsers.
it('should show example', inject(
function($locationProvider) {
$locationProvider.html5Mode(false);
$locationProvider.hashPrefix = '!';
$locationProvider.hashPrefix('!');
},
function($location) {
// open http://host.com/base/index.html#!/a
Expand Down Expand Up @@ -261,7 +261,7 @@ having to worry about whether the browser displaying your app supports the histo
it('should show example', inject(
function($locationProvider) {
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix = '!';
$locationProvider.hashPrefix('!');
},
function($location) {
// in browser with HTML5 history support:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ myController.$inject = ['$scope','notify'];
<p>Let's try this simple notify service, injected into the controller...</p>
<input ng-init="message='test'" ng-model="message" >
<button ng-click="callNotify(message);">NOTIFY</button>
<p>(you have to click 3 times to see an alert)</p>
</div>
</doc:source>
<doc:scenario>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ as the first argument. Any filter arguments are passed in as additional argument
function.

The following sample filter reverses a text string. In addition, it conditionally makes the
text upper-case and assigns color.
text upper-case.

<doc:example module="MyReverseModule">
<doc:source>
Expand Down
12 changes: 7 additions & 5 deletions docs/content/guide/di.ngdoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ There are only three ways an object or a function can get a hold of its dependen


The first two options of creating or looking up dependencies are not optimal because they hard
code the dependency. This make it difficult, if not impossible, to modify the dependencies.
code the dependency. This makes it difficult, if not impossible, to modify the dependencies.
This is especially problematic in tests, where it is often desirable to provide mock dependencies
for test isolation.

Expand Down Expand Up @@ -196,18 +196,20 @@ DI is pervasive throughout Angular. It is typically used in controllers and fact
### DI in controllers

Controllers are classes which are responsible for application behavior. The recommended way of
declaring controllers is:
declaring controllers is using the array notation:

<pre>
var MyController = function($scope, dep1, dep2) {
someModule.controller('MyController', ['$scope', 'dep1', 'dep2', function($scope, dep1, dep2) {
...
$scope.aMethod = function() {
...
}
}
MyController.$inject = ['$scope', 'dep1', 'dep2'];
...
}]);
</pre>

This avoids the creation of global functions for controllers and also protects against minification.


### Factory methods

Expand Down
3 changes: 2 additions & 1 deletion docs/content/guide/directive.ngdoc
Original file line number Diff line number Diff line change
Expand Up @@ -269,7 +269,8 @@ Here's an example directive declared with a Directive Definition Object:
transclude: false,
restrict: 'A',
scope: false,
controller: function($scope, $element, $attrs, $transclude, otherInjectables) { ... },
controller: ["$scope", "$element", "$attrs", "$transclude", "otherInjectables",
function($scope, $element, $attrs, $transclude, otherInjectables) { ... }],
compile: function compile(tElement, tAttrs, transclude) {
return {
pre: function preLink(scope, iElement, iAttrs, controller) { ... },
Expand Down
2 changes: 1 addition & 1 deletion docs/content/guide/overview.ngdoc
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ These input widgets look normal enough, but consider these points:
Model-View-Controller design pattern.
* Note that the HTML widget {@link api/ng.directive:input input}
has special powers. The input invalidates itself by turning red when you enter invalid data or
leave the the input fields blank. These new widget behaviors make it easier to implement field
leave the input fields blank. These new widget behaviors make it easier to implement field
validation common in CRUD applications.

And finally, the mysterious `{{ double curly braces }}`:
Expand Down
18 changes: 7 additions & 11 deletions docs/content/misc/contribute.ngdoc
Original file line number Diff line number Diff line change
Expand Up @@ -256,31 +256,27 @@ To create and submit a change:
[print, sign and one of scan+email, fax or mail the form](http://code.google.com/legal/corporate-cla-v1.0.html).


2. Create a new branch off the master for your changes:
2. Create and checkout a new branch off the master branch for your changes:

git branch my-fix-branch
git checkout -b my-fix-branch master

3. Check out the branch:
3. Create your patch, make sure to have plenty of tests (that pass).

git checkout my-fix-branch

4. Create your patch, make sure to have plenty of tests (that pass).

5. Commit your changes and create a descriptive commit message (the commit message is used to generate release notes,
4. Commit your changes and create a descriptive commit message (the commit message is used to generate release notes,
please check out our
[commit message conventions](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#)
and our commit message presubmit hook `validate-commit-msg.js`):

git commit -a

6. Push your branch to Github:
5. Push your branch to Github:

git push origin my-fix-branch

7. In Github, send a pull request to `angular:master`.
6. In Github, send a pull request to `angular:master`.


8. When the patch is reviewed and merged, delete your branch and pull yours — and other — changes
7. When the patch is reviewed and merged, delete your branch and pull yours — and other — changes
from the main (upstream) repository:

1. To delete the branch in Github, run:
Expand Down
Loading