angular-gem 1.2.9 → 1.2.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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];