Commit 4d19a5d3 authored by Pascal Hartig's avatar Pascal Hartig

AngularJS: Upgrade to 1.2.10

Only upgraded main example. Let's not go nuts and upgrade all of them for every
patch release.
parent 8aeedf79
...@@ -2,11 +2,11 @@ ...@@ -2,11 +2,11 @@
"name": "todomvc-angular", "name": "todomvc-angular",
"version": "0.0.0", "version": "0.0.0",
"dependencies": { "dependencies": {
"angular": "1.2.8", "angular": "1.2.10",
"todomvc-common": "~0.1.4" "todomvc-common": "~0.1.4"
}, },
"devDependencies": { "devDependencies": {
"angular-mocks": "1.2.8", "angular-mocks": "1.2.10",
"angular-route": "1.2.8" "angular-route": "1.2.10"
} }
} }
/** /**
* @license AngularJS v1.2.8 * @license AngularJS v1.2.10
* (c) 2010-2014 Google, Inc. http://angularjs.org * (c) 2010-2014 Google, Inc. http://angularjs.org
* License: MIT * License: MIT
*/ */
...@@ -190,7 +190,7 @@ function $RouteProvider(){ ...@@ -190,7 +190,7 @@ function $RouteProvider(){
path = path path = path
.replace(/([().])/g, '\\$1') .replace(/([().])/g, '\\$1')
.replace(/(\/)?:(\w+)([\?|\*])?/g, function(_, slash, key, option){ .replace(/(\/)?:(\w+)([\?\*])?/g, function(_, slash, key, option){
var optional = option === '?' ? option : null; var optional = option === '?' ? option : null;
var star = option === '*' ? option : null; var star = option === '*' ? option : null;
keys.push({ name: key, optional: !!optional }); keys.push({ name: key, optional: !!optional });
...@@ -375,7 +375,7 @@ function $RouteProvider(){ ...@@ -375,7 +375,7 @@ function $RouteProvider(){
* @eventType broadcast on root scope * @eventType broadcast on root scope
* @description * @description
* Broadcasted before a route change. At this point the route services starts * Broadcasted before a route change. At this point the route services starts
* resolving all of the dependencies needed for the route change to occurs. * resolving all of the dependencies needed for the route change to occur.
* Typically this involves fetching the view template as well as any dependencies * Typically this involves fetching the view template as well as any dependencies
* defined in `resolve` route property. Once all of the dependencies are resolved * defined in `resolve` route property. Once all of the dependencies are resolved
* `$routeChangeSuccess` is fired. * `$routeChangeSuccess` is fired.
...@@ -669,6 +669,15 @@ ngRouteModule.directive('ngView', ngViewFillContentFactory); ...@@ -669,6 +669,15 @@ ngRouteModule.directive('ngView', ngViewFillContentFactory);
* *
* @scope * @scope
* @priority 400 * @priority 400
* @param {string=} onload Expression to evaluate whenever the view updates.
*
* @param {string=} autoscroll Whether `ngView` should call {@link ng.$anchorScroll
* $anchorScroll} to scroll the viewport after the view is updated.
*
* - If the attribute is not set, disable scrolling.
* - If the attribute is set without value, enable scrolling.
* - Otherwise enable scrolling only if the `autoscroll` attribute value evaluated
* as an expression yields a truthy value.
* @example * @example
<example module="ngViewExample" deps="angular-route.js" animations="true"> <example module="ngViewExample" deps="angular-route.js" animations="true">
<file name="index.html"> <file name="index.html">
......
/** /**
* @license AngularJS v1.2.8 * @license AngularJS v1.2.10
* (c) 2010-2014 Google, Inc. http://angularjs.org * (c) 2010-2014 Google, Inc. http://angularjs.org
* License: MIT * License: MIT
*/ */
...@@ -68,7 +68,7 @@ function minErr(module) { ...@@ -68,7 +68,7 @@ function minErr(module) {
return match; return match;
}); });
message = message + '\nhttp://errors.angularjs.org/1.2.8/' + message = message + '\nhttp://errors.angularjs.org/1.2.10/' +
(module ? module + '/' : '') + code; (module ? module + '/' : '') + code;
for (i = 2; i < arguments.length; i++) { for (i = 2; i < arguments.length; i++) {
message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' + message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
...@@ -271,7 +271,8 @@ function isArrayLike(obj) { ...@@ -271,7 +271,8 @@ function isArrayLike(obj) {
* is the value of an object property or an array element and `key` is the object property key or * is the value of an object property or an array element and `key` is the object property key or
* array element index. Specifying a `context` for the function is optional. * array element index. Specifying a `context` for the function is optional.
* *
* Note: this function was previously known as `angular.foreach`. * It is worth nothing that `.forEach` does not iterate over inherited properties because it filters
* using the `hasOwnProperty` method.
* *
<pre> <pre>
var values = {name: 'misko', gender: 'male'}; var values = {name: 'misko', gender: 'male'};
...@@ -1833,11 +1834,11 @@ function setupModuleLoader(window) { ...@@ -1833,11 +1834,11 @@ function setupModuleLoader(window) {
* - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat". * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
*/ */
var version = { var version = {
full: '1.2.8', // all of these placeholder strings will be replaced by grunt's full: '1.2.10', // all of these placeholder strings will be replaced by grunt's
major: 1, // package task major: 1, // package task
minor: 2, minor: 2,
dot: 8, dot: 10,
codeName: 'interdimensional-cartography' codeName: 'augmented-serendipity'
}; };
...@@ -3279,11 +3280,9 @@ function annotate(fn) { ...@@ -3279,11 +3280,9 @@ function annotate(fn) {
* @param {(Object|function())} provider If the provider is: * @param {(Object|function())} provider If the provider is:
* *
* - `Object`: then it should have a `$get` method. The `$get` method will be invoked using * - `Object`: then it should have a `$get` method. The `$get` method will be invoked using
* {@link AUTO.$injector#invoke $injector.invoke()} when an instance needs to be * {@link AUTO.$injector#invoke $injector.invoke()} when an instance needs to be created.
* created.
* - `Constructor`: a new instance of the provider will be created using * - `Constructor`: a new instance of the provider will be created using
* {@link AUTO.$injector#instantiate $injector.instantiate()}, then treated as * {@link AUTO.$injector#instantiate $injector.instantiate()}, then treated as `object`.
* `object`.
* *
* @returns {Object} registered provider instance * @returns {Object} registered provider instance
...@@ -3399,7 +3398,7 @@ function annotate(fn) { ...@@ -3399,7 +3398,7 @@ function annotate(fn) {
* constructor function that will be used to instantiate the service instance. * constructor function that will be used to instantiate the service instance.
* *
* You should use {@link AUTO.$provide#methods_service $provide.service(class)} if you define your service * You should use {@link AUTO.$provide#methods_service $provide.service(class)} if you define your service
* as a type/class. This is common when using {@link http://coffeescript.org CoffeeScript}. * as a type/class.
* *
* @param {string} name The name of the instance. * @param {string} name The name of the instance.
* @param {Function} constructor A class (constructor function) that will be instantiated. * @param {Function} constructor A class (constructor function) that will be instantiated.
...@@ -3407,20 +3406,25 @@ function annotate(fn) { ...@@ -3407,20 +3406,25 @@ function annotate(fn) {
* *
* @example * @example
* Here is an example of registering a service using * Here is an example of registering a service using
* {@link AUTO.$provide#methods_service $provide.service(class)} that is defined as a CoffeeScript class. * {@link AUTO.$provide#methods_service $provide.service(class)}.
* <pre> * <pre>
* class Ping * $provide.service('ping', ['$http', function($http) {
* constructor: (@$http) -> * var Ping = function() {
* send: () => * this.$http = $http;
* @$http.get('/ping') * };
*
* Ping.prototype.send = function() {
* return this.$http.get('/ping');
* };
* *
* $provide.service('ping', ['$http', Ping]) * return Ping;
* }]);
* </pre> * </pre>
* You would then inject and use this service like this: * You would then inject and use this service like this:
* <pre> * <pre>
* someModule.controller 'Ctrl', ['ping', (ping) -> * someModule.controller('Ctrl', ['ping', function(ping) {
* ping.send() * ping.send();
* ] * }]);
* </pre> * </pre>
*/ */
...@@ -6945,9 +6949,9 @@ function $HttpProvider() { ...@@ -6945,9 +6949,9 @@ function $HttpProvider() {
common: { common: {
'Accept': 'application/json, text/plain, */*' 'Accept': 'application/json, text/plain, */*'
}, },
post: CONTENT_TYPE_APPLICATION_JSON, post: copy(CONTENT_TYPE_APPLICATION_JSON),
put: CONTENT_TYPE_APPLICATION_JSON, put: copy(CONTENT_TYPE_APPLICATION_JSON),
patch: CONTENT_TYPE_APPLICATION_JSON patch: copy(CONTENT_TYPE_APPLICATION_JSON)
}, },
xsrfCookieName: 'XSRF-TOKEN', xsrfCookieName: 'XSRF-TOKEN',
...@@ -7057,31 +7061,14 @@ function $HttpProvider() { ...@@ -7057,31 +7061,14 @@ function $HttpProvider() {
* XMLHttpRequest will transparently follow it, meaning that the error callback will not be * XMLHttpRequest will transparently follow it, meaning that the error callback will not be
* called for such responses. * called for such responses.
* *
* # Calling $http from outside AngularJS
* The `$http` service will not actually send the request until the next `$digest()` is
* executed. Normally this is not an issue, since almost all the time your call to `$http` will
* be from within a `$apply()` block.
* If you are calling `$http` from outside Angular, then you should wrap it in a call to
* `$apply` to cause a $digest to occur and also to handle errors in the block correctly.
*
* ```
* $scope.$apply(function() {
* $http(...);
* });
* ```
*
* # Writing Unit Tests that use $http * # Writing Unit Tests that use $http
* When unit testing you are mostly responsible for scheduling the `$digest` cycle. If you do * When unit testing (using {@link api/ngMock ngMock}), it is necessary to call
* not trigger a `$digest` before calling `$httpBackend.flush()` then the request will not have * {@link api/ngMock.$httpBackend#methods_flush $httpBackend.flush()} to flush each pending
* been made and `$httpBackend.expect(...)` expectations will fail. The solution is to run the * request using trained responses.
* code that calls the `$http()` method inside a $apply block as explained in the previous
* section.
* *
* ``` * ```
* $httpBackend.expectGET(...); * $httpBackend.expectGET(...);
* $scope.$apply(function() {
* $http.get(...); * $http.get(...);
* });
* $httpBackend.flush(); * $httpBackend.flush();
* ``` * ```
* *
...@@ -8430,7 +8417,7 @@ function $IntervalProvider() { ...@@ -8430,7 +8417,7 @@ function $IntervalProvider() {
iteration = 0, iteration = 0,
skipApply = (isDefined(invokeApply) && !invokeApply); skipApply = (isDefined(invokeApply) && !invokeApply);
count = isDefined(count) ? count : 0, count = isDefined(count) ? count : 0;
promise.then(null, null, fn); promise.then(null, null, fn);
...@@ -10130,7 +10117,7 @@ Parser.prototype = { ...@@ -10130,7 +10117,7 @@ Parser.prototype = {
var getter = getterFn(field, this.options, this.text); var getter = getterFn(field, this.options, this.text);
return extend(function(scope, locals, self) { return extend(function(scope, locals, self) {
return getter(self || object(scope, locals), locals); return getter(self || object(scope, locals));
}, { }, {
assign: function(scope, value, locals) { assign: function(scope, value, locals) {
return setter(object(scope, locals), field, value, parser.text, parser.options); return setter(object(scope, locals), field, value, parser.text, parser.options);
...@@ -10706,8 +10693,8 @@ function $ParseProvider() { ...@@ -10706,8 +10693,8 @@ function $ParseProvider() {
* asynchronous programming what `try`, `catch` and `throw` keywords are to synchronous programming. * asynchronous programming what `try`, `catch` and `throw` keywords are to synchronous programming.
* *
* <pre> * <pre>
* // for the purpose of this example let's assume that variables `$q` and `scope` are * // for the purpose of this example let's assume that variables `$q`, `scope` and `okToGreet`
* // available in the current lexical scope (they could have been injected or passed in). * // are available in the current lexical scope (they could have been injected or passed in).
* *
* function asyncGreet(name) { * function asyncGreet(name) {
* var deferred = $q.defer(); * var deferred = $q.defer();
...@@ -11836,7 +11823,7 @@ function $RootScopeProvider(){ ...@@ -11836,7 +11823,7 @@ function $RootScopeProvider(){
// `break traverseScopesLoop;` takes us to here // `break traverseScopesLoop;` takes us to here
if(dirty && !(ttl--)) { if((dirty || asyncQueue.length) && !(ttl--)) {
clearPhase(); clearPhase();
throw $rootScopeMinErr('infdig', throw $rootScopeMinErr('infdig',
'{0} $digest() iterations reached. Aborting!\n' + '{0} $digest() iterations reached. Aborting!\n' +
...@@ -12641,7 +12628,7 @@ function $SceDelegateProvider() { ...@@ -12641,7 +12628,7 @@ function $SceDelegateProvider() {
* *
* @description * @description
* Returns an object that is trusted by angular for use in specified strict * Returns an object that is trusted by angular for use in specified strict
* contextual escaping contexts (such as ng-html-bind-unsafe, ng-include, any src * contextual escaping contexts (such as ng-bind-html, ng-include, any src
* attribute interpolation, any dom event binding attribute interpolation * attribute interpolation, any dom event binding attribute interpolation
* such as for onclick, etc.) that uses the provided value. * such as for onclick, etc.) that uses the provided value.
* See {@link ng.$sce $sce} for enabling strict contextual escaping. * See {@link ng.$sce $sce} for enabling strict contextual escaping.
...@@ -12687,7 +12674,7 @@ function $SceDelegateProvider() { ...@@ -12687,7 +12674,7 @@ function $SceDelegateProvider() {
* *
* @param {*} value The result of a prior {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`} * @param {*} value The result of a prior {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`}
* call or anything else. * call or anything else.
* @returns {*} The value the was originally provided to {@link ng.$sceDelegate#methods_trustAs * @returns {*} The `value` that was originally provided to {@link ng.$sceDelegate#methods_trustAs
* `$sceDelegate.trustAs`} if `value` is the result of such a call. Otherwise, returns * `$sceDelegate.trustAs`} if `value` is the result of such a call. Otherwise, returns
* `value` unchanged. * `value` unchanged.
*/ */
...@@ -12868,8 +12855,8 @@ function $SceDelegateProvider() { ...@@ -12868,8 +12855,8 @@ function $SceDelegateProvider() {
* It's important to remember that SCE only applies to interpolation expressions. * It's important to remember that SCE only applies to interpolation expressions.
* *
* If your expressions are constant literals, they're automatically trusted and you don't need to * If your expressions are constant literals, they're automatically trusted and you don't need to
* call `$sce.trustAs` on them. (e.g. * call `$sce.trustAs` on them (remember to include the `ngSanitize` module) (e.g.
* `<div ng-html-bind-unsafe="'<b>implicitly trusted</b>'"></div>`) just works. * `<div ng-bind-html="'<b>implicitly trusted</b>'"></div>`) just works.
* *
* Additionally, `a[href]` and `img[src]` automatically sanitize their URLs and do not pass them * Additionally, `a[href]` and `img[src]` automatically sanitize their URLs and do not pass them
* through {@link ng.$sce#methods_getTrusted $sce.getTrusted}. SCE doesn't play a role here. * through {@link ng.$sce#methods_getTrusted $sce.getTrusted}. SCE doesn't play a role here.
...@@ -12929,7 +12916,7 @@ function $SceDelegateProvider() { ...@@ -12929,7 +12916,7 @@ function $SceDelegateProvider() {
* matched against the **entire** *normalized / absolute URL* of the resource being tested * matched against the **entire** *normalized / absolute URL* of the resource being tested
* (even when the RegExp did not have the `^` and `$` codes.) In addition, any flags * (even when the RegExp did not have the `^` and `$` codes.) In addition, any flags
* present on the RegExp (such as multiline, global, ignoreCase) are ignored. * present on the RegExp (such as multiline, global, ignoreCase) are ignored.
* - If you are generating your Javascript from some other templating engine (not * - If you are generating your JavaScript from some other templating engine (not
* recommended, e.g. in issue [#4006](https://github.com/angular/angular.js/issues/4006)), * recommended, e.g. in issue [#4006](https://github.com/angular/angular.js/issues/4006)),
* remember to escape your regular expression (and be aware that you might need more than * remember to escape your regular expression (and be aware that you might need more than
* one level of escaping depending on your templating engine and the way you interpolated * one level of escaping depending on your templating engine and the way you interpolated
...@@ -12946,7 +12933,7 @@ function $SceDelegateProvider() { ...@@ -12946,7 +12933,7 @@ function $SceDelegateProvider() {
* ## Show me an example using SCE. * ## Show me an example using SCE.
* *
* @example * @example
<example module="mySceApp"> <example module="mySceApp" deps="angular-sanitize.js">
<file name="index.html"> <file name="index.html">
<div ng-controller="myAppController as myCtrl"> <div ng-controller="myAppController as myCtrl">
<i ng-bind-html="myCtrl.explicitlyTrustedHtml" id="explicitlyTrustedHtml"></i><br><br> <i ng-bind-html="myCtrl.explicitlyTrustedHtml" id="explicitlyTrustedHtml"></i><br><br>
...@@ -13171,8 +13158,8 @@ function $SceProvider() { ...@@ -13171,8 +13158,8 @@ function $SceProvider() {
* *
* @description * @description
* Delegates to {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`}. As such, * Delegates to {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`}. As such,
* returns an objectthat is trusted by angular for use in specified strict contextual * returns an object that is trusted by angular for use in specified strict contextual
* escaping contexts (such as ng-html-bind-unsafe, ng-include, any src attribute * escaping contexts (such as ng-bind-html, ng-include, any src attribute
* interpolation, any dom event binding attribute interpolation such as for onclick, etc.) * interpolation, any dom event binding attribute interpolation such as for onclick, etc.)
* that uses the provided value. See * {@link ng.$sce $sce} for enabling strict contextual * that uses the provided value. See * {@link ng.$sce $sce} for enabling strict contextual
* escaping. * escaping.
...@@ -14850,11 +14837,14 @@ var htmlAnchorDirective = valueFn({ ...@@ -14850,11 +14837,14 @@ var htmlAnchorDirective = valueFn({
element.append(document.createComment('IE fix')); element.append(document.createComment('IE fix'));
} }
if (!attr.href && !attr.name) { if (!attr.href && !attr.xlinkHref && !attr.name) {
return function(scope, element) { return function(scope, element) {
// SVGAElement does not use the href attribute, but rather the 'xlinkHref' attribute.
var href = toString.call(element.prop('href')) === '[object SVGAnimatedString]' ?
'xlink:href' : 'href';
element.on('click', function(event){ element.on('click', function(event){
// if we have no href url, then don't navigate anywhere. // if we have no href url, then don't navigate anywhere.
if (!element.attr('href')) { if (!element.attr(href)) {
event.preventDefault(); event.preventDefault();
} }
}); });
...@@ -15621,7 +15611,7 @@ var ngFormDirective = formDirectiveFactory(true); ...@@ -15621,7 +15611,7 @@ var ngFormDirective = formDirectiveFactory(true);
*/ */
var URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/; var URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/;
var EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/; var EMAIL_REGEXP = /^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i;
var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/; var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/;
var inputType = { var inputType = {
...@@ -15921,6 +15911,8 @@ var inputType = { ...@@ -15921,6 +15911,8 @@ var inputType = {
* @param {string=} name Property name of the form under which the control is published. * @param {string=} name Property name of the form under which the control is published.
* @param {string=} ngChange Angular expression to be executed when input changes due to user * @param {string=} ngChange Angular expression to be executed when input changes due to user
* interaction with the input element. * interaction with the input element.
* @param {string} ngValue Angular expression which sets the value to which the expression should
* be set when selected.
* *
* @example * @example
<doc:example> <doc:example>
...@@ -15928,21 +15920,26 @@ var inputType = { ...@@ -15928,21 +15920,26 @@ var inputType = {
<script> <script>
function Ctrl($scope) { function Ctrl($scope) {
$scope.color = 'blue'; $scope.color = 'blue';
$scope.specialValue = {
"id": "12345",
"value": "green"
};
} }
</script> </script>
<form name="myForm" ng-controller="Ctrl"> <form name="myForm" ng-controller="Ctrl">
<input type="radio" ng-model="color" value="red"> Red <br/> <input type="radio" ng-model="color" value="red"> Red <br/>
<input type="radio" ng-model="color" value="green"> Green <br/> <input type="radio" ng-model="color" ng-value="specialValue"> Green <br/>
<input type="radio" ng-model="color" value="blue"> Blue <br/> <input type="radio" ng-model="color" value="blue"> Blue <br/>
<tt>color = {{color}}</tt><br/> <tt>color = {{color | json}}</tt><br/>
</form> </form>
Note that `ng-value="specialValue"` sets radio item's value to be the value of `$scope.specialValue`.
</doc:source> </doc:source>
<doc:scenario> <doc:scenario>
it('should change state', function() { it('should change state', function() {
expect(binding('color')).toEqual('blue'); expect(binding('color')).toEqual('"blue"');
input('color').select('red'); input('color').select('red');
expect(binding('color')).toEqual('red'); expect(binding('color')).toEqual('"red"');
}); });
</doc:scenario> </doc:scenario>
</doc:example> </doc:example>
...@@ -16800,7 +16797,10 @@ var ngModelDirective = function() { ...@@ -16800,7 +16797,10 @@ var ngModelDirective = function() {
* @name ng.directive:ngChange * @name ng.directive:ngChange
* *
* @description * @description
* Evaluate given expression when user changes the input. * Evaluate the given expression when the user changes the input.
* The expression is evaluated immediately, unlike the JavaScript onchange event
* which only triggers at the end of a change (usually, when the user leaves the
* form element or presses the return key).
* The expression is not evaluated when the value change is coming from the model. * The expression is not evaluated when the value change is coming from the model.
* *
* Note, this directive requires `ngModel` to be present. * Note, this directive requires `ngModel` to be present.
...@@ -17793,6 +17793,7 @@ var ngControllerDirective = [function() { ...@@ -17793,6 +17793,7 @@ var ngControllerDirective = [function() {
* an element is clicked. * an element is clicked.
* *
* @element ANY * @element ANY
* @priority 0
* @param {expression} ngClick {@link guide/expression Expression} to evaluate upon * @param {expression} ngClick {@link guide/expression Expression} to evaluate upon
* click. (Event object is available as `$event`) * click. (Event object is available as `$event`)
* *
...@@ -17849,6 +17850,7 @@ forEach( ...@@ -17849,6 +17850,7 @@ forEach(
* The `ngDblclick` directive allows you to specify custom behavior on a dblclick event. * The `ngDblclick` directive allows you to specify custom behavior on a dblclick event.
* *
* @element ANY * @element ANY
* @priority 0
* @param {expression} ngDblclick {@link guide/expression Expression} to evaluate upon * @param {expression} ngDblclick {@link guide/expression Expression} to evaluate upon
* a dblclick. (The Event object is available as `$event`) * a dblclick. (The Event object is available as `$event`)
* *
...@@ -17872,6 +17874,7 @@ forEach( ...@@ -17872,6 +17874,7 @@ forEach(
* The ngMousedown directive allows you to specify custom behavior on mousedown event. * The ngMousedown directive allows you to specify custom behavior on mousedown event.
* *
* @element ANY * @element ANY
* @priority 0
* @param {expression} ngMousedown {@link guide/expression Expression} to evaluate upon * @param {expression} ngMousedown {@link guide/expression Expression} to evaluate upon
* mousedown. (Event object is available as `$event`) * mousedown. (Event object is available as `$event`)
* *
...@@ -17895,6 +17898,7 @@ forEach( ...@@ -17895,6 +17898,7 @@ forEach(
* Specify custom behavior on mouseup event. * Specify custom behavior on mouseup event.
* *
* @element ANY * @element ANY
* @priority 0
* @param {expression} ngMouseup {@link guide/expression Expression} to evaluate upon * @param {expression} ngMouseup {@link guide/expression Expression} to evaluate upon
* mouseup. (Event object is available as `$event`) * mouseup. (Event object is available as `$event`)
* *
...@@ -17917,6 +17921,7 @@ forEach( ...@@ -17917,6 +17921,7 @@ forEach(
* Specify custom behavior on mouseover event. * Specify custom behavior on mouseover event.
* *
* @element ANY * @element ANY
* @priority 0
* @param {expression} ngMouseover {@link guide/expression Expression} to evaluate upon * @param {expression} ngMouseover {@link guide/expression Expression} to evaluate upon
* mouseover. (Event object is available as `$event`) * mouseover. (Event object is available as `$event`)
* *
...@@ -17940,6 +17945,7 @@ forEach( ...@@ -17940,6 +17945,7 @@ forEach(
* Specify custom behavior on mouseenter event. * Specify custom behavior on mouseenter event.
* *
* @element ANY * @element ANY
* @priority 0
* @param {expression} ngMouseenter {@link guide/expression Expression} to evaluate upon * @param {expression} ngMouseenter {@link guide/expression Expression} to evaluate upon
* mouseenter. (Event object is available as `$event`) * mouseenter. (Event object is available as `$event`)
* *
...@@ -17963,6 +17969,7 @@ forEach( ...@@ -17963,6 +17969,7 @@ forEach(
* Specify custom behavior on mouseleave event. * Specify custom behavior on mouseleave event.
* *
* @element ANY * @element ANY
* @priority 0
* @param {expression} ngMouseleave {@link guide/expression Expression} to evaluate upon * @param {expression} ngMouseleave {@link guide/expression Expression} to evaluate upon
* mouseleave. (Event object is available as `$event`) * mouseleave. (Event object is available as `$event`)
* *
...@@ -17986,6 +17993,7 @@ forEach( ...@@ -17986,6 +17993,7 @@ forEach(
* Specify custom behavior on mousemove event. * Specify custom behavior on mousemove event.
* *
* @element ANY * @element ANY
* @priority 0
* @param {expression} ngMousemove {@link guide/expression Expression} to evaluate upon * @param {expression} ngMousemove {@link guide/expression Expression} to evaluate upon
* mousemove. (Event object is available as `$event`) * mousemove. (Event object is available as `$event`)
* *
...@@ -18009,6 +18017,7 @@ forEach( ...@@ -18009,6 +18017,7 @@ forEach(
* Specify custom behavior on keydown event. * Specify custom behavior on keydown event.
* *
* @element ANY * @element ANY
* @priority 0
* @param {expression} ngKeydown {@link guide/expression Expression} to evaluate upon * @param {expression} ngKeydown {@link guide/expression Expression} to evaluate upon
* keydown. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.) * keydown. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.)
* *
...@@ -18030,6 +18039,7 @@ forEach( ...@@ -18030,6 +18039,7 @@ forEach(
* Specify custom behavior on keyup event. * Specify custom behavior on keyup event.
* *
* @element ANY * @element ANY
* @priority 0
* @param {expression} ngKeyup {@link guide/expression Expression} to evaluate upon * @param {expression} ngKeyup {@link guide/expression Expression} to evaluate upon
* keyup. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.) * keyup. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.)
* *
...@@ -18076,6 +18086,7 @@ forEach( ...@@ -18076,6 +18086,7 @@ forEach(
* attribute**. * attribute**.
* *
* @element form * @element form
* @priority 0
* @param {expression} ngSubmit {@link guide/expression Expression} to eval. (Event object is available as `$event`) * @param {expression} ngSubmit {@link guide/expression Expression} to eval. (Event object is available as `$event`)
* *
* @example * @example
...@@ -18125,6 +18136,7 @@ forEach( ...@@ -18125,6 +18136,7 @@ forEach(
* Specify custom behavior on focus event. * Specify custom behavior on focus event.
* *
* @element window, input, select, textarea, a * @element window, input, select, textarea, a
* @priority 0
* @param {expression} ngFocus {@link guide/expression Expression} to evaluate upon * @param {expression} ngFocus {@link guide/expression Expression} to evaluate upon
* focus. (Event object is available as `$event`) * focus. (Event object is available as `$event`)
* *
...@@ -18140,6 +18152,7 @@ forEach( ...@@ -18140,6 +18152,7 @@ forEach(
* Specify custom behavior on blur event. * Specify custom behavior on blur event.
* *
* @element window, input, select, textarea, a * @element window, input, select, textarea, a
* @priority 0
* @param {expression} ngBlur {@link guide/expression Expression} to evaluate upon * @param {expression} ngBlur {@link guide/expression Expression} to evaluate upon
* blur. (Event object is available as `$event`) * blur. (Event object is available as `$event`)
* *
...@@ -18155,6 +18168,7 @@ forEach( ...@@ -18155,6 +18168,7 @@ forEach(
* Specify custom behavior on copy event. * Specify custom behavior on copy event.
* *
* @element window, input, select, textarea, a * @element window, input, select, textarea, a
* @priority 0
* @param {expression} ngCopy {@link guide/expression Expression} to evaluate upon * @param {expression} ngCopy {@link guide/expression Expression} to evaluate upon
* copy. (Event object is available as `$event`) * copy. (Event object is available as `$event`)
* *
...@@ -18175,6 +18189,7 @@ forEach( ...@@ -18175,6 +18189,7 @@ forEach(
* Specify custom behavior on cut event. * Specify custom behavior on cut event.
* *
* @element window, input, select, textarea, a * @element window, input, select, textarea, a
* @priority 0
* @param {expression} ngCut {@link guide/expression Expression} to evaluate upon * @param {expression} ngCut {@link guide/expression Expression} to evaluate upon
* cut. (Event object is available as `$event`) * cut. (Event object is available as `$event`)
* *
...@@ -18195,6 +18210,7 @@ forEach( ...@@ -18195,6 +18210,7 @@ forEach(
* Specify custom behavior on paste event. * Specify custom behavior on paste event.
* *
* @element window, input, select, textarea, a * @element window, input, select, textarea, a
* @priority 0
* @param {expression} ngPaste {@link guide/expression Expression} to evaluate upon * @param {expression} ngPaste {@link guide/expression Expression} to evaluate upon
* paste. (Event object is available as `$event`) * paste. (Event object is available as `$event`)
* *
...@@ -18578,6 +18594,13 @@ var ngIncludeFillContentDirective = ['$compile', ...@@ -18578,6 +18594,13 @@ var ngIncludeFillContentDirective = ['$compile',
* should use {@link guide/controller controllers} rather than `ngInit` * should use {@link guide/controller controllers} rather than `ngInit`
* to initialize values on a scope. * to initialize values on a scope.
* </div> * </div>
* <div class="alert alert-warning">
* **Note**: If you have assignment in `ngInit` along with {@link api/ng.$filter `$filter`}, make
* sure you have parenthesis for correct precedence:
* <pre class="prettyprint">
* <div ng-init="test1 = (data | orderBy:'name')"></div>
* </pre>
* </div>
* *
* @priority 450 * @priority 450
* *
...@@ -19313,6 +19336,11 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) { ...@@ -19313,6 +19336,11 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
* *
* Just remember to include the important flag so the CSS override will function. * Just remember to include the important flag so the CSS override will function.
* *
* <div class="alert alert-warning">
* **Note:** Here is a list of values that ngShow will consider as a falsy value (case insensitive):<br />
* "f" / "0" / "false" / "no" / "n" / "[]"
* </div>
*
* ## A note about animations with ngShow * ## A note about animations with ngShow
* *
* Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression
...@@ -19462,6 +19490,11 @@ var ngShowDirective = ['$animate', function($animate) { ...@@ -19462,6 +19490,11 @@ var ngShowDirective = ['$animate', function($animate) {
* *
* Just remember to include the important flag so the CSS override will function. * Just remember to include the important flag so the CSS override will function.
* *
* <div class="alert alert-warning">
* **Note:** Here is a list of values that ngHide will consider as a falsy value (case insensitive):<br />
* "f" / "0" / "false" / "no" / "n" / "[]"
* </div>
*
* ## A note about animations with ngHide * ## A note about animations with ngHide
* *
* Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression
...@@ -19932,14 +19965,21 @@ var ngOptionsMinErr = minErr('ngOptions'); ...@@ -19932,14 +19965,21 @@ var ngOptionsMinErr = minErr('ngOptions');
* represented by the selected option will be bound to the model identified by the `ngModel` * represented by the selected option will be bound to the model identified by the `ngModel`
* directive. * directive.
* *
* <div class="alert alert-warning">
* **Note:** `ngModel` compares by reference, not value. This is important when binding to an
* array of objects. See an example {@link http://jsfiddle.net/qWzTb/ in this jsfiddle}.
* </div>
*
* Optionally, a single hard-coded `<option>` element, with the value set to an empty string, can * Optionally, a single hard-coded `<option>` element, with the value set to an empty string, can
* be nested into the `<select>` element. This element will then represent the `null` or "not selected" * be nested into the `<select>` element. This element will then represent the `null` or "not selected"
* option. See example below for demonstration. * option. See example below for demonstration.
* *
* Note: `ngOptions` provides iterator facility for `<option>` element which should be used instead * <div class="alert alert-warning">
* **Note:** `ngOptions` provides iterator facility for `<option>` element which should be used instead
* of {@link ng.directive:ngRepeat ngRepeat} when you want the * of {@link ng.directive:ngRepeat ngRepeat} when you want the
* `select` model to be bound to a non-string value. This is because an option element can only * `select` model to be bound to a non-string value. This is because an option element can only
* be bound to string values at present. * be bound to string values at present.
* </div>
* *
* @param {string} ngModel Assignable angular expression to data-bind to. * @param {string} ngModel Assignable angular expression to data-bind to.
* @param {string=} name Property name of the form under which the control is published. * @param {string=} name Property name of the form under which the control is published.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment