Skip to content
This repository was archived by the owner on Feb 26, 2024. It is now read-only.

Commit 815ce1b

Browse files
committed
v1.6.9-build.5549+sha.a8830d2
1 parent cae6619 commit 815ce1b

File tree

6 files changed

+47
-38
lines changed

6 files changed

+47
-38
lines changed

angular.js

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* @license AngularJS v1.6.9-build.5548+sha.4c97df5
2+
* @license AngularJS v1.6.9-build.5549+sha.a8830d2
33
* (c) 2010-2018 Google, Inc. http://angularjs.org
44
* License: MIT
55
*/
@@ -106,7 +106,7 @@ function minErr(module, ErrorConstructor) {
106106
return match;
107107
});
108108

109-
message += '\nhttp://errors.angularjs.org/1.6.9-build.5548+sha.4c97df5/' +
109+
message += '\nhttp://errors.angularjs.org/1.6.9-build.5549+sha.a8830d2/' +
110110
(module ? module + '/' : '') + code;
111111

112112
for (i = 0, paramPrefix = '?'; i < templateArgs.length; i++, paramPrefix = '&') {
@@ -2780,7 +2780,7 @@ function toDebugString(obj, maxDepth) {
27802780
var version = {
27812781
// These placeholder strings will be replaced by grunt's `build` task.
27822782
// They need to be double- or single-quoted.
2783-
full: '1.6.9-build.5548+sha.4c97df5',
2783+
full: '1.6.9-build.5549+sha.a8830d2',
27842784
major: 1,
27852785
minor: 6,
27862786
dot: 9,
@@ -2930,7 +2930,7 @@ function publishExternalAPI(angular) {
29302930
});
29312931
}
29322932
])
2933-
.info({ angularVersion: '1.6.9-build.5548+sha.4c97df5' });
2933+
.info({ angularVersion: '1.6.9-build.5549+sha.a8830d2' });
29342934
}
29352935

29362936
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -22225,6 +22225,7 @@ function sliceFn(input, begin, end) {
2222522225
* index: ...
2222622226
* }
2222722227
* ```
22228+
* **Note:** `null` values use `'null'` as their type.
2222822229
* 2. The comparator function is used to sort the items, based on the derived values, types and
2222922230
* indices.
2223022231
*
@@ -22259,11 +22260,15 @@ function sliceFn(input, begin, end) {
2225922260
*
2226022261
* The default, built-in comparator should be sufficient for most usecases. In short, it compares
2226122262
* numbers numerically, strings alphabetically (and case-insensitively), for objects falls back to
22262-
* using their index in the original collection, and sorts values of different types by type.
22263+
* using their index in the original collection, sorts values of different types by type and puts
22264+
* `undefined` and `null` values at the end of the sorted list.
2226322265
*
2226422266
* More specifically, it follows these steps to determine the relative order of items:
2226522267
*
22266-
* 1. If the compared values are of different types, compare the types themselves alphabetically.
22268+
* 1. If the compared values are of different types:
22269+
* - If one of the values is undefined, consider it "greater than" the other.
22270+
* - Else if one of the values is null, consider it "greater than" the other.
22271+
* - Else compare the types themselves alphabetically.
2226722272
* 2. If both values are of type `string`, compare them alphabetically in a case- and
2226822273
* locale-insensitive way.
2226922274
* 3. If both values are objects, compare their indices instead.
@@ -22274,9 +22279,10 @@ function sliceFn(input, begin, end) {
2227422279
*
2227522280
* **Note:** If you notice numbers not being sorted as expected, make sure they are actually being
2227622281
* saved as numbers and not strings.
22277-
* **Note:** For the purpose of sorting, `null` values are treated as the string `'null'` (i.e.
22278-
* `type: 'string'`, `value: 'null'`). This may cause unexpected sort order relative to
22279-
* other values.
22282+
* **Note:** For the purpose of sorting, `null` and `undefined` are considered "greater than"
22283+
* any other value (with undefined "greater than" null). This effectively means that `null`
22284+
* and `undefined` values end up at the end of a list sorted in ascending order.
22285+
* **Note:** `null` values use `'null'` as their type to be able to distinguish them from objects.
2228022286
*
2228122287
* @param {Array|ArrayLike} collection - The collection (array or array-like object) to sort.
2228222288
* @param {(Function|string|Array.<Function|string>)=} expression - A predicate (or list of
@@ -22843,8 +22849,7 @@ function orderByFilter($parse) {
2284322849
function getPredicateValue(value, index) {
2284422850
var type = typeof value;
2284522851
if (value === null) {
22846-
type = 'string';
22847-
value = 'null';
22852+
type = 'null';
2284822853
} else if (type === 'object') {
2284922854
value = objectValue(value);
2285022855
}
@@ -22875,7 +22880,11 @@ function orderByFilter($parse) {
2287522880
result = value1 < value2 ? -1 : 1;
2287622881
}
2287722882
} else {
22878-
result = type1 < type2 ? -1 : 1;
22883+
result = (type1 === 'undefined') ? 1 :
22884+
(type2 === 'undefined') ? -1 :
22885+
(type1 === 'null') ? 1 :
22886+
(type2 === 'null') ? -1 :
22887+
(type1 < type2) ? -1 : 1;
2287922888
}
2288022889

2288122890
return result;
@@ -25376,9 +25385,9 @@ function baseInputType(scope, element, attr, ctrl, $sniffer, $browser) {
2537625385
deferListener(event, this, this.value);
2537725386
});
2537825387

25379-
// if user modifies input value using context menu in IE, we need "paste" and "cut" events to catch it
25388+
// if user modifies input value using context menu in IE, we need "paste", "cut" and "drop" events to catch it
2538025389
if ($sniffer.hasEvent('paste')) {
25381-
element.on('paste cut', deferListener);
25390+
element.on('paste cut drop', deferListener);
2538225391
}
2538325392
}
2538425393

0 commit comments

Comments
 (0)