angular-gem 1.2.9 → 1.2.10

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.9
2
+ * @license AngularJS v1.2.10
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -834,7 +834,10 @@ angular.module('ngAnimate', ['ng'])
834
834
  }
835
835
 
836
836
  function fireDoneCallbackAsync() {
837
- doneCallback && async(doneCallback);
837
+ async(function() {
838
+ fireDOMCallback('close');
839
+ doneCallback && doneCallback();
840
+ });
838
841
  }
839
842
 
840
843
  //it is less complicated to use a flag than managing and cancelling
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.9
2
+ * @license AngularJS v1.2.10
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.9
2
+ * @license AngularJS v1.2.10
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -69,7 +69,7 @@ function minErr(module) {
69
69
  return match;
70
70
  });
71
71
 
72
- message = message + '\nhttp://errors.angularjs.org/1.2.9/' +
72
+ message = message + '\nhttp://errors.angularjs.org/1.2.10/' +
73
73
  (module ? module + '/' : '') + code;
74
74
  for (i = 2; i < arguments.length; i++) {
75
75
  message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.9
2
+ * @license AngularJS v1.2.10
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -386,7 +386,7 @@ angular.mock.$LogProvider = function() {
386
386
  *
387
387
  * @example
388
388
  * <pre>
389
- * $log.log('Some Error');
389
+ * $log.error('Some Error');
390
390
  * var first = $log.error.logs.unshift();
391
391
  * </pre>
392
392
  */
@@ -1736,7 +1736,7 @@ angular.mock.$RootElementProvider = function() {
1736
1736
  * In addition, ngMock also extends various core ng services such that they can be
1737
1737
  * inspected and controlled in a synchronous manner within test code.
1738
1738
  *
1739
- * {@installModule mocks}
1739
+ * {@installModule mock}
1740
1740
  *
1741
1741
  * <div doc-module-components="ngMock"></div>
1742
1742
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.9
2
+ * @license AngularJS v1.2.10
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.9
2
+ * @license AngularJS v1.2.10
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -190,7 +190,7 @@ function $RouteProvider(){
190
190
 
191
191
  path = path
192
192
  .replace(/([().])/g, '\\$1')
193
- .replace(/(\/)?:(\w+)([\?|\*])?/g, function(_, slash, key, option){
193
+ .replace(/(\/)?:(\w+)([\?\*])?/g, function(_, slash, key, option){
194
194
  var optional = option === '?' ? option : null;
195
195
  var star = option === '*' ? option : null;
196
196
  keys.push({ name: key, optional: !!optional });
@@ -375,7 +375,7 @@ function $RouteProvider(){
375
375
  * @eventType broadcast on root scope
376
376
  * @description
377
377
  * Broadcasted before a route change. At this point the route services starts
378
- * resolving all of the dependencies needed for the route change to occurs.
378
+ * resolving all of the dependencies needed for the route change to occur.
379
379
  * Typically this involves fetching the view template as well as any dependencies
380
380
  * defined in `resolve` route property. Once all of the dependencies are resolved
381
381
  * `$routeChangeSuccess` is fired.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.9
2
+ * @license AngularJS v1.2.10
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -9790,7 +9790,7 @@ if ( typeof module === "object" && module && typeof module.exports === "object"
9790
9790
  })( window );
9791
9791
 
9792
9792
  /**
9793
- * @license AngularJS v1.2.9
9793
+ * @license AngularJS v1.2.10
9794
9794
  * (c) 2010-2014 Google, Inc. http://angularjs.org
9795
9795
  * License: MIT
9796
9796
  */
@@ -9860,7 +9860,7 @@ function minErr(module) {
9860
9860
  return match;
9861
9861
  });
9862
9862
 
9863
- message = message + '\nhttp://errors.angularjs.org/1.2.9/' +
9863
+ message = message + '\nhttp://errors.angularjs.org/1.2.10/' +
9864
9864
  (module ? module + '/' : '') + code;
9865
9865
  for (i = 2; i < arguments.length; i++) {
9866
9866
  message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
@@ -11626,11 +11626,11 @@ function setupModuleLoader(window) {
11626
11626
  * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
11627
11627
  */
11628
11628
  var version = {
11629
- full: '1.2.9', // all of these placeholder strings will be replaced by grunt's
11629
+ full: '1.2.10', // all of these placeholder strings will be replaced by grunt's
11630
11630
  major: 1, // package task
11631
11631
  minor: 2,
11632
- dot: 9,
11633
- codeName: 'enchanted-articulacy'
11632
+ dot: 10,
11633
+ codeName: 'augmented-serendipity'
11634
11634
  };
11635
11635
 
11636
11636
 
@@ -13072,11 +13072,9 @@ function annotate(fn) {
13072
13072
  * @param {(Object|function())} provider If the provider is:
13073
13073
  *
13074
13074
  * - `Object`: then it should have a `$get` method. The `$get` method will be invoked using
13075
- * {@link AUTO.$injector#invoke $injector.invoke()} when an instance needs to be
13076
- * created.
13077
- * - `Constructor`: a new instance of the provider will be created using
13078
- * {@link AUTO.$injector#instantiate $injector.instantiate()}, then treated as
13079
- * `object`.
13075
+ * {@link AUTO.$injector#invoke $injector.invoke()} when an instance needs to be created.
13076
+ * - `Constructor`: a new instance of the provider will be created using
13077
+ * {@link AUTO.$injector#instantiate $injector.instantiate()}, then treated as `object`.
13080
13078
  *
13081
13079
  * @returns {Object} registered provider instance
13082
13080
 
@@ -16855,31 +16853,14 @@ function $HttpProvider() {
16855
16853
  * XMLHttpRequest will transparently follow it, meaning that the error callback will not be
16856
16854
  * called for such responses.
16857
16855
  *
16858
- * # Calling $http from outside AngularJS
16859
- * The `$http` service will not actually send the request until the next `$digest()` is
16860
- * executed. Normally this is not an issue, since almost all the time your call to `$http` will
16861
- * be from within a `$apply()` block.
16862
- * If you are calling `$http` from outside Angular, then you should wrap it in a call to
16863
- * `$apply` to cause a $digest to occur and also to handle errors in the block correctly.
16864
- *
16865
- * ```
16866
- * $scope.$apply(function() {
16867
- * $http(...);
16868
- * });
16869
- * ```
16870
- *
16871
16856
  * # Writing Unit Tests that use $http
16872
- * When unit testing you are mostly responsible for scheduling the `$digest` cycle. If you do
16873
- * not trigger a `$digest` before calling `$httpBackend.flush()` then the request will not have
16874
- * been made and `$httpBackend.expect(...)` expectations will fail. The solution is to run the
16875
- * code that calls the `$http()` method inside a $apply block as explained in the previous
16876
- * section.
16857
+ * When unit testing (using {@link api/ngMock ngMock}), it is necessary to call
16858
+ * {@link api/ngMock.$httpBackend#methods_flush $httpBackend.flush()} to flush each pending
16859
+ * request using trained responses.
16877
16860
  *
16878
16861
  * ```
16879
16862
  * $httpBackend.expectGET(...);
16880
- * $scope.$apply(function() {
16881
- * $http.get(...);
16882
- * });
16863
+ * $http.get(...);
16883
16864
  * $httpBackend.flush();
16884
16865
  * ```
16885
16866
  *
@@ -18114,7 +18095,7 @@ function $IntervalProvider() {
18114
18095
  * In tests you can use {@link ngMock.$interval#methods_flush `$interval.flush(millis)`} to
18115
18096
  * move forward by `millis` milliseconds and trigger any functions scheduled to run in that
18116
18097
  * time.
18117
- *
18098
+ *
18118
18099
  * <div class="alert alert-warning">
18119
18100
  * **Note**: Intervals created by this service must be explicitly destroyed when you are finished
18120
18101
  * with them. In particular they are not automatically destroyed when a controller's scope or a
@@ -18227,8 +18208,8 @@ function $IntervalProvider() {
18227
18208
  promise = deferred.promise,
18228
18209
  iteration = 0,
18229
18210
  skipApply = (isDefined(invokeApply) && !invokeApply);
18230
-
18231
- count = isDefined(count) ? count : 0,
18211
+
18212
+ count = isDefined(count) ? count : 0;
18232
18213
 
18233
18214
  promise.then(null, null, fn);
18234
18215
 
@@ -19928,7 +19909,7 @@ Parser.prototype = {
19928
19909
  var getter = getterFn(field, this.options, this.text);
19929
19910
 
19930
19911
  return extend(function(scope, locals, self) {
19931
- return getter(self || object(scope, locals), locals);
19912
+ return getter(self || object(scope, locals));
19932
19913
  }, {
19933
19914
  assign: function(scope, value, locals) {
19934
19915
  return setter(object(scope, locals), field, value, parser.text, parser.options);
@@ -20504,9 +20485,9 @@ function $ParseProvider() {
20504
20485
  * asynchronous programming what `try`, `catch` and `throw` keywords are to synchronous programming.
20505
20486
  *
20506
20487
  * <pre>
20507
- * // for the purpose of this example let's assume that variables `$q` and `scope` are
20508
- * // available in the current lexical scope (they could have been injected or passed in).
20509
- *
20488
+ * // for the purpose of this example let's assume that variables `$q`, `scope` and `okToGreet`
20489
+ * // are available in the current lexical scope (they could have been injected or passed in).
20490
+ *
20510
20491
  * function asyncGreet(name) {
20511
20492
  * var deferred = $q.defer();
20512
20493
  *
@@ -22439,7 +22420,7 @@ function $SceDelegateProvider() {
22439
22420
  *
22440
22421
  * @description
22441
22422
  * Returns an object that is trusted by angular for use in specified strict
22442
- * contextual escaping contexts (such as ng-html-bind-unsafe, ng-include, any src
22423
+ * contextual escaping contexts (such as ng-bind-html, ng-include, any src
22443
22424
  * attribute interpolation, any dom event binding attribute interpolation
22444
22425
  * such as for onclick, etc.) that uses the provided value.
22445
22426
  * See {@link ng.$sce $sce} for enabling strict contextual escaping.
@@ -22666,8 +22647,8 @@ function $SceDelegateProvider() {
22666
22647
  * It's important to remember that SCE only applies to interpolation expressions.
22667
22648
  *
22668
22649
  * If your expressions are constant literals, they're automatically trusted and you don't need to
22669
- * call `$sce.trustAs` on them. (e.g.
22670
- * `<div ng-html-bind-unsafe="'<b>implicitly trusted</b>'"></div>`) just works.
22650
+ * call `$sce.trustAs` on them (remember to include the `ngSanitize` module) (e.g.
22651
+ * `<div ng-bind-html="'<b>implicitly trusted</b>'"></div>`) just works.
22671
22652
  *
22672
22653
  * Additionally, `a[href]` and `img[src]` automatically sanitize their URLs and do not pass them
22673
22654
  * through {@link ng.$sce#methods_getTrusted $sce.getTrusted}. SCE doesn't play a role here.
@@ -22727,7 +22708,7 @@ function $SceDelegateProvider() {
22727
22708
  * matched against the **entire** *normalized / absolute URL* of the resource being tested
22728
22709
  * (even when the RegExp did not have the `^` and `$` codes.) In addition, any flags
22729
22710
  * present on the RegExp (such as multiline, global, ignoreCase) are ignored.
22730
- * - If you are generating your Javascript from some other templating engine (not
22711
+ * - If you are generating your JavaScript from some other templating engine (not
22731
22712
  * recommended, e.g. in issue [#4006](https://github.com/angular/angular.js/issues/4006)),
22732
22713
  * remember to escape your regular expression (and be aware that you might need more than
22733
22714
  * one level of escaping depending on your templating engine and the way you interpolated
@@ -22744,7 +22725,7 @@ function $SceDelegateProvider() {
22744
22725
  * ## Show me an example using SCE.
22745
22726
  *
22746
22727
  * @example
22747
- <example module="mySceApp">
22728
+ <example module="mySceApp" deps="angular-sanitize.js">
22748
22729
  <file name="index.html">
22749
22730
  <div ng-controller="myAppController as myCtrl">
22750
22731
  <i ng-bind-html="myCtrl.explicitlyTrustedHtml" id="explicitlyTrustedHtml"></i><br><br>
@@ -22969,8 +22950,8 @@ function $SceProvider() {
22969
22950
  *
22970
22951
  * @description
22971
22952
  * Delegates to {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`}. As such,
22972
- * returns an objectthat is trusted by angular for use in specified strict contextual
22973
- * escaping contexts (such as ng-html-bind-unsafe, ng-include, any src attribute
22953
+ * returns an object that is trusted by angular for use in specified strict contextual
22954
+ * escaping contexts (such as ng-bind-html, ng-include, any src attribute
22974
22955
  * interpolation, any dom event binding attribute interpolation such as for onclick, etc.)
22975
22956
  * that uses the provided value. See * {@link ng.$sce $sce} for enabling strict contextual
22976
22957
  * escaping.
@@ -24648,11 +24629,14 @@ var htmlAnchorDirective = valueFn({
24648
24629
  element.append(document.createComment('IE fix'));
24649
24630
  }
24650
24631
 
24651
- if (!attr.href && !attr.name) {
24632
+ if (!attr.href && !attr.xlinkHref && !attr.name) {
24652
24633
  return function(scope, element) {
24634
+ // SVGAElement does not use the href attribute, but rather the 'xlinkHref' attribute.
24635
+ var href = toString.call(element.prop('href')) === '[object SVGAnimatedString]' ?
24636
+ 'xlink:href' : 'href';
24653
24637
  element.on('click', function(event){
24654
24638
  // if we have no href url, then don't navigate anywhere.
24655
- if (!element.attr('href')) {
24639
+ if (!element.attr(href)) {
24656
24640
  event.preventDefault();
24657
24641
  }
24658
24642
  });
@@ -25419,7 +25403,7 @@ var ngFormDirective = formDirectiveFactory(true);
25419
25403
  */
25420
25404
 
25421
25405
  var URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/;
25422
- var EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/;
25406
+ var EMAIL_REGEXP = /^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i;
25423
25407
  var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/;
25424
25408
 
25425
25409
  var inputType = {
@@ -25719,6 +25703,8 @@ var inputType = {
25719
25703
  * @param {string=} name Property name of the form under which the control is published.
25720
25704
  * @param {string=} ngChange Angular expression to be executed when input changes due to user
25721
25705
  * interaction with the input element.
25706
+ * @param {string} ngValue Angular expression which sets the value to which the expression should
25707
+ * be set when selected.
25722
25708
  *
25723
25709
  * @example
25724
25710
  <doc:example>
@@ -25726,21 +25712,26 @@ var inputType = {
25726
25712
  <script>
25727
25713
  function Ctrl($scope) {
25728
25714
  $scope.color = 'blue';
25715
+ $scope.specialValue = {
25716
+ "id": "12345",
25717
+ "value": "green"
25718
+ };
25729
25719
  }
25730
25720
  </script>
25731
25721
  <form name="myForm" ng-controller="Ctrl">
25732
25722
  <input type="radio" ng-model="color" value="red"> Red <br/>
25733
- <input type="radio" ng-model="color" value="green"> Green <br/>
25723
+ <input type="radio" ng-model="color" ng-value="specialValue"> Green <br/>
25734
25724
  <input type="radio" ng-model="color" value="blue"> Blue <br/>
25735
- <tt>color = {{color}}</tt><br/>
25725
+ <tt>color = {{color | json}}</tt><br/>
25736
25726
  </form>
25727
+ Note that `ng-value="specialValue"` sets radio item's value to be the value of `$scope.specialValue`.
25737
25728
  </doc:source>
25738
25729
  <doc:scenario>
25739
25730
  it('should change state', function() {
25740
- expect(binding('color')).toEqual('blue');
25731
+ expect(binding('color')).toEqual('"blue"');
25741
25732
 
25742
25733
  input('color').select('red');
25743
- expect(binding('color')).toEqual('red');
25734
+ expect(binding('color')).toEqual('"red"');
25744
25735
  });
25745
25736
  </doc:scenario>
25746
25737
  </doc:example>
@@ -26598,7 +26589,10 @@ var ngModelDirective = function() {
26598
26589
  * @name ng.directive:ngChange
26599
26590
  *
26600
26591
  * @description
26601
- * Evaluate given expression when user changes the input.
26592
+ * Evaluate the given expression when the user changes the input.
26593
+ * The expression is evaluated immediately, unlike the JavaScript onchange event
26594
+ * which only triggers at the end of a change (usually, when the user leaves the
26595
+ * form element or presses the return key).
26602
26596
  * The expression is not evaluated when the value change is coming from the model.
26603
26597
  *
26604
26598
  * Note, this directive requires `ngModel` to be present.
@@ -27591,6 +27585,7 @@ var ngControllerDirective = [function() {
27591
27585
  * an element is clicked.
27592
27586
  *
27593
27587
  * @element ANY
27588
+ * @priority 0
27594
27589
  * @param {expression} ngClick {@link guide/expression Expression} to evaluate upon
27595
27590
  * click. (Event object is available as `$event`)
27596
27591
  *
@@ -27647,6 +27642,7 @@ forEach(
27647
27642
  * The `ngDblclick` directive allows you to specify custom behavior on a dblclick event.
27648
27643
  *
27649
27644
  * @element ANY
27645
+ * @priority 0
27650
27646
  * @param {expression} ngDblclick {@link guide/expression Expression} to evaluate upon
27651
27647
  * a dblclick. (The Event object is available as `$event`)
27652
27648
  *
@@ -27670,6 +27666,7 @@ forEach(
27670
27666
  * The ngMousedown directive allows you to specify custom behavior on mousedown event.
27671
27667
  *
27672
27668
  * @element ANY
27669
+ * @priority 0
27673
27670
  * @param {expression} ngMousedown {@link guide/expression Expression} to evaluate upon
27674
27671
  * mousedown. (Event object is available as `$event`)
27675
27672
  *
@@ -27693,6 +27690,7 @@ forEach(
27693
27690
  * Specify custom behavior on mouseup event.
27694
27691
  *
27695
27692
  * @element ANY
27693
+ * @priority 0
27696
27694
  * @param {expression} ngMouseup {@link guide/expression Expression} to evaluate upon
27697
27695
  * mouseup. (Event object is available as `$event`)
27698
27696
  *
@@ -27715,6 +27713,7 @@ forEach(
27715
27713
  * Specify custom behavior on mouseover event.
27716
27714
  *
27717
27715
  * @element ANY
27716
+ * @priority 0
27718
27717
  * @param {expression} ngMouseover {@link guide/expression Expression} to evaluate upon
27719
27718
  * mouseover. (Event object is available as `$event`)
27720
27719
  *
@@ -27738,6 +27737,7 @@ forEach(
27738
27737
  * Specify custom behavior on mouseenter event.
27739
27738
  *
27740
27739
  * @element ANY
27740
+ * @priority 0
27741
27741
  * @param {expression} ngMouseenter {@link guide/expression Expression} to evaluate upon
27742
27742
  * mouseenter. (Event object is available as `$event`)
27743
27743
  *
@@ -27761,6 +27761,7 @@ forEach(
27761
27761
  * Specify custom behavior on mouseleave event.
27762
27762
  *
27763
27763
  * @element ANY
27764
+ * @priority 0
27764
27765
  * @param {expression} ngMouseleave {@link guide/expression Expression} to evaluate upon
27765
27766
  * mouseleave. (Event object is available as `$event`)
27766
27767
  *
@@ -27784,6 +27785,7 @@ forEach(
27784
27785
  * Specify custom behavior on mousemove event.
27785
27786
  *
27786
27787
  * @element ANY
27788
+ * @priority 0
27787
27789
  * @param {expression} ngMousemove {@link guide/expression Expression} to evaluate upon
27788
27790
  * mousemove. (Event object is available as `$event`)
27789
27791
  *
@@ -27807,6 +27809,7 @@ forEach(
27807
27809
  * Specify custom behavior on keydown event.
27808
27810
  *
27809
27811
  * @element ANY
27812
+ * @priority 0
27810
27813
  * @param {expression} ngKeydown {@link guide/expression Expression} to evaluate upon
27811
27814
  * keydown. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.)
27812
27815
  *
@@ -27828,6 +27831,7 @@ forEach(
27828
27831
  * Specify custom behavior on keyup event.
27829
27832
  *
27830
27833
  * @element ANY
27834
+ * @priority 0
27831
27835
  * @param {expression} ngKeyup {@link guide/expression Expression} to evaluate upon
27832
27836
  * keyup. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.)
27833
27837
  *
@@ -27874,6 +27878,7 @@ forEach(
27874
27878
  * attribute**.
27875
27879
  *
27876
27880
  * @element form
27881
+ * @priority 0
27877
27882
  * @param {expression} ngSubmit {@link guide/expression Expression} to eval. (Event object is available as `$event`)
27878
27883
  *
27879
27884
  * @example
@@ -27923,6 +27928,7 @@ forEach(
27923
27928
  * Specify custom behavior on focus event.
27924
27929
  *
27925
27930
  * @element window, input, select, textarea, a
27931
+ * @priority 0
27926
27932
  * @param {expression} ngFocus {@link guide/expression Expression} to evaluate upon
27927
27933
  * focus. (Event object is available as `$event`)
27928
27934
  *
@@ -27938,6 +27944,7 @@ forEach(
27938
27944
  * Specify custom behavior on blur event.
27939
27945
  *
27940
27946
  * @element window, input, select, textarea, a
27947
+ * @priority 0
27941
27948
  * @param {expression} ngBlur {@link guide/expression Expression} to evaluate upon
27942
27949
  * blur. (Event object is available as `$event`)
27943
27950
  *
@@ -27953,6 +27960,7 @@ forEach(
27953
27960
  * Specify custom behavior on copy event.
27954
27961
  *
27955
27962
  * @element window, input, select, textarea, a
27963
+ * @priority 0
27956
27964
  * @param {expression} ngCopy {@link guide/expression Expression} to evaluate upon
27957
27965
  * copy. (Event object is available as `$event`)
27958
27966
  *
@@ -27973,6 +27981,7 @@ forEach(
27973
27981
  * Specify custom behavior on cut event.
27974
27982
  *
27975
27983
  * @element window, input, select, textarea, a
27984
+ * @priority 0
27976
27985
  * @param {expression} ngCut {@link guide/expression Expression} to evaluate upon
27977
27986
  * cut. (Event object is available as `$event`)
27978
27987
  *
@@ -27993,6 +28002,7 @@ forEach(
27993
28002
  * Specify custom behavior on paste event.
27994
28003
  *
27995
28004
  * @element window, input, select, textarea, a
28005
+ * @priority 0
27996
28006
  * @param {expression} ngPaste {@link guide/expression Expression} to evaluate upon
27997
28007
  * paste. (Event object is available as `$event`)
27998
28008
  *
@@ -28376,6 +28386,13 @@ var ngIncludeFillContentDirective = ['$compile',
28376
28386
  * should use {@link guide/controller controllers} rather than `ngInit`
28377
28387
  * to initialize values on a scope.
28378
28388
  * </div>
28389
+ * <div class="alert alert-warning">
28390
+ * **Note**: If you have assignment in `ngInit` along with {@link api/ng.$filter `$filter`}, make
28391
+ * sure you have parenthesis for correct precedence:
28392
+ * <pre class="prettyprint">
28393
+ * <div ng-init="test1 = (data | orderBy:'name')"></div>
28394
+ * </pre>
28395
+ * </div>
28379
28396
  *
28380
28397
  * @priority 450
28381
28398
  *
@@ -29111,6 +29128,11 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
29111
29128
  *
29112
29129
  * Just remember to include the important flag so the CSS override will function.
29113
29130
  *
29131
+ * <div class="alert alert-warning">
29132
+ * **Note:** Here is a list of values that ngShow will consider as a falsy value (case insensitive):<br />
29133
+ * "f" / "0" / "false" / "no" / "n" / "[]"
29134
+ * </div>
29135
+ *
29114
29136
  * ## A note about animations with ngShow
29115
29137
  *
29116
29138
  * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression
@@ -29259,6 +29281,11 @@ var ngShowDirective = ['$animate', function($animate) {
29259
29281
  * </pre>
29260
29282
  *
29261
29283
  * Just remember to include the important flag so the CSS override will function.
29284
+ *
29285
+ * <div class="alert alert-warning">
29286
+ * **Note:** Here is a list of values that ngHide will consider as a falsy value (case insensitive):<br />
29287
+ * "f" / "0" / "false" / "no" / "n" / "[]"
29288
+ * </div>
29262
29289
  *
29263
29290
  * ## A note about animations with ngHide
29264
29291
  *
@@ -29730,14 +29757,21 @@ var ngOptionsMinErr = minErr('ngOptions');
29730
29757
  * represented by the selected option will be bound to the model identified by the `ngModel`
29731
29758
  * directive.
29732
29759
  *
29760
+ * <div class="alert alert-warning">
29761
+ * **Note:** `ngModel` compares by reference, not value. This is important when binding to an
29762
+ * array of objects. See an example {@link http://jsfiddle.net/qWzTb/ in this jsfiddle}.
29763
+ * </div>
29764
+ *
29733
29765
  * Optionally, a single hard-coded `<option>` element, with the value set to an empty string, can
29734
29766
  * be nested into the `<select>` element. This element will then represent the `null` or "not selected"
29735
29767
  * option. See example below for demonstration.
29736
29768
  *
29737
- * Note: `ngOptions` provides iterator facility for `<option>` element which should be used instead
29769
+ * <div class="alert alert-warning">
29770
+ * **Note:** `ngOptions` provides iterator facility for `<option>` element which should be used instead
29738
29771
  * of {@link ng.directive:ngRepeat ngRepeat} when you want the
29739
29772
  * `select` model to be bound to a non-string value. This is because an option element can only
29740
29773
  * be bound to string values at present.
29774
+ * </div>
29741
29775
  *
29742
29776
  * @param {string} ngModel Assignable angular expression to data-bind to.
29743
29777
  * @param {string=} name Property name of the form under which the control is published.
@@ -30141,7 +30175,7 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) {
30141
30175
 
30142
30176
  // We now build up the list of options we need (we merge later)
30143
30177
  for (index = 0; length = keys.length, index < length; index++) {
30144
-
30178
+
30145
30179
  key = index;
30146
30180
  if (keyName) {
30147
30181
  key = keys[index];