angularjs-rails 1.2.9 → 1.2.10

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 087ea383ebafbfe0b11828d89862a2a5034f6142
4
- data.tar.gz: 32d02bdeb0c4c6e5d2c3734251df42eb2421d50f
3
+ metadata.gz: 02ec76c086b9b1ccd0fe7cc4ee6a0b46267256c6
4
+ data.tar.gz: 9d5edb4e20c5e9363236977ae3e6aa3f99526693
5
5
  SHA512:
6
- metadata.gz: 7d7833ac6d9a8223ea754017f0e0fcc06dd4d490e8a43b4882762609823b8495fb8d7df96074ab8b59e17ee80b50354b1db144a65ee81f6b062bfde7288e399f
7
- data.tar.gz: 2a9bab997d585834d27b3a0b29fe8e8bdee2a1900dfe4926174de5b6d71987ca97a1062c4cc0def90b95cac6ee7bb0e200b4e73e8480dfbd8bcee3d9566caed3
6
+ metadata.gz: 578b9ae46e141493c6780b3d90a8a844007579f60073ecc7ae7d0a1ebb19de0c6ffe8cac2f6ce2288af3056264d577e408e9037bb9968df1040e4b4ce1de4799
7
+ data.tar.gz: a1e5057267ad8e00c86af25896e0a5ea4879f5461a040bcec4ac70b92eefedca28fc74da679715dd010fe6364b30548fd4264d051682527e62f5506c252bef77
@@ -1,6 +1,6 @@
1
1
  module AngularJS
2
2
  module Rails
3
- VERSION = "1.2.9"
3
+ VERSION = "1.2.10"
4
4
  UNSTABLE_VERSION = "1.1.5"
5
5
  end
6
6
  end
@@ -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];
@@ -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
  */
@@ -68,7 +68,7 @@ function minErr(module) {
68
68
  return match;
69
69
  });
70
70
 
71
- message = message + '\nhttp://errors.angularjs.org/1.2.9/' +
71
+ message = message + '\nhttp://errors.angularjs.org/1.2.10/' +
72
72
  (module ? module + '/' : '') + code;
73
73
  for (i = 2; i < arguments.length; i++) {
74
74
  message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
@@ -1834,11 +1834,11 @@ function setupModuleLoader(window) {
1834
1834
  * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
1835
1835
  */
1836
1836
  var version = {
1837
- full: '1.2.9', // all of these placeholder strings will be replaced by grunt's
1837
+ full: '1.2.10', // all of these placeholder strings will be replaced by grunt's
1838
1838
  major: 1, // package task
1839
1839
  minor: 2,
1840
- dot: 9,
1841
- codeName: 'enchanted-articulacy'
1840
+ dot: 10,
1841
+ codeName: 'augmented-serendipity'
1842
1842
  };
1843
1843
 
1844
1844
 
@@ -3280,11 +3280,9 @@ function annotate(fn) {
3280
3280
  * @param {(Object|function())} provider If the provider is:
3281
3281
  *
3282
3282
  * - `Object`: then it should have a `$get` method. The `$get` method will be invoked using
3283
- * {@link AUTO.$injector#invoke $injector.invoke()} when an instance needs to be
3284
- * created.
3285
- * - `Constructor`: a new instance of the provider will be created using
3286
- * {@link AUTO.$injector#instantiate $injector.instantiate()}, then treated as
3287
- * `object`.
3283
+ * {@link AUTO.$injector#invoke $injector.invoke()} when an instance needs to be created.
3284
+ * - `Constructor`: a new instance of the provider will be created using
3285
+ * {@link AUTO.$injector#instantiate $injector.instantiate()}, then treated as `object`.
3288
3286
  *
3289
3287
  * @returns {Object} registered provider instance
3290
3288
 
@@ -7063,31 +7061,14 @@ function $HttpProvider() {
7063
7061
  * XMLHttpRequest will transparently follow it, meaning that the error callback will not be
7064
7062
  * called for such responses.
7065
7063
  *
7066
- * # Calling $http from outside AngularJS
7067
- * The `$http` service will not actually send the request until the next `$digest()` is
7068
- * executed. Normally this is not an issue, since almost all the time your call to `$http` will
7069
- * be from within a `$apply()` block.
7070
- * If you are calling `$http` from outside Angular, then you should wrap it in a call to
7071
- * `$apply` to cause a $digest to occur and also to handle errors in the block correctly.
7072
- *
7073
- * ```
7074
- * $scope.$apply(function() {
7075
- * $http(...);
7076
- * });
7077
- * ```
7078
- *
7079
7064
  * # Writing Unit Tests that use $http
7080
- * When unit testing you are mostly responsible for scheduling the `$digest` cycle. If you do
7081
- * not trigger a `$digest` before calling `$httpBackend.flush()` then the request will not have
7082
- * been made and `$httpBackend.expect(...)` expectations will fail. The solution is to run the
7083
- * code that calls the `$http()` method inside a $apply block as explained in the previous
7084
- * section.
7065
+ * When unit testing (using {@link api/ngMock ngMock}), it is necessary to call
7066
+ * {@link api/ngMock.$httpBackend#methods_flush $httpBackend.flush()} to flush each pending
7067
+ * request using trained responses.
7085
7068
  *
7086
7069
  * ```
7087
7070
  * $httpBackend.expectGET(...);
7088
- * $scope.$apply(function() {
7089
- * $http.get(...);
7090
- * });
7071
+ * $http.get(...);
7091
7072
  * $httpBackend.flush();
7092
7073
  * ```
7093
7074
  *
@@ -8322,7 +8303,7 @@ function $IntervalProvider() {
8322
8303
  * In tests you can use {@link ngMock.$interval#methods_flush `$interval.flush(millis)`} to
8323
8304
  * move forward by `millis` milliseconds and trigger any functions scheduled to run in that
8324
8305
  * time.
8325
- *
8306
+ *
8326
8307
  * <div class="alert alert-warning">
8327
8308
  * **Note**: Intervals created by this service must be explicitly destroyed when you are finished
8328
8309
  * with them. In particular they are not automatically destroyed when a controller's scope or a
@@ -8435,8 +8416,8 @@ function $IntervalProvider() {
8435
8416
  promise = deferred.promise,
8436
8417
  iteration = 0,
8437
8418
  skipApply = (isDefined(invokeApply) && !invokeApply);
8438
-
8439
- count = isDefined(count) ? count : 0,
8419
+
8420
+ count = isDefined(count) ? count : 0;
8440
8421
 
8441
8422
  promise.then(null, null, fn);
8442
8423
 
@@ -10136,7 +10117,7 @@ Parser.prototype = {
10136
10117
  var getter = getterFn(field, this.options, this.text);
10137
10118
 
10138
10119
  return extend(function(scope, locals, self) {
10139
- return getter(self || object(scope, locals), locals);
10120
+ return getter(self || object(scope, locals));
10140
10121
  }, {
10141
10122
  assign: function(scope, value, locals) {
10142
10123
  return setter(object(scope, locals), field, value, parser.text, parser.options);
@@ -10712,9 +10693,9 @@ function $ParseProvider() {
10712
10693
  * asynchronous programming what `try`, `catch` and `throw` keywords are to synchronous programming.
10713
10694
  *
10714
10695
  * <pre>
10715
- * // for the purpose of this example let's assume that variables `$q` and `scope` are
10716
- * // available in the current lexical scope (they could have been injected or passed in).
10717
- *
10696
+ * // for the purpose of this example let's assume that variables `$q`, `scope` and `okToGreet`
10697
+ * // are available in the current lexical scope (they could have been injected or passed in).
10698
+ *
10718
10699
  * function asyncGreet(name) {
10719
10700
  * var deferred = $q.defer();
10720
10701
  *
@@ -12647,7 +12628,7 @@ function $SceDelegateProvider() {
12647
12628
  *
12648
12629
  * @description
12649
12630
  * Returns an object that is trusted by angular for use in specified strict
12650
- * contextual escaping contexts (such as ng-html-bind-unsafe, ng-include, any src
12631
+ * contextual escaping contexts (such as ng-bind-html, ng-include, any src
12651
12632
  * attribute interpolation, any dom event binding attribute interpolation
12652
12633
  * such as for onclick, etc.) that uses the provided value.
12653
12634
  * See {@link ng.$sce $sce} for enabling strict contextual escaping.
@@ -12874,8 +12855,8 @@ function $SceDelegateProvider() {
12874
12855
  * It's important to remember that SCE only applies to interpolation expressions.
12875
12856
  *
12876
12857
  * If your expressions are constant literals, they're automatically trusted and you don't need to
12877
- * call `$sce.trustAs` on them. (e.g.
12878
- * `<div ng-html-bind-unsafe="'<b>implicitly trusted</b>'"></div>`) just works.
12858
+ * call `$sce.trustAs` on them (remember to include the `ngSanitize` module) (e.g.
12859
+ * `<div ng-bind-html="'<b>implicitly trusted</b>'"></div>`) just works.
12879
12860
  *
12880
12861
  * Additionally, `a[href]` and `img[src]` automatically sanitize their URLs and do not pass them
12881
12862
  * through {@link ng.$sce#methods_getTrusted $sce.getTrusted}. SCE doesn't play a role here.
@@ -12935,7 +12916,7 @@ function $SceDelegateProvider() {
12935
12916
  * matched against the **entire** *normalized / absolute URL* of the resource being tested
12936
12917
  * (even when the RegExp did not have the `^` and `$` codes.) In addition, any flags
12937
12918
  * present on the RegExp (such as multiline, global, ignoreCase) are ignored.
12938
- * - If you are generating your Javascript from some other templating engine (not
12919
+ * - If you are generating your JavaScript from some other templating engine (not
12939
12920
  * recommended, e.g. in issue [#4006](https://github.com/angular/angular.js/issues/4006)),
12940
12921
  * remember to escape your regular expression (and be aware that you might need more than
12941
12922
  * one level of escaping depending on your templating engine and the way you interpolated
@@ -12952,7 +12933,7 @@ function $SceDelegateProvider() {
12952
12933
  * ## Show me an example using SCE.
12953
12934
  *
12954
12935
  * @example
12955
- <example module="mySceApp">
12936
+ <example module="mySceApp" deps="angular-sanitize.js">
12956
12937
  <file name="index.html">
12957
12938
  <div ng-controller="myAppController as myCtrl">
12958
12939
  <i ng-bind-html="myCtrl.explicitlyTrustedHtml" id="explicitlyTrustedHtml"></i><br><br>
@@ -13177,8 +13158,8 @@ function $SceProvider() {
13177
13158
  *
13178
13159
  * @description
13179
13160
  * Delegates to {@link ng.$sceDelegate#methods_trustAs `$sceDelegate.trustAs`}. As such,
13180
- * returns an objectthat is trusted by angular for use in specified strict contextual
13181
- * escaping contexts (such as ng-html-bind-unsafe, ng-include, any src attribute
13161
+ * returns an object that is trusted by angular for use in specified strict contextual
13162
+ * escaping contexts (such as ng-bind-html, ng-include, any src attribute
13182
13163
  * interpolation, any dom event binding attribute interpolation such as for onclick, etc.)
13183
13164
  * that uses the provided value. See * {@link ng.$sce $sce} for enabling strict contextual
13184
13165
  * escaping.
@@ -14856,11 +14837,14 @@ var htmlAnchorDirective = valueFn({
14856
14837
  element.append(document.createComment('IE fix'));
14857
14838
  }
14858
14839
 
14859
- if (!attr.href && !attr.name) {
14840
+ if (!attr.href && !attr.xlinkHref && !attr.name) {
14860
14841
  return function(scope, element) {
14842
+ // SVGAElement does not use the href attribute, but rather the 'xlinkHref' attribute.
14843
+ var href = toString.call(element.prop('href')) === '[object SVGAnimatedString]' ?
14844
+ 'xlink:href' : 'href';
14861
14845
  element.on('click', function(event){
14862
14846
  // if we have no href url, then don't navigate anywhere.
14863
- if (!element.attr('href')) {
14847
+ if (!element.attr(href)) {
14864
14848
  event.preventDefault();
14865
14849
  }
14866
14850
  });
@@ -15627,7 +15611,7 @@ var ngFormDirective = formDirectiveFactory(true);
15627
15611
  */
15628
15612
 
15629
15613
  var URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/;
15630
- var EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/;
15614
+ var EMAIL_REGEXP = /^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i;
15631
15615
  var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/;
15632
15616
 
15633
15617
  var inputType = {
@@ -15927,6 +15911,8 @@ var inputType = {
15927
15911
  * @param {string=} name Property name of the form under which the control is published.
15928
15912
  * @param {string=} ngChange Angular expression to be executed when input changes due to user
15929
15913
  * interaction with the input element.
15914
+ * @param {string} ngValue Angular expression which sets the value to which the expression should
15915
+ * be set when selected.
15930
15916
  *
15931
15917
  * @example
15932
15918
  <doc:example>
@@ -15934,21 +15920,26 @@ var inputType = {
15934
15920
  <script>
15935
15921
  function Ctrl($scope) {
15936
15922
  $scope.color = 'blue';
15923
+ $scope.specialValue = {
15924
+ "id": "12345",
15925
+ "value": "green"
15926
+ };
15937
15927
  }
15938
15928
  </script>
15939
15929
  <form name="myForm" ng-controller="Ctrl">
15940
15930
  <input type="radio" ng-model="color" value="red"> Red <br/>
15941
- <input type="radio" ng-model="color" value="green"> Green <br/>
15931
+ <input type="radio" ng-model="color" ng-value="specialValue"> Green <br/>
15942
15932
  <input type="radio" ng-model="color" value="blue"> Blue <br/>
15943
- <tt>color = {{color}}</tt><br/>
15933
+ <tt>color = {{color | json}}</tt><br/>
15944
15934
  </form>
15935
+ Note that `ng-value="specialValue"` sets radio item's value to be the value of `$scope.specialValue`.
15945
15936
  </doc:source>
15946
15937
  <doc:scenario>
15947
15938
  it('should change state', function() {
15948
- expect(binding('color')).toEqual('blue');
15939
+ expect(binding('color')).toEqual('"blue"');
15949
15940
 
15950
15941
  input('color').select('red');
15951
- expect(binding('color')).toEqual('red');
15942
+ expect(binding('color')).toEqual('"red"');
15952
15943
  });
15953
15944
  </doc:scenario>
15954
15945
  </doc:example>
@@ -16806,7 +16797,10 @@ var ngModelDirective = function() {
16806
16797
  * @name ng.directive:ngChange
16807
16798
  *
16808
16799
  * @description
16809
- * Evaluate given expression when user changes the input.
16800
+ * Evaluate the given expression when the user changes the input.
16801
+ * The expression is evaluated immediately, unlike the JavaScript onchange event
16802
+ * which only triggers at the end of a change (usually, when the user leaves the
16803
+ * form element or presses the return key).
16810
16804
  * The expression is not evaluated when the value change is coming from the model.
16811
16805
  *
16812
16806
  * Note, this directive requires `ngModel` to be present.
@@ -17799,6 +17793,7 @@ var ngControllerDirective = [function() {
17799
17793
  * an element is clicked.
17800
17794
  *
17801
17795
  * @element ANY
17796
+ * @priority 0
17802
17797
  * @param {expression} ngClick {@link guide/expression Expression} to evaluate upon
17803
17798
  * click. (Event object is available as `$event`)
17804
17799
  *
@@ -17855,6 +17850,7 @@ forEach(
17855
17850
  * The `ngDblclick` directive allows you to specify custom behavior on a dblclick event.
17856
17851
  *
17857
17852
  * @element ANY
17853
+ * @priority 0
17858
17854
  * @param {expression} ngDblclick {@link guide/expression Expression} to evaluate upon
17859
17855
  * a dblclick. (The Event object is available as `$event`)
17860
17856
  *
@@ -17878,6 +17874,7 @@ forEach(
17878
17874
  * The ngMousedown directive allows you to specify custom behavior on mousedown event.
17879
17875
  *
17880
17876
  * @element ANY
17877
+ * @priority 0
17881
17878
  * @param {expression} ngMousedown {@link guide/expression Expression} to evaluate upon
17882
17879
  * mousedown. (Event object is available as `$event`)
17883
17880
  *
@@ -17901,6 +17898,7 @@ forEach(
17901
17898
  * Specify custom behavior on mouseup event.
17902
17899
  *
17903
17900
  * @element ANY
17901
+ * @priority 0
17904
17902
  * @param {expression} ngMouseup {@link guide/expression Expression} to evaluate upon
17905
17903
  * mouseup. (Event object is available as `$event`)
17906
17904
  *
@@ -17923,6 +17921,7 @@ forEach(
17923
17921
  * Specify custom behavior on mouseover event.
17924
17922
  *
17925
17923
  * @element ANY
17924
+ * @priority 0
17926
17925
  * @param {expression} ngMouseover {@link guide/expression Expression} to evaluate upon
17927
17926
  * mouseover. (Event object is available as `$event`)
17928
17927
  *
@@ -17946,6 +17945,7 @@ forEach(
17946
17945
  * Specify custom behavior on mouseenter event.
17947
17946
  *
17948
17947
  * @element ANY
17948
+ * @priority 0
17949
17949
  * @param {expression} ngMouseenter {@link guide/expression Expression} to evaluate upon
17950
17950
  * mouseenter. (Event object is available as `$event`)
17951
17951
  *
@@ -17969,6 +17969,7 @@ forEach(
17969
17969
  * Specify custom behavior on mouseleave event.
17970
17970
  *
17971
17971
  * @element ANY
17972
+ * @priority 0
17972
17973
  * @param {expression} ngMouseleave {@link guide/expression Expression} to evaluate upon
17973
17974
  * mouseleave. (Event object is available as `$event`)
17974
17975
  *
@@ -17992,6 +17993,7 @@ forEach(
17992
17993
  * Specify custom behavior on mousemove event.
17993
17994
  *
17994
17995
  * @element ANY
17996
+ * @priority 0
17995
17997
  * @param {expression} ngMousemove {@link guide/expression Expression} to evaluate upon
17996
17998
  * mousemove. (Event object is available as `$event`)
17997
17999
  *
@@ -18015,6 +18017,7 @@ forEach(
18015
18017
  * Specify custom behavior on keydown event.
18016
18018
  *
18017
18019
  * @element ANY
18020
+ * @priority 0
18018
18021
  * @param {expression} ngKeydown {@link guide/expression Expression} to evaluate upon
18019
18022
  * keydown. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.)
18020
18023
  *
@@ -18036,6 +18039,7 @@ forEach(
18036
18039
  * Specify custom behavior on keyup event.
18037
18040
  *
18038
18041
  * @element ANY
18042
+ * @priority 0
18039
18043
  * @param {expression} ngKeyup {@link guide/expression Expression} to evaluate upon
18040
18044
  * keyup. (Event object is available as `$event` and can be interrogated for keyCode, altKey, etc.)
18041
18045
  *
@@ -18082,6 +18086,7 @@ forEach(
18082
18086
  * attribute**.
18083
18087
  *
18084
18088
  * @element form
18089
+ * @priority 0
18085
18090
  * @param {expression} ngSubmit {@link guide/expression Expression} to eval. (Event object is available as `$event`)
18086
18091
  *
18087
18092
  * @example
@@ -18131,6 +18136,7 @@ forEach(
18131
18136
  * Specify custom behavior on focus event.
18132
18137
  *
18133
18138
  * @element window, input, select, textarea, a
18139
+ * @priority 0
18134
18140
  * @param {expression} ngFocus {@link guide/expression Expression} to evaluate upon
18135
18141
  * focus. (Event object is available as `$event`)
18136
18142
  *
@@ -18146,6 +18152,7 @@ forEach(
18146
18152
  * Specify custom behavior on blur event.
18147
18153
  *
18148
18154
  * @element window, input, select, textarea, a
18155
+ * @priority 0
18149
18156
  * @param {expression} ngBlur {@link guide/expression Expression} to evaluate upon
18150
18157
  * blur. (Event object is available as `$event`)
18151
18158
  *
@@ -18161,6 +18168,7 @@ forEach(
18161
18168
  * Specify custom behavior on copy event.
18162
18169
  *
18163
18170
  * @element window, input, select, textarea, a
18171
+ * @priority 0
18164
18172
  * @param {expression} ngCopy {@link guide/expression Expression} to evaluate upon
18165
18173
  * copy. (Event object is available as `$event`)
18166
18174
  *
@@ -18181,6 +18189,7 @@ forEach(
18181
18189
  * Specify custom behavior on cut event.
18182
18190
  *
18183
18191
  * @element window, input, select, textarea, a
18192
+ * @priority 0
18184
18193
  * @param {expression} ngCut {@link guide/expression Expression} to evaluate upon
18185
18194
  * cut. (Event object is available as `$event`)
18186
18195
  *
@@ -18201,6 +18210,7 @@ forEach(
18201
18210
  * Specify custom behavior on paste event.
18202
18211
  *
18203
18212
  * @element window, input, select, textarea, a
18213
+ * @priority 0
18204
18214
  * @param {expression} ngPaste {@link guide/expression Expression} to evaluate upon
18205
18215
  * paste. (Event object is available as `$event`)
18206
18216
  *
@@ -18584,6 +18594,13 @@ var ngIncludeFillContentDirective = ['$compile',
18584
18594
  * should use {@link guide/controller controllers} rather than `ngInit`
18585
18595
  * to initialize values on a scope.
18586
18596
  * </div>
18597
+ * <div class="alert alert-warning">
18598
+ * **Note**: If you have assignment in `ngInit` along with {@link api/ng.$filter `$filter`}, make
18599
+ * sure you have parenthesis for correct precedence:
18600
+ * <pre class="prettyprint">
18601
+ * <div ng-init="test1 = (data | orderBy:'name')"></div>
18602
+ * </pre>
18603
+ * </div>
18587
18604
  *
18588
18605
  * @priority 450
18589
18606
  *
@@ -19319,6 +19336,11 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
19319
19336
  *
19320
19337
  * Just remember to include the important flag so the CSS override will function.
19321
19338
  *
19339
+ * <div class="alert alert-warning">
19340
+ * **Note:** Here is a list of values that ngShow will consider as a falsy value (case insensitive):<br />
19341
+ * "f" / "0" / "false" / "no" / "n" / "[]"
19342
+ * </div>
19343
+ *
19322
19344
  * ## A note about animations with ngShow
19323
19345
  *
19324
19346
  * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression
@@ -19467,6 +19489,11 @@ var ngShowDirective = ['$animate', function($animate) {
19467
19489
  * </pre>
19468
19490
  *
19469
19491
  * Just remember to include the important flag so the CSS override will function.
19492
+ *
19493
+ * <div class="alert alert-warning">
19494
+ * **Note:** Here is a list of values that ngHide will consider as a falsy value (case insensitive):<br />
19495
+ * "f" / "0" / "false" / "no" / "n" / "[]"
19496
+ * </div>
19470
19497
  *
19471
19498
  * ## A note about animations with ngHide
19472
19499
  *
@@ -19938,14 +19965,21 @@ var ngOptionsMinErr = minErr('ngOptions');
19938
19965
  * represented by the selected option will be bound to the model identified by the `ngModel`
19939
19966
  * directive.
19940
19967
  *
19968
+ * <div class="alert alert-warning">
19969
+ * **Note:** `ngModel` compares by reference, not value. This is important when binding to an
19970
+ * array of objects. See an example {@link http://jsfiddle.net/qWzTb/ in this jsfiddle}.
19971
+ * </div>
19972
+ *
19941
19973
  * Optionally, a single hard-coded `<option>` element, with the value set to an empty string, can
19942
19974
  * be nested into the `<select>` element. This element will then represent the `null` or "not selected"
19943
19975
  * option. See example below for demonstration.
19944
19976
  *
19945
- * Note: `ngOptions` provides iterator facility for `<option>` element which should be used instead
19977
+ * <div class="alert alert-warning">
19978
+ * **Note:** `ngOptions` provides iterator facility for `<option>` element which should be used instead
19946
19979
  * of {@link ng.directive:ngRepeat ngRepeat} when you want the
19947
19980
  * `select` model to be bound to a non-string value. This is because an option element can only
19948
19981
  * be bound to string values at present.
19982
+ * </div>
19949
19983
  *
19950
19984
  * @param {string} ngModel Assignable angular expression to data-bind to.
19951
19985
  * @param {string=} name Property name of the form under which the control is published.
@@ -20349,7 +20383,7 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) {
20349
20383
 
20350
20384
  // We now build up the list of options we need (we merge later)
20351
20385
  for (index = 0; length = keys.length, index < length; index++) {
20352
-
20386
+
20353
20387
  key = index;
20354
20388
  if (keyName) {
20355
20389
  key = keys[index];
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: angularjs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.9
4
+ version: 1.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hirav Gandhi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-16 00:00:00.000000000 Z
11
+ date: 2014-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake