angular-gem 1.2.24 → 1.2.25

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.24
2
+ * @license AngularJS v1.2.25
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.24
2
+ * @license AngularJS v1.2.25
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.24
2
+ * @license AngularJS v1.2.25
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.24/' +
72
+ message = message + '\nhttp://errors.angularjs.org/1.2.25/' +
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.24
2
+ * @license AngularJS v1.2.25
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.24
2
+ * @license AngularJS v1.2.25
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -129,10 +129,16 @@ function shallowClearAndCopy(src, dst) {
129
129
  * `{function(data, headersGetter)|Array.<function(data, headersGetter)>}` –
130
130
  * transform function or an array of such functions. The transform function takes the http
131
131
  * request body and headers and returns its transformed (typically serialized) version.
132
+ * By default, transformRequest will contain one function that checks if the request data is
133
+ * an object and serializes to using `angular.toJson`. To prevent this behavior, set
134
+ * `transformRequest` to an empty array: `transformRequest: []`
132
135
  * - **`transformResponse`** –
133
136
  * `{function(data, headersGetter)|Array.<function(data, headersGetter)>}` –
134
137
  * transform function or an array of such functions. The transform function takes the http
135
138
  * response body and headers and returns its transformed (typically deserialized) version.
139
+ * By default, transformResponse will contain one function that checks if the response looks like
140
+ * a JSON string and deserializes it using `angular.fromJson`. To prevent this behavior, set
141
+ * `transformResponse` to an empty array: `transformResponse: []`
136
142
  * - **`cache`** – `{boolean|Cache}` – If true, a default $http cache will be used to cache the
137
143
  * GET request, otherwise if a cache instance built with
138
144
  * {@link ng.$cacheFactory $cacheFactory}, this cache will be used for
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.24
2
+ * @license AngularJS v1.2.25
3
3
  * (c) 2010-2014 Google, Inc. http://angularjs.org
4
4
  * License: MIT
5
5
  */
@@ -771,7 +771,6 @@ ngRouteModule.directive('ngView', ngViewFillContentFactory);
771
771
  controllerAs: 'chapter'
772
772
  });
773
773
 
774
- // configure html5 to get links working on jsfiddle
775
774
  $locationProvider.html5Mode(true);
776
775
  }])
777
776
  .controller('MainCtrl', ['$route', '$routeParams', '$location',
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.24
2
+ * @license AngularJS v1.2.25
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.24
9793
+ * @license AngularJS v1.2.25
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.24/' +
9863
+ message = message + '\nhttp://errors.angularjs.org/1.2.25/' +
9864
9864
  (module ? module + '/' : '') + code;
9865
9865
  for (i = 2; i < arguments.length; i++) {
9866
9866
  message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
@@ -11779,11 +11779,11 @@ function setupModuleLoader(window) {
11779
11779
  * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
11780
11780
  */
11781
11781
  var version = {
11782
- full: '1.2.24', // all of these placeholder strings will be replaced by grunt's
11782
+ full: '1.2.25', // all of these placeholder strings will be replaced by grunt's
11783
11783
  major: 1, // package task
11784
11784
  minor: 2,
11785
- dot: 24,
11786
- codeName: 'static-levitation'
11785
+ dot: 25,
11786
+ codeName: 'hypnotic-gesticulation'
11787
11787
  };
11788
11788
 
11789
11789
 
@@ -28913,14 +28913,13 @@ var forceAsyncEvents = {
28913
28913
  };
28914
28914
  forEach(
28915
28915
  'click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste'.split(' '),
28916
- function(name) {
28917
- var directiveName = directiveNormalize('ng-' + name);
28916
+ function(eventName) {
28917
+ var directiveName = directiveNormalize('ng-' + eventName);
28918
28918
  ngEventDirectives[directiveName] = ['$parse', '$rootScope', function($parse, $rootScope) {
28919
28919
  return {
28920
28920
  compile: function($element, attr) {
28921
28921
  var fn = $parse(attr[directiveName]);
28922
28922
  return function ngEventHandler(scope, element) {
28923
- var eventName = lowercase(name);
28924
28923
  element.on(eventName, function(event) {
28925
28924
  var callback = function() {
28926
28925
  fn(scope, {$event:event});
@@ -30447,8 +30446,8 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
30447
30446
  *
30448
30447
  * @description
30449
30448
  * The `ngShow` directive shows or hides the given HTML element based on the expression
30450
- * provided to the ngShow attribute. The element is shown or hidden by removing or adding
30451
- * the `ng-hide` CSS class onto the element. The `.ng-hide` CSS class is predefined
30449
+ * provided to the `ngShow` attribute. The element is shown or hidden by removing or adding
30450
+ * the `.ng-hide` CSS class onto the element. The `.ng-hide` CSS class is predefined
30452
30451
  * in AngularJS and sets the display style to none (using an !important flag).
30453
30452
  * For CSP mode please add `angular-csp.css` to your html file (see {@link ng.directive:ngCsp ngCsp}).
30454
30453
  *
@@ -30460,8 +30459,8 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
30460
30459
  * <div ng-show="myValue" class="ng-hide"></div>
30461
30460
  * ```
30462
30461
  *
30463
- * When the ngShow expression evaluates to false then the ng-hide CSS class is added to the class attribute
30464
- * on the element causing it to become hidden. When true, the ng-hide CSS class is removed
30462
+ * When the `ngShow` expression evaluates to false then the `.ng-hide` CSS class is added to the class attribute
30463
+ * on the element causing it to become hidden. When true, the `.ng-hide` CSS class is removed
30465
30464
  * from the element causing the element not to appear hidden.
30466
30465
  *
30467
30466
  * <div class="alert alert-warning">
@@ -30471,7 +30470,7 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
30471
30470
  *
30472
30471
  * ## Why is !important used?
30473
30472
  *
30474
- * You may be wondering why !important is used for the .ng-hide CSS class. This is because the `.ng-hide` selector
30473
+ * You may be wondering why !important is used for the `.ng-hide` CSS class. This is because the `.ng-hide` selector
30475
30474
  * can be easily overridden by heavier selectors. For example, something as simple
30476
30475
  * as changing the display style on a HTML list item would make hidden elements appear visible.
30477
30476
  * This also becomes a bigger issue when dealing with CSS frameworks.
@@ -30480,7 +30479,7 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
30480
30479
  * specificity (when !important isn't used with any conflicting styles). If a developer chooses to override the
30481
30480
  * styling to change how to hide an element then it is just a matter of using !important in their own CSS code.
30482
30481
  *
30483
- * ### Overriding .ng-hide
30482
+ * ### Overriding `.ng-hide`
30484
30483
  *
30485
30484
  * By default, the `.ng-hide` class will style the element with `display:none!important`. If you wish to change
30486
30485
  * the hide behavior with ngShow/ngHide then this can be achieved by restating the styles for the `.ng-hide`
@@ -30498,7 +30497,7 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
30498
30497
  *
30499
30498
  * By default you don't need to override in CSS anything and the animations will work around the display style.
30500
30499
  *
30501
- * ## A note about animations with ngShow
30500
+ * ## A note about animations with `ngShow`
30502
30501
  *
30503
30502
  * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression
30504
30503
  * is true and false. This system works like the animation system present with ngClass except that
@@ -30523,8 +30522,8 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
30523
30522
  * property to block during animation states--ngAnimate will handle the style toggling automatically for you.
30524
30523
  *
30525
30524
  * @animations
30526
- * addClass: .ng-hide - happens after the ngShow expression evaluates to a truthy value and the just before contents are set to visible
30527
- * removeClass: .ng-hide - happens after the ngShow expression evaluates to a non truthy value and just before the contents are set to hidden
30525
+ * addClass: `.ng-hide` - happens after the `ngShow` expression evaluates to a truthy value and the just before contents are set to visible
30526
+ * removeClass: `.ng-hide` - happens after the `ngShow` expression evaluates to a non truthy value and just before the contents are set to hidden
30528
30527
  *
30529
30528
  * @element ANY
30530
30529
  * @param {expression} ngShow If the {@link guide/expression expression} is truthy
@@ -30604,7 +30603,7 @@ var ngShowDirective = ['$animate', function($animate) {
30604
30603
  *
30605
30604
  * @description
30606
30605
  * The `ngHide` directive shows or hides the given HTML element based on the expression
30607
- * provided to the ngHide attribute. The element is shown or hidden by removing or adding
30606
+ * provided to the `ngHide` attribute. The element is shown or hidden by removing or adding
30608
30607
  * the `ng-hide` CSS class onto the element. The `.ng-hide` CSS class is predefined
30609
30608
  * in AngularJS and sets the display style to none (using an !important flag).
30610
30609
  * For CSP mode please add `angular-csp.css` to your html file (see {@link ng.directive:ngCsp ngCsp}).
@@ -30617,8 +30616,8 @@ var ngShowDirective = ['$animate', function($animate) {
30617
30616
  * <div ng-hide="myValue"></div>
30618
30617
  * ```
30619
30618
  *
30620
- * When the ngHide expression evaluates to true then the .ng-hide CSS class is added to the class attribute
30621
- * on the element causing it to become hidden. When false, the ng-hide CSS class is removed
30619
+ * When the `.ngHide` expression evaluates to true then the `.ng-hide` CSS class is added to the class attribute
30620
+ * on the element causing it to become hidden. When false, the `.ng-hide` CSS class is removed
30622
30621
  * from the element causing the element not to appear hidden.
30623
30622
  *
30624
30623
  * <div class="alert alert-warning">
@@ -30628,7 +30627,7 @@ var ngShowDirective = ['$animate', function($animate) {
30628
30627
  *
30629
30628
  * ## Why is !important used?
30630
30629
  *
30631
- * You may be wondering why !important is used for the .ng-hide CSS class. This is because the `.ng-hide` selector
30630
+ * You may be wondering why !important is used for the `.ng-hide` CSS class. This is because the `.ng-hide` selector
30632
30631
  * can be easily overridden by heavier selectors. For example, something as simple
30633
30632
  * as changing the display style on a HTML list item would make hidden elements appear visible.
30634
30633
  * This also becomes a bigger issue when dealing with CSS frameworks.
@@ -30637,7 +30636,7 @@ var ngShowDirective = ['$animate', function($animate) {
30637
30636
  * specificity (when !important isn't used with any conflicting styles). If a developer chooses to override the
30638
30637
  * styling to change how to hide an element then it is just a matter of using !important in their own CSS code.
30639
30638
  *
30640
- * ### Overriding .ng-hide
30639
+ * ### Overriding `.ng-hide`
30641
30640
  *
30642
30641
  * By default, the `.ng-hide` class will style the element with `display:none!important`. If you wish to change
30643
30642
  * the hide behavior with ngShow/ngHide then this can be achieved by restating the styles for the `.ng-hide`
@@ -30655,7 +30654,7 @@ var ngShowDirective = ['$animate', function($animate) {
30655
30654
  *
30656
30655
  * By default you don't need to override in CSS anything and the animations will work around the display style.
30657
30656
  *
30658
- * ## A note about animations with ngHide
30657
+ * ## A note about animations with `ngHide`
30659
30658
  *
30660
30659
  * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression
30661
30660
  * is true and false. This system works like the animation system present with ngClass, except that the `.ng-hide`
@@ -30679,8 +30678,8 @@ var ngShowDirective = ['$animate', function($animate) {
30679
30678
  * property to block during animation states--ngAnimate will handle the style toggling automatically for you.
30680
30679
  *
30681
30680
  * @animations
30682
- * removeClass: .ng-hide - happens after the ngHide expression evaluates to a truthy value and just before the contents are set to hidden
30683
- * addClass: .ng-hide - happens after the ngHide expression evaluates to a non truthy value and just before the contents are set to visible
30681
+ * removeClass: `.ng-hide` - happens after the `ngHide` expression evaluates to a truthy value and just before the contents are set to hidden
30682
+ * addClass: `.ng-hide` - happens after the `ngHide` expression evaluates to a non truthy value and just before the contents are set to visible
30684
30683
  *
30685
30684
  * @element ANY
30686
30685
  * @param {expression} ngHide If the {@link guide/expression expression} is truthy then
@@ -31533,6 +31532,19 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) {
31533
31532
  ctrl.$render = render;
31534
31533
 
31535
31534
  scope.$watchCollection(valuesFn, render);
31535
+ scope.$watchCollection(function () {
31536
+ var locals = {},
31537
+ values = valuesFn(scope);
31538
+ if (values) {
31539
+ var toDisplay = new Array(values.length);
31540
+ for (var i = 0, ii = values.length; i < ii; i++) {
31541
+ locals[valueName] = values[i];
31542
+ toDisplay[i] = displayFn(scope, locals);
31543
+ }
31544
+ return toDisplay;
31545
+ }
31546
+ }, render);
31547
+
31536
31548
  if ( multiple ) {
31537
31549
  scope.$watchCollection(function() { return ctrl.$modelValue; }, render);
31538
31550
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license AngularJS v1.2.24
2
+ * @license AngularJS v1.2.25
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.24
2
+ * @license AngularJS v1.2.25
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.24/' +
71
+ message = message + '\nhttp://errors.angularjs.org/1.2.25/' +
72
72
  (module ? module + '/' : '') + code;
73
73
  for (i = 2; i < arguments.length; i++) {
74
74
  message = message + (i == 2 ? '?' : '&') + 'p' + (i-2) + '=' +
@@ -1987,11 +1987,11 @@ function setupModuleLoader(window) {
1987
1987
  * - `codeName` – `{string}` – Code name of the release, such as "jiggling-armfat".
1988
1988
  */
1989
1989
  var version = {
1990
- full: '1.2.24', // all of these placeholder strings will be replaced by grunt's
1990
+ full: '1.2.25', // all of these placeholder strings will be replaced by grunt's
1991
1991
  major: 1, // package task
1992
1992
  minor: 2,
1993
- dot: 24,
1994
- codeName: 'static-levitation'
1993
+ dot: 25,
1994
+ codeName: 'hypnotic-gesticulation'
1995
1995
  };
1996
1996
 
1997
1997
 
@@ -19121,14 +19121,13 @@ var forceAsyncEvents = {
19121
19121
  };
19122
19122
  forEach(
19123
19123
  'click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste'.split(' '),
19124
- function(name) {
19125
- var directiveName = directiveNormalize('ng-' + name);
19124
+ function(eventName) {
19125
+ var directiveName = directiveNormalize('ng-' + eventName);
19126
19126
  ngEventDirectives[directiveName] = ['$parse', '$rootScope', function($parse, $rootScope) {
19127
19127
  return {
19128
19128
  compile: function($element, attr) {
19129
19129
  var fn = $parse(attr[directiveName]);
19130
19130
  return function ngEventHandler(scope, element) {
19131
- var eventName = lowercase(name);
19132
19131
  element.on(eventName, function(event) {
19133
19132
  var callback = function() {
19134
19133
  fn(scope, {$event:event});
@@ -20655,8 +20654,8 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
20655
20654
  *
20656
20655
  * @description
20657
20656
  * The `ngShow` directive shows or hides the given HTML element based on the expression
20658
- * provided to the ngShow attribute. The element is shown or hidden by removing or adding
20659
- * the `ng-hide` CSS class onto the element. The `.ng-hide` CSS class is predefined
20657
+ * provided to the `ngShow` attribute. The element is shown or hidden by removing or adding
20658
+ * the `.ng-hide` CSS class onto the element. The `.ng-hide` CSS class is predefined
20660
20659
  * in AngularJS and sets the display style to none (using an !important flag).
20661
20660
  * For CSP mode please add `angular-csp.css` to your html file (see {@link ng.directive:ngCsp ngCsp}).
20662
20661
  *
@@ -20668,8 +20667,8 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
20668
20667
  * <div ng-show="myValue" class="ng-hide"></div>
20669
20668
  * ```
20670
20669
  *
20671
- * When the ngShow expression evaluates to false then the ng-hide CSS class is added to the class attribute
20672
- * on the element causing it to become hidden. When true, the ng-hide CSS class is removed
20670
+ * When the `ngShow` expression evaluates to false then the `.ng-hide` CSS class is added to the class attribute
20671
+ * on the element causing it to become hidden. When true, the `.ng-hide` CSS class is removed
20673
20672
  * from the element causing the element not to appear hidden.
20674
20673
  *
20675
20674
  * <div class="alert alert-warning">
@@ -20679,7 +20678,7 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
20679
20678
  *
20680
20679
  * ## Why is !important used?
20681
20680
  *
20682
- * You may be wondering why !important is used for the .ng-hide CSS class. This is because the `.ng-hide` selector
20681
+ * You may be wondering why !important is used for the `.ng-hide` CSS class. This is because the `.ng-hide` selector
20683
20682
  * can be easily overridden by heavier selectors. For example, something as simple
20684
20683
  * as changing the display style on a HTML list item would make hidden elements appear visible.
20685
20684
  * This also becomes a bigger issue when dealing with CSS frameworks.
@@ -20688,7 +20687,7 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
20688
20687
  * specificity (when !important isn't used with any conflicting styles). If a developer chooses to override the
20689
20688
  * styling to change how to hide an element then it is just a matter of using !important in their own CSS code.
20690
20689
  *
20691
- * ### Overriding .ng-hide
20690
+ * ### Overriding `.ng-hide`
20692
20691
  *
20693
20692
  * By default, the `.ng-hide` class will style the element with `display:none!important`. If you wish to change
20694
20693
  * the hide behavior with ngShow/ngHide then this can be achieved by restating the styles for the `.ng-hide`
@@ -20706,7 +20705,7 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
20706
20705
  *
20707
20706
  * By default you don't need to override in CSS anything and the animations will work around the display style.
20708
20707
  *
20709
- * ## A note about animations with ngShow
20708
+ * ## A note about animations with `ngShow`
20710
20709
  *
20711
20710
  * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression
20712
20711
  * is true and false. This system works like the animation system present with ngClass except that
@@ -20731,8 +20730,8 @@ var ngRepeatDirective = ['$parse', '$animate', function($parse, $animate) {
20731
20730
  * property to block during animation states--ngAnimate will handle the style toggling automatically for you.
20732
20731
  *
20733
20732
  * @animations
20734
- * addClass: .ng-hide - happens after the ngShow expression evaluates to a truthy value and the just before contents are set to visible
20735
- * removeClass: .ng-hide - happens after the ngShow expression evaluates to a non truthy value and just before the contents are set to hidden
20733
+ * addClass: `.ng-hide` - happens after the `ngShow` expression evaluates to a truthy value and the just before contents are set to visible
20734
+ * removeClass: `.ng-hide` - happens after the `ngShow` expression evaluates to a non truthy value and just before the contents are set to hidden
20736
20735
  *
20737
20736
  * @element ANY
20738
20737
  * @param {expression} ngShow If the {@link guide/expression expression} is truthy
@@ -20812,7 +20811,7 @@ var ngShowDirective = ['$animate', function($animate) {
20812
20811
  *
20813
20812
  * @description
20814
20813
  * The `ngHide` directive shows or hides the given HTML element based on the expression
20815
- * provided to the ngHide attribute. The element is shown or hidden by removing or adding
20814
+ * provided to the `ngHide` attribute. The element is shown or hidden by removing or adding
20816
20815
  * the `ng-hide` CSS class onto the element. The `.ng-hide` CSS class is predefined
20817
20816
  * in AngularJS and sets the display style to none (using an !important flag).
20818
20817
  * For CSP mode please add `angular-csp.css` to your html file (see {@link ng.directive:ngCsp ngCsp}).
@@ -20825,8 +20824,8 @@ var ngShowDirective = ['$animate', function($animate) {
20825
20824
  * <div ng-hide="myValue"></div>
20826
20825
  * ```
20827
20826
  *
20828
- * When the ngHide expression evaluates to true then the .ng-hide CSS class is added to the class attribute
20829
- * on the element causing it to become hidden. When false, the ng-hide CSS class is removed
20827
+ * When the `.ngHide` expression evaluates to true then the `.ng-hide` CSS class is added to the class attribute
20828
+ * on the element causing it to become hidden. When false, the `.ng-hide` CSS class is removed
20830
20829
  * from the element causing the element not to appear hidden.
20831
20830
  *
20832
20831
  * <div class="alert alert-warning">
@@ -20836,7 +20835,7 @@ var ngShowDirective = ['$animate', function($animate) {
20836
20835
  *
20837
20836
  * ## Why is !important used?
20838
20837
  *
20839
- * You may be wondering why !important is used for the .ng-hide CSS class. This is because the `.ng-hide` selector
20838
+ * You may be wondering why !important is used for the `.ng-hide` CSS class. This is because the `.ng-hide` selector
20840
20839
  * can be easily overridden by heavier selectors. For example, something as simple
20841
20840
  * as changing the display style on a HTML list item would make hidden elements appear visible.
20842
20841
  * This also becomes a bigger issue when dealing with CSS frameworks.
@@ -20845,7 +20844,7 @@ var ngShowDirective = ['$animate', function($animate) {
20845
20844
  * specificity (when !important isn't used with any conflicting styles). If a developer chooses to override the
20846
20845
  * styling to change how to hide an element then it is just a matter of using !important in their own CSS code.
20847
20846
  *
20848
- * ### Overriding .ng-hide
20847
+ * ### Overriding `.ng-hide`
20849
20848
  *
20850
20849
  * By default, the `.ng-hide` class will style the element with `display:none!important`. If you wish to change
20851
20850
  * the hide behavior with ngShow/ngHide then this can be achieved by restating the styles for the `.ng-hide`
@@ -20863,7 +20862,7 @@ var ngShowDirective = ['$animate', function($animate) {
20863
20862
  *
20864
20863
  * By default you don't need to override in CSS anything and the animations will work around the display style.
20865
20864
  *
20866
- * ## A note about animations with ngHide
20865
+ * ## A note about animations with `ngHide`
20867
20866
  *
20868
20867
  * Animations in ngShow/ngHide work with the show and hide events that are triggered when the directive expression
20869
20868
  * is true and false. This system works like the animation system present with ngClass, except that the `.ng-hide`
@@ -20887,8 +20886,8 @@ var ngShowDirective = ['$animate', function($animate) {
20887
20886
  * property to block during animation states--ngAnimate will handle the style toggling automatically for you.
20888
20887
  *
20889
20888
  * @animations
20890
- * removeClass: .ng-hide - happens after the ngHide expression evaluates to a truthy value and just before the contents are set to hidden
20891
- * addClass: .ng-hide - happens after the ngHide expression evaluates to a non truthy value and just before the contents are set to visible
20889
+ * removeClass: `.ng-hide` - happens after the `ngHide` expression evaluates to a truthy value and just before the contents are set to hidden
20890
+ * addClass: `.ng-hide` - happens after the `ngHide` expression evaluates to a non truthy value and just before the contents are set to visible
20892
20891
  *
20893
20892
  * @element ANY
20894
20893
  * @param {expression} ngHide If the {@link guide/expression expression} is truthy then
@@ -21741,6 +21740,19 @@ var selectDirective = ['$compile', '$parse', function($compile, $parse) {
21741
21740
  ctrl.$render = render;
21742
21741
 
21743
21742
  scope.$watchCollection(valuesFn, render);
21743
+ scope.$watchCollection(function () {
21744
+ var locals = {},
21745
+ values = valuesFn(scope);
21746
+ if (values) {
21747
+ var toDisplay = new Array(values.length);
21748
+ for (var i = 0, ii = values.length; i < ii; i++) {
21749
+ locals[valueName] = values[i];
21750
+ toDisplay[i] = displayFn(scope, locals);
21751
+ }
21752
+ return toDisplay;
21753
+ }
21754
+ }, render);
21755
+
21744
21756
  if ( multiple ) {
21745
21757
  scope.$watchCollection(function() { return ctrl.$modelValue; }, render);
21746
21758
  }