@angular/router 9.1.0 → 9.1.4
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.
- package/bundles/router-testing.umd.js +24 -5
- package/bundles/router-testing.umd.js.map +1 -1
- package/bundles/router-testing.umd.min.js +4 -4
- package/bundles/router-testing.umd.min.js.map +1 -1
- package/bundles/router-upgrade.umd.js +4 -2
- package/bundles/router-upgrade.umd.js.map +1 -1
- package/bundles/router-upgrade.umd.min.js +1 -1
- package/bundles/router-upgrade.umd.min.js.map +1 -1
- package/bundles/router.umd.js +282 -138
- package/bundles/router.umd.js.map +1 -1
- package/bundles/router.umd.min.js +26 -26
- package/bundles/router.umd.min.js.map +1 -1
- package/esm2015/index.js +1 -1
- package/esm2015/public_api.js +1 -1
- package/esm2015/src/apply_redirects.js +6 -4
- package/esm2015/src/config.js +1 -1
- package/esm2015/src/create_url_tree.js +1 -1
- package/esm2015/src/directives/router_link.js +9 -4
- package/esm2015/src/directives/router_link_active.js +7 -3
- package/esm2015/src/directives/router_outlet.js +7 -3
- package/esm2015/src/events.js +13 -5
- package/esm2015/src/index.js +3 -3
- package/esm2015/src/interfaces.js +1 -1
- package/esm2015/src/operators/activate_routes.js +1 -1
- package/esm2015/src/operators/check_guards.js +8 -5
- package/esm2015/src/operators/prioritized_guard_value.js +7 -7
- package/esm2015/src/operators/recognize.js +1 -1
- package/esm2015/src/operators/resolve_data.js +4 -2
- package/esm2015/src/operators/switch_tap.js +1 -1
- package/esm2015/src/recognize.js +7 -5
- package/esm2015/src/route_reuse_strategy.js +10 -4
- package/esm2015/src/router.js +86 -55
- package/esm2015/src/router_config_loader.js +1 -1
- package/esm2015/src/router_module.js +4 -6
- package/esm2015/src/router_outlet_context.js +7 -3
- package/esm2015/src/router_preloader.js +13 -9
- package/esm2015/src/router_scroller.js +1 -1
- package/esm2015/src/router_state.js +42 -16
- package/esm2015/src/shared.js +10 -4
- package/esm2015/src/url_handling_strategy.js +10 -4
- package/esm2015/src/url_tree.js +21 -9
- package/esm2015/src/utils/collection.js +1 -1
- package/esm2015/src/utils/preactivation.js +1 -1
- package/esm2015/src/utils/tree.js +17 -9
- package/esm2015/src/version.js +1 -1
- package/esm2015/testing/src/router_testing_module.js +5 -3
- package/esm2015/upgrade/src/upgrade.js +4 -2
- package/esm5/src/apply_redirects.js +3 -3
- package/esm5/src/config.js +1 -1
- package/esm5/src/create_url_tree.js +1 -1
- package/esm5/src/directives/router_link.js +9 -4
- package/esm5/src/directives/router_link_active.js +7 -3
- package/esm5/src/directives/router_outlet.js +7 -3
- package/esm5/src/events.js +13 -5
- package/esm5/src/index.js +3 -3
- package/esm5/src/interfaces.js +1 -1
- package/esm5/src/operators/activate_routes.js +1 -1
- package/esm5/src/operators/check_guards.js +22 -19
- package/esm5/src/operators/prioritized_guard_value.js +7 -7
- package/esm5/src/operators/recognize.js +1 -1
- package/esm5/src/operators/resolve_data.js +1 -1
- package/esm5/src/operators/switch_tap.js +1 -1
- package/esm5/src/recognize.js +7 -5
- package/esm5/src/route_reuse_strategy.js +10 -4
- package/esm5/src/router.js +87 -54
- package/esm5/src/router_config_loader.js +1 -1
- package/esm5/src/router_module.js +5 -7
- package/esm5/src/router_outlet_context.js +7 -3
- package/esm5/src/router_preloader.js +13 -9
- package/esm5/src/router_scroller.js +1 -1
- package/esm5/src/router_state.js +46 -18
- package/esm5/src/shared.js +7 -3
- package/esm5/src/url_handling_strategy.js +10 -4
- package/esm5/src/url_tree.js +21 -9
- package/esm5/src/utils/collection.js +1 -1
- package/esm5/src/utils/preactivation.js +1 -1
- package/esm5/src/utils/tree.js +10 -4
- package/esm5/src/version.js +1 -1
- package/esm5/testing/src/router_testing_module.js +5 -3
- package/esm5/upgrade/src/upgrade.js +4 -2
- package/fesm2015/router.js +252 -121
- package/fesm2015/router.js.map +1 -1
- package/fesm2015/testing.js +4 -2
- package/fesm2015/testing.js.map +1 -1
- package/fesm2015/upgrade.js +4 -2
- package/fesm2015/upgrade.js.map +1 -1
- package/fesm5/router.js +262 -135
- package/fesm5/router.js.map +1 -1
- package/fesm5/testing.js +4 -2
- package/fesm5/testing.js.map +1 -1
- package/fesm5/upgrade.js +4 -2
- package/fesm5/upgrade.js.map +1 -1
- package/package.json +4 -4
- package/router.d.ts +25 -22
- package/router.metadata.json +1 -1
- package/testing/testing.d.ts +1 -1
- package/testing/testing.metadata.json +1 -1
- package/testing.d.ts +1 -1
- package/upgrade/upgrade.d.ts +1 -1
- package/upgrade.d.ts +1 -1
package/bundles/router.umd.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v9.1.
|
|
2
|
+
* @license Angular v9.1.4
|
|
3
3
|
* (c) 2010-2020 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -78,10 +78,11 @@
|
|
|
78
78
|
}
|
|
79
79
|
|
|
80
80
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
81
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
81
82
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
82
83
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
83
84
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
84
|
-
function step(result) { result.done ? resolve(result.value) :
|
|
85
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
85
86
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
86
87
|
});
|
|
87
88
|
}
|
|
@@ -119,14 +120,15 @@
|
|
|
119
120
|
}
|
|
120
121
|
|
|
121
122
|
function __values(o) {
|
|
122
|
-
var
|
|
123
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
123
124
|
if (m) return m.call(o);
|
|
124
|
-
return {
|
|
125
|
+
if (o && typeof o.length === "number") return {
|
|
125
126
|
next: function () {
|
|
126
127
|
if (o && i >= o.length) o = void 0;
|
|
127
128
|
return { value: o && o[i++], done: !o };
|
|
128
129
|
}
|
|
129
130
|
};
|
|
131
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
130
132
|
}
|
|
131
133
|
|
|
132
134
|
function __read(o, n) {
|
|
@@ -205,6 +207,21 @@
|
|
|
205
207
|
|
|
206
208
|
function __importDefault(mod) {
|
|
207
209
|
return (mod && mod.__esModule) ? mod : { default: mod };
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
function __classPrivateFieldGet(receiver, privateMap) {
|
|
213
|
+
if (!privateMap.has(receiver)) {
|
|
214
|
+
throw new TypeError("attempted to get private field on non-instance");
|
|
215
|
+
}
|
|
216
|
+
return privateMap.get(receiver);
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
function __classPrivateFieldSet(receiver, privateMap, value) {
|
|
220
|
+
if (!privateMap.has(receiver)) {
|
|
221
|
+
throw new TypeError("attempted to set private field on non-instance");
|
|
222
|
+
}
|
|
223
|
+
privateMap.set(receiver, value);
|
|
224
|
+
return value;
|
|
208
225
|
}
|
|
209
226
|
|
|
210
227
|
/**
|
|
@@ -270,7 +287,9 @@
|
|
|
270
287
|
return _this;
|
|
271
288
|
}
|
|
272
289
|
/** @docsNotRequired */
|
|
273
|
-
NavigationStart.prototype.toString = function () {
|
|
290
|
+
NavigationStart.prototype.toString = function () {
|
|
291
|
+
return "NavigationStart(id: " + this.id + ", url: '" + this.url + "')";
|
|
292
|
+
};
|
|
274
293
|
return NavigationStart;
|
|
275
294
|
}(RouterEvent));
|
|
276
295
|
/**
|
|
@@ -319,7 +338,9 @@
|
|
|
319
338
|
return _this;
|
|
320
339
|
}
|
|
321
340
|
/** @docsNotRequired */
|
|
322
|
-
NavigationCancel.prototype.toString = function () {
|
|
341
|
+
NavigationCancel.prototype.toString = function () {
|
|
342
|
+
return "NavigationCancel(id: " + this.id + ", url: '" + this.url + "')";
|
|
343
|
+
};
|
|
323
344
|
return NavigationCancel;
|
|
324
345
|
}(RouterEvent));
|
|
325
346
|
/**
|
|
@@ -495,7 +516,9 @@
|
|
|
495
516
|
route) {
|
|
496
517
|
this.route = route;
|
|
497
518
|
}
|
|
498
|
-
RouteConfigLoadStart.prototype.toString = function () {
|
|
519
|
+
RouteConfigLoadStart.prototype.toString = function () {
|
|
520
|
+
return "RouteConfigLoadStart(path: " + this.route.path + ")";
|
|
521
|
+
};
|
|
499
522
|
return RouteConfigLoadStart;
|
|
500
523
|
}());
|
|
501
524
|
/**
|
|
@@ -509,7 +532,9 @@
|
|
|
509
532
|
route) {
|
|
510
533
|
this.route = route;
|
|
511
534
|
}
|
|
512
|
-
RouteConfigLoadEnd.prototype.toString = function () {
|
|
535
|
+
RouteConfigLoadEnd.prototype.toString = function () {
|
|
536
|
+
return "RouteConfigLoadEnd(path: " + this.route.path + ")";
|
|
537
|
+
};
|
|
513
538
|
return RouteConfigLoadEnd;
|
|
514
539
|
}());
|
|
515
540
|
/**
|
|
@@ -657,7 +682,9 @@
|
|
|
657
682
|
function ParamsAsMap(params) {
|
|
658
683
|
this.params = params || {};
|
|
659
684
|
}
|
|
660
|
-
ParamsAsMap.prototype.has = function (name) {
|
|
685
|
+
ParamsAsMap.prototype.has = function (name) {
|
|
686
|
+
return this.params.hasOwnProperty(name);
|
|
687
|
+
};
|
|
661
688
|
ParamsAsMap.prototype.get = function (name) {
|
|
662
689
|
if (this.has(name)) {
|
|
663
690
|
var v = this.params[name];
|
|
@@ -673,7 +700,9 @@
|
|
|
673
700
|
return [];
|
|
674
701
|
};
|
|
675
702
|
Object.defineProperty(ParamsAsMap.prototype, "keys", {
|
|
676
|
-
get: function () {
|
|
703
|
+
get: function () {
|
|
704
|
+
return Object.keys(this.params);
|
|
705
|
+
},
|
|
677
706
|
enumerable: true,
|
|
678
707
|
configurable: true
|
|
679
708
|
});
|
|
@@ -1060,7 +1089,9 @@
|
|
|
1060
1089
|
configurable: true
|
|
1061
1090
|
});
|
|
1062
1091
|
/** @docsNotRequired */
|
|
1063
|
-
UrlTree.prototype.toString = function () {
|
|
1092
|
+
UrlTree.prototype.toString = function () {
|
|
1093
|
+
return DEFAULT_SERIALIZER.serialize(this);
|
|
1094
|
+
};
|
|
1064
1095
|
return UrlTree;
|
|
1065
1096
|
}());
|
|
1066
1097
|
/**
|
|
@@ -1086,15 +1117,21 @@
|
|
|
1086
1117
|
forEach(children, function (v, k) { return v.parent = _this; });
|
|
1087
1118
|
}
|
|
1088
1119
|
/** Whether the segment has child segments */
|
|
1089
|
-
UrlSegmentGroup.prototype.hasChildren = function () {
|
|
1120
|
+
UrlSegmentGroup.prototype.hasChildren = function () {
|
|
1121
|
+
return this.numberOfChildren > 0;
|
|
1122
|
+
};
|
|
1090
1123
|
Object.defineProperty(UrlSegmentGroup.prototype, "numberOfChildren", {
|
|
1091
1124
|
/** Number of child segments */
|
|
1092
|
-
get: function () {
|
|
1125
|
+
get: function () {
|
|
1126
|
+
return Object.keys(this.children).length;
|
|
1127
|
+
},
|
|
1093
1128
|
enumerable: true,
|
|
1094
1129
|
configurable: true
|
|
1095
1130
|
});
|
|
1096
1131
|
/** @docsNotRequired */
|
|
1097
|
-
UrlSegmentGroup.prototype.toString = function () {
|
|
1132
|
+
UrlSegmentGroup.prototype.toString = function () {
|
|
1133
|
+
return serializePaths(this);
|
|
1134
|
+
};
|
|
1098
1135
|
return UrlSegmentGroup;
|
|
1099
1136
|
}());
|
|
1100
1137
|
/**
|
|
@@ -1143,7 +1180,9 @@
|
|
|
1143
1180
|
configurable: true
|
|
1144
1181
|
});
|
|
1145
1182
|
/** @docsNotRequired */
|
|
1146
|
-
UrlSegment.prototype.toString = function () {
|
|
1183
|
+
UrlSegment.prototype.toString = function () {
|
|
1184
|
+
return serializePath(this);
|
|
1185
|
+
};
|
|
1147
1186
|
return UrlSegment;
|
|
1148
1187
|
}());
|
|
1149
1188
|
function equalSegments(as, bs) {
|
|
@@ -1314,7 +1353,7 @@
|
|
|
1314
1353
|
value.map(function (v) { return encodeUriQuery(name) + "=" + encodeUriQuery(v); }).join('&') :
|
|
1315
1354
|
encodeUriQuery(name) + "=" + encodeUriQuery(value);
|
|
1316
1355
|
});
|
|
1317
|
-
return strParams.length ? "?" + strParams.join(
|
|
1356
|
+
return strParams.length ? "?" + strParams.join('&') : '';
|
|
1318
1357
|
}
|
|
1319
1358
|
var SEGMENT_RE = /^[^\/()?;=#]+/;
|
|
1320
1359
|
function matchSegments(str) {
|
|
@@ -1477,7 +1516,9 @@
|
|
|
1477
1516
|
}
|
|
1478
1517
|
return segments;
|
|
1479
1518
|
};
|
|
1480
|
-
UrlParser.prototype.peekStartsWith = function (str) {
|
|
1519
|
+
UrlParser.prototype.peekStartsWith = function (str) {
|
|
1520
|
+
return this.remaining.startsWith(str);
|
|
1521
|
+
};
|
|
1481
1522
|
// Consumes the prefix when it is present and returns whether it has been consumed
|
|
1482
1523
|
UrlParser.prototype.consumeOptional = function (str) {
|
|
1483
1524
|
if (this.peekStartsWith(str)) {
|
|
@@ -1506,7 +1547,9 @@
|
|
|
1506
1547
|
this._root = root;
|
|
1507
1548
|
}
|
|
1508
1549
|
Object.defineProperty(Tree.prototype, "root", {
|
|
1509
|
-
get: function () {
|
|
1550
|
+
get: function () {
|
|
1551
|
+
return this._root.value;
|
|
1552
|
+
},
|
|
1510
1553
|
enumerable: true,
|
|
1511
1554
|
configurable: true
|
|
1512
1555
|
});
|
|
@@ -1544,7 +1587,9 @@
|
|
|
1544
1587
|
/**
|
|
1545
1588
|
* @internal
|
|
1546
1589
|
*/
|
|
1547
|
-
Tree.prototype.pathFromRoot = function (t) {
|
|
1590
|
+
Tree.prototype.pathFromRoot = function (t) {
|
|
1591
|
+
return findPath(t, this._root).map(function (s) { return s.value; });
|
|
1592
|
+
};
|
|
1548
1593
|
return Tree;
|
|
1549
1594
|
}());
|
|
1550
1595
|
// DFS for the node matching the value
|
|
@@ -1598,7 +1643,9 @@
|
|
|
1598
1643
|
this.value = value;
|
|
1599
1644
|
this.children = children;
|
|
1600
1645
|
}
|
|
1601
|
-
TreeNode.prototype.toString = function () {
|
|
1646
|
+
TreeNode.prototype.toString = function () {
|
|
1647
|
+
return "TreeNode(" + this.value + ")";
|
|
1648
|
+
};
|
|
1602
1649
|
return TreeNode;
|
|
1603
1650
|
}());
|
|
1604
1651
|
// Return the list of T indexed by outlet name
|
|
@@ -1657,7 +1704,9 @@
|
|
|
1657
1704
|
setRouterState(_this, root);
|
|
1658
1705
|
return _this;
|
|
1659
1706
|
}
|
|
1660
|
-
RouterState.prototype.toString = function () {
|
|
1707
|
+
RouterState.prototype.toString = function () {
|
|
1708
|
+
return this.snapshot.toString();
|
|
1709
|
+
};
|
|
1661
1710
|
return RouterState;
|
|
1662
1711
|
}(Tree));
|
|
1663
1712
|
function createEmptyState(urlTree, rootComponent) {
|
|
@@ -1718,44 +1767,58 @@
|
|
|
1718
1767
|
}
|
|
1719
1768
|
Object.defineProperty(ActivatedRoute.prototype, "routeConfig", {
|
|
1720
1769
|
/** The configuration used to match this route. */
|
|
1721
|
-
get: function () {
|
|
1770
|
+
get: function () {
|
|
1771
|
+
return this._futureSnapshot.routeConfig;
|
|
1772
|
+
},
|
|
1722
1773
|
enumerable: true,
|
|
1723
1774
|
configurable: true
|
|
1724
1775
|
});
|
|
1725
1776
|
Object.defineProperty(ActivatedRoute.prototype, "root", {
|
|
1726
1777
|
/** The root of the router state. */
|
|
1727
|
-
get: function () {
|
|
1778
|
+
get: function () {
|
|
1779
|
+
return this._routerState.root;
|
|
1780
|
+
},
|
|
1728
1781
|
enumerable: true,
|
|
1729
1782
|
configurable: true
|
|
1730
1783
|
});
|
|
1731
1784
|
Object.defineProperty(ActivatedRoute.prototype, "parent", {
|
|
1732
1785
|
/** The parent of this route in the router state tree. */
|
|
1733
|
-
get: function () {
|
|
1786
|
+
get: function () {
|
|
1787
|
+
return this._routerState.parent(this);
|
|
1788
|
+
},
|
|
1734
1789
|
enumerable: true,
|
|
1735
1790
|
configurable: true
|
|
1736
1791
|
});
|
|
1737
1792
|
Object.defineProperty(ActivatedRoute.prototype, "firstChild", {
|
|
1738
1793
|
/** The first child of this route in the router state tree. */
|
|
1739
|
-
get: function () {
|
|
1794
|
+
get: function () {
|
|
1795
|
+
return this._routerState.firstChild(this);
|
|
1796
|
+
},
|
|
1740
1797
|
enumerable: true,
|
|
1741
1798
|
configurable: true
|
|
1742
1799
|
});
|
|
1743
1800
|
Object.defineProperty(ActivatedRoute.prototype, "children", {
|
|
1744
1801
|
/** The children of this route in the router state tree. */
|
|
1745
|
-
get: function () {
|
|
1802
|
+
get: function () {
|
|
1803
|
+
return this._routerState.children(this);
|
|
1804
|
+
},
|
|
1746
1805
|
enumerable: true,
|
|
1747
1806
|
configurable: true
|
|
1748
1807
|
});
|
|
1749
1808
|
Object.defineProperty(ActivatedRoute.prototype, "pathFromRoot", {
|
|
1750
1809
|
/** The path from the root of the router state tree to this route. */
|
|
1751
|
-
get: function () {
|
|
1810
|
+
get: function () {
|
|
1811
|
+
return this._routerState.pathFromRoot(this);
|
|
1812
|
+
},
|
|
1752
1813
|
enumerable: true,
|
|
1753
1814
|
configurable: true
|
|
1754
1815
|
});
|
|
1755
1816
|
Object.defineProperty(ActivatedRoute.prototype, "paramMap", {
|
|
1756
|
-
/**
|
|
1817
|
+
/**
|
|
1818
|
+
* An Observable that contains a map of the required and optional parameters
|
|
1757
1819
|
* specific to the route.
|
|
1758
|
-
* The map supports retrieving single and multiple values from the same parameter.
|
|
1820
|
+
* The map supports retrieving single and multiple values from the same parameter.
|
|
1821
|
+
*/
|
|
1759
1822
|
get: function () {
|
|
1760
1823
|
if (!this._paramMap) {
|
|
1761
1824
|
this._paramMap = this.params.pipe(operators.map(function (p) { return convertToParamMap(p); }));
|
|
@@ -1874,31 +1937,41 @@
|
|
|
1874
1937
|
}
|
|
1875
1938
|
Object.defineProperty(ActivatedRouteSnapshot.prototype, "root", {
|
|
1876
1939
|
/** The root of the router state */
|
|
1877
|
-
get: function () {
|
|
1940
|
+
get: function () {
|
|
1941
|
+
return this._routerState.root;
|
|
1942
|
+
},
|
|
1878
1943
|
enumerable: true,
|
|
1879
1944
|
configurable: true
|
|
1880
1945
|
});
|
|
1881
1946
|
Object.defineProperty(ActivatedRouteSnapshot.prototype, "parent", {
|
|
1882
1947
|
/** The parent of this route in the router state tree */
|
|
1883
|
-
get: function () {
|
|
1948
|
+
get: function () {
|
|
1949
|
+
return this._routerState.parent(this);
|
|
1950
|
+
},
|
|
1884
1951
|
enumerable: true,
|
|
1885
1952
|
configurable: true
|
|
1886
1953
|
});
|
|
1887
1954
|
Object.defineProperty(ActivatedRouteSnapshot.prototype, "firstChild", {
|
|
1888
1955
|
/** The first child of this route in the router state tree */
|
|
1889
|
-
get: function () {
|
|
1956
|
+
get: function () {
|
|
1957
|
+
return this._routerState.firstChild(this);
|
|
1958
|
+
},
|
|
1890
1959
|
enumerable: true,
|
|
1891
1960
|
configurable: true
|
|
1892
1961
|
});
|
|
1893
1962
|
Object.defineProperty(ActivatedRouteSnapshot.prototype, "children", {
|
|
1894
1963
|
/** The children of this route in the router state tree */
|
|
1895
|
-
get: function () {
|
|
1964
|
+
get: function () {
|
|
1965
|
+
return this._routerState.children(this);
|
|
1966
|
+
},
|
|
1896
1967
|
enumerable: true,
|
|
1897
1968
|
configurable: true
|
|
1898
1969
|
});
|
|
1899
1970
|
Object.defineProperty(ActivatedRouteSnapshot.prototype, "pathFromRoot", {
|
|
1900
1971
|
/** The path from the root of the router state tree to this route */
|
|
1901
|
-
get: function () {
|
|
1972
|
+
get: function () {
|
|
1973
|
+
return this._routerState.pathFromRoot(this);
|
|
1974
|
+
},
|
|
1902
1975
|
enumerable: true,
|
|
1903
1976
|
configurable: true
|
|
1904
1977
|
});
|
|
@@ -1967,7 +2040,9 @@
|
|
|
1967
2040
|
setRouterState(_this, root);
|
|
1968
2041
|
return _this;
|
|
1969
2042
|
}
|
|
1970
|
-
RouterStateSnapshot.prototype.toString = function () {
|
|
2043
|
+
RouterStateSnapshot.prototype.toString = function () {
|
|
2044
|
+
return serializeNode(this._root);
|
|
2045
|
+
};
|
|
1971
2046
|
return RouterStateSnapshot;
|
|
1972
2047
|
}(Tree));
|
|
1973
2048
|
function setRouterState(state, node) {
|
|
@@ -3201,13 +3276,13 @@
|
|
|
3201
3276
|
// Toggle pending flag if any values haven't been set yet
|
|
3202
3277
|
if (val === INITIAL_VALUE)
|
|
3203
3278
|
isPending = true;
|
|
3204
|
-
// Any other return values are only valid if we haven't yet hit a pending
|
|
3205
|
-
// This guarantees that in the case of a guard at the bottom of the
|
|
3206
|
-
// returns a redirect, we will wait for the higher priority
|
|
3207
|
-
// finish before performing the redirect.
|
|
3279
|
+
// Any other return values are only valid if we haven't yet hit a pending
|
|
3280
|
+
// call. This guarantees that in the case of a guard at the bottom of the
|
|
3281
|
+
// tree that returns a redirect, we will wait for the higher priority
|
|
3282
|
+
// guard at the top to finish before performing the redirect.
|
|
3208
3283
|
if (!isPending) {
|
|
3209
|
-
// Early return when we hit a `false` value as that should always
|
|
3210
|
-
// navigation
|
|
3284
|
+
// Early return when we hit a `false` value as that should always
|
|
3285
|
+
// cancel navigation
|
|
3211
3286
|
if (val === false)
|
|
3212
3287
|
return val;
|
|
3213
3288
|
if (i === list.length - 1 || isUrlTree(val)) {
|
|
@@ -3247,7 +3322,9 @@
|
|
|
3247
3322
|
function runCanDeactivateChecks(checks, futureRSS, currRSS, moduleInjector) {
|
|
3248
3323
|
return rxjs.from(checks).pipe(operators.mergeMap(function (check) {
|
|
3249
3324
|
return runCanDeactivate(check.component, check.route, currRSS, futureRSS, moduleInjector);
|
|
3250
|
-
}), operators.first(function (result) {
|
|
3325
|
+
}), operators.first(function (result) {
|
|
3326
|
+
return result !== true;
|
|
3327
|
+
}, true));
|
|
3251
3328
|
}
|
|
3252
3329
|
function runCanActivateChecks(futureSnapshot, checks, moduleInjector, forwardEvent) {
|
|
3253
3330
|
return rxjs.from(checks).pipe(operators.concatMap(function (check) {
|
|
@@ -3260,16 +3337,18 @@
|
|
|
3260
3337
|
.pipe(operators.concatAll(), operators.first(function (result) {
|
|
3261
3338
|
return result !== true;
|
|
3262
3339
|
}, true));
|
|
3263
|
-
}), operators.first(function (result) {
|
|
3340
|
+
}), operators.first(function (result) {
|
|
3341
|
+
return result !== true;
|
|
3342
|
+
}, true));
|
|
3264
3343
|
}
|
|
3265
3344
|
/**
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3345
|
+
* This should fire off `ActivationStart` events for each route being activated at this
|
|
3346
|
+
* level.
|
|
3347
|
+
* In other words, if you're activating `a` and `b` below, `path` will contain the
|
|
3348
|
+
* `ActivatedRouteSnapshot`s for both and we will fire `ActivationStart` for both. Always
|
|
3349
|
+
* return
|
|
3350
|
+
* `true` so checks continue to run.
|
|
3351
|
+
*/
|
|
3273
3352
|
function fireActivationStart(snapshot, forwardEvent) {
|
|
3274
3353
|
if (snapshot !== null && forwardEvent) {
|
|
3275
3354
|
forwardEvent(new ActivationStart(snapshot));
|
|
@@ -3277,13 +3356,13 @@
|
|
|
3277
3356
|
return rxjs.of(true);
|
|
3278
3357
|
}
|
|
3279
3358
|
/**
|
|
3280
|
-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3285
|
-
|
|
3286
|
-
|
|
3359
|
+
* This should fire off `ChildActivationStart` events for each route being activated at this
|
|
3360
|
+
* level.
|
|
3361
|
+
* In other words, if you're activating `a` and `b` below, `path` will contain the
|
|
3362
|
+
* `ActivatedRouteSnapshot`s for both and we will fire `ChildActivationStart` for both. Always
|
|
3363
|
+
* return
|
|
3364
|
+
* `true` so checks continue to run.
|
|
3365
|
+
*/
|
|
3287
3366
|
function fireChildActivationStart(snapshot, forwardEvent) {
|
|
3288
3367
|
if (snapshot !== null && forwardEvent) {
|
|
3289
3368
|
forwardEvent(new ChildActivationStart(snapshot));
|
|
@@ -3347,8 +3426,7 @@
|
|
|
3347
3426
|
var guard = getToken(c, currARS, moduleInjector);
|
|
3348
3427
|
var observable;
|
|
3349
3428
|
if (isCanDeactivate(guard)) {
|
|
3350
|
-
observable =
|
|
3351
|
-
wrapIntoObservable(guard.canDeactivate(component, currARS, currRSS, futureRSS));
|
|
3429
|
+
observable = wrapIntoObservable(guard.canDeactivate(component, currARS, currRSS, futureRSS));
|
|
3352
3430
|
}
|
|
3353
3431
|
else if (isFunction(guard)) {
|
|
3354
3432
|
observable = wrapIntoObservable(guard(component, currARS, currRSS, futureRSS));
|
|
@@ -3514,7 +3592,9 @@
|
|
|
3514
3592
|
if (!res)
|
|
3515
3593
|
throw new NoMatch$1();
|
|
3516
3594
|
var posParams = {};
|
|
3517
|
-
forEach(res.posParams, function (v, k) {
|
|
3595
|
+
forEach(res.posParams, function (v, k) {
|
|
3596
|
+
posParams[k] = v.path;
|
|
3597
|
+
});
|
|
3518
3598
|
var parameters = res.consumed.length > 0 ? __assign(__assign({}, posParams), res.consumed[res.consumed.length - 1].parameters) :
|
|
3519
3599
|
posParams;
|
|
3520
3600
|
return { consumedSegments: res.consumed, lastChild: res.consumed.length, parameters: parameters };
|
|
@@ -3764,10 +3844,16 @@
|
|
|
3764
3844
|
var DefaultRouteReuseStrategy = /** @class */ (function () {
|
|
3765
3845
|
function DefaultRouteReuseStrategy() {
|
|
3766
3846
|
}
|
|
3767
|
-
DefaultRouteReuseStrategy.prototype.shouldDetach = function (route) {
|
|
3847
|
+
DefaultRouteReuseStrategy.prototype.shouldDetach = function (route) {
|
|
3848
|
+
return false;
|
|
3849
|
+
};
|
|
3768
3850
|
DefaultRouteReuseStrategy.prototype.store = function (route, detachedTree) { };
|
|
3769
|
-
DefaultRouteReuseStrategy.prototype.shouldAttach = function (route) {
|
|
3770
|
-
|
|
3851
|
+
DefaultRouteReuseStrategy.prototype.shouldAttach = function (route) {
|
|
3852
|
+
return false;
|
|
3853
|
+
};
|
|
3854
|
+
DefaultRouteReuseStrategy.prototype.retrieve = function (route) {
|
|
3855
|
+
return null;
|
|
3856
|
+
};
|
|
3771
3857
|
DefaultRouteReuseStrategy.prototype.shouldReuseRoute = function (future, curr) {
|
|
3772
3858
|
return future.routeConfig === curr.routeConfig;
|
|
3773
3859
|
};
|
|
@@ -3852,9 +3938,15 @@
|
|
|
3852
3938
|
var DefaultUrlHandlingStrategy = /** @class */ (function () {
|
|
3853
3939
|
function DefaultUrlHandlingStrategy() {
|
|
3854
3940
|
}
|
|
3855
|
-
DefaultUrlHandlingStrategy.prototype.shouldProcessUrl = function (url) {
|
|
3856
|
-
|
|
3857
|
-
|
|
3941
|
+
DefaultUrlHandlingStrategy.prototype.shouldProcessUrl = function (url) {
|
|
3942
|
+
return true;
|
|
3943
|
+
};
|
|
3944
|
+
DefaultUrlHandlingStrategy.prototype.extract = function (url) {
|
|
3945
|
+
return url;
|
|
3946
|
+
};
|
|
3947
|
+
DefaultUrlHandlingStrategy.prototype.merge = function (newUrlPart, wholeUrl) {
|
|
3948
|
+
return newUrlPart;
|
|
3949
|
+
};
|
|
3858
3950
|
return DefaultUrlHandlingStrategy;
|
|
3859
3951
|
}());
|
|
3860
3952
|
|
|
@@ -3933,10 +4025,7 @@
|
|
|
3933
4025
|
*
|
|
3934
4026
|
* @internal
|
|
3935
4027
|
*/
|
|
3936
|
-
this.hooks = {
|
|
3937
|
-
beforePreactivation: defaultRouterHook,
|
|
3938
|
-
afterPreactivation: defaultRouterHook
|
|
3939
|
-
};
|
|
4028
|
+
this.hooks = { beforePreactivation: defaultRouterHook, afterPreactivation: defaultRouterHook };
|
|
3940
4029
|
/**
|
|
3941
4030
|
* A strategy for extracting and merging URLs.
|
|
3942
4031
|
* Used for AngularJS to Angular migrations.
|
|
@@ -4015,7 +4104,9 @@
|
|
|
4015
4104
|
var eventsSubject = this.events;
|
|
4016
4105
|
return transitions.pipe(operators.filter(function (t) { return t.id !== 0; }),
|
|
4017
4106
|
// Extract URL
|
|
4018
|
-
operators.map(function (t) {
|
|
4107
|
+
operators.map(function (t) {
|
|
4108
|
+
return (__assign(__assign({}, t), { extractedUrl: _this.urlHandlingStrategy.extract(t.rawUrl) }));
|
|
4109
|
+
}),
|
|
4019
4110
|
// Using switchMap so we cancel executing navigations when a new one comes in
|
|
4020
4111
|
operators.switchMap(function (t) {
|
|
4021
4112
|
var completed = false;
|
|
@@ -4033,7 +4124,8 @@
|
|
|
4033
4124
|
null
|
|
4034
4125
|
};
|
|
4035
4126
|
}), operators.switchMap(function (t) {
|
|
4036
|
-
var urlTransition = !_this.navigated ||
|
|
4127
|
+
var urlTransition = !_this.navigated ||
|
|
4128
|
+
t.extractedUrl.toString() !== _this.browserUrlTree.toString();
|
|
4037
4129
|
var processCurrentUrl = (_this.onSameUrlNavigation === 'reload' ? true : urlTransition) &&
|
|
4038
4130
|
_this.urlHandlingStrategy.shouldProcessUrl(t.rawUrl);
|
|
4039
4131
|
if (processCurrentUrl) {
|
|
@@ -4047,8 +4139,8 @@
|
|
|
4047
4139
|
}
|
|
4048
4140
|
return [t];
|
|
4049
4141
|
}),
|
|
4050
|
-
// This delay is required to match old behavior that forced navigation
|
|
4051
|
-
// always be async
|
|
4142
|
+
// This delay is required to match old behavior that forced navigation
|
|
4143
|
+
// to always be async
|
|
4052
4144
|
operators.switchMap(function (t) { return Promise.resolve(t); }),
|
|
4053
4145
|
// ApplyRedirects
|
|
4054
4146
|
applyRedirects$1(_this.ngModule.injector, _this.configLoader, _this.urlSerializer, _this.config),
|
|
@@ -4076,9 +4168,9 @@
|
|
|
4076
4168
|
else {
|
|
4077
4169
|
var processPreviousUrl = urlTransition && _this.rawUrlTree &&
|
|
4078
4170
|
_this.urlHandlingStrategy.shouldProcessUrl(_this.rawUrlTree);
|
|
4079
|
-
/* When the current URL shouldn't be processed, but the previous one was,
|
|
4080
|
-
* handle this "error condition" by navigating to the previously
|
|
4081
|
-
* but leaving the URL intact.*/
|
|
4171
|
+
/* When the current URL shouldn't be processed, but the previous one was,
|
|
4172
|
+
* we handle this "error condition" by navigating to the previously
|
|
4173
|
+
* successful URL, but leaving the URL intact.*/
|
|
4082
4174
|
if (processPreviousUrl) {
|
|
4083
4175
|
var id = t.id, extractedUrl = t.extractedUrl, source = t.source, restoredState = t.restoredState, extras = t.extras;
|
|
4084
4176
|
var navStart = new NavigationStart(id, _this.serializeUrl(extractedUrl), source, restoredState);
|
|
@@ -4087,9 +4179,10 @@
|
|
|
4087
4179
|
return rxjs.of(__assign(__assign({}, t), { targetSnapshot: targetSnapshot, urlAfterRedirects: extractedUrl, extras: __assign(__assign({}, extras), { skipLocationChange: false, replaceUrl: false }) }));
|
|
4088
4180
|
}
|
|
4089
4181
|
else {
|
|
4090
|
-
/* When neither the current or previous URL can be processed, do nothing
|
|
4091
|
-
* than update router's internal reference to the current "settled"
|
|
4092
|
-
* way the next navigation will be coming from the current URL
|
|
4182
|
+
/* When neither the current or previous URL can be processed, do nothing
|
|
4183
|
+
* other than update router's internal reference to the current "settled"
|
|
4184
|
+
* URL. This way the next navigation will be coming from the current URL
|
|
4185
|
+
* in the browser.
|
|
4093
4186
|
*/
|
|
4094
4187
|
_this.rawUrlTree = t.rawUrl;
|
|
4095
4188
|
_this.browserUrlTree = t.urlAfterRedirects;
|
|
@@ -4160,14 +4253,15 @@
|
|
|
4160
4253
|
var targetRouterState = createRouterState(_this.routeReuseStrategy, t.targetSnapshot, t.currentRouterState);
|
|
4161
4254
|
return (__assign(__assign({}, t), { targetRouterState: targetRouterState }));
|
|
4162
4255
|
}),
|
|
4163
|
-
/* Once here, we are about to activate syncronously. The assumption is this
|
|
4164
|
-
succeed, and user code may read from the Router service. Therefore
|
|
4165
|
-
activation, we need to update router properties storing the current
|
|
4166
|
-
RouterState, as well as updated the browser URL. All this should
|
|
4167
|
-
activating. */
|
|
4256
|
+
/* Once here, we are about to activate syncronously. The assumption is this
|
|
4257
|
+
will succeed, and user code may read from the Router service. Therefore
|
|
4258
|
+
before activation, we need to update router properties storing the current
|
|
4259
|
+
URL and the RouterState, as well as updated the browser URL. All this should
|
|
4260
|
+
happen *before* activating. */
|
|
4168
4261
|
operators.tap(function (t) {
|
|
4169
4262
|
_this.currentUrlTree = t.urlAfterRedirects;
|
|
4170
|
-
_this.rawUrlTree =
|
|
4263
|
+
_this.rawUrlTree =
|
|
4264
|
+
_this.urlHandlingStrategy.merge(_this.currentUrlTree, t.rawUrl);
|
|
4171
4265
|
_this.routerState = t.targetRouterState;
|
|
4172
4266
|
if (_this.urlUpdateStrategy === 'deferred') {
|
|
4173
4267
|
if (!t.extras.skipLocationChange) {
|
|
@@ -4175,40 +4269,50 @@
|
|
|
4175
4269
|
}
|
|
4176
4270
|
_this.browserUrlTree = t.urlAfterRedirects;
|
|
4177
4271
|
}
|
|
4178
|
-
}), activateRoutes(_this.rootContexts, _this.routeReuseStrategy, function (evt) { return _this.triggerEvent(evt); }), operators.tap({
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
4183
|
-
|
|
4272
|
+
}), activateRoutes(_this.rootContexts, _this.routeReuseStrategy, function (evt) { return _this.triggerEvent(evt); }), operators.tap({
|
|
4273
|
+
next: function () {
|
|
4274
|
+
completed = true;
|
|
4275
|
+
},
|
|
4276
|
+
complete: function () {
|
|
4277
|
+
completed = true;
|
|
4278
|
+
}
|
|
4279
|
+
}), operators.finalize(function () {
|
|
4280
|
+
/* When the navigation stream finishes either through error or success, we
|
|
4281
|
+
* set the `completed` or `errored` flag. However, there are some situations
|
|
4282
|
+
* where we could get here without either of those being set. For instance, a
|
|
4283
|
+
* redirect during NavigationStart. Therefore, this is a catch-all to make
|
|
4284
|
+
* sure the NavigationCancel
|
|
4285
|
+
* event is fired when a navigation gets cancelled but not caught by other
|
|
4286
|
+
* means. */
|
|
4184
4287
|
if (!completed && !errored) {
|
|
4185
|
-
// Must reset to current URL tree here to ensure history.state is set. On a
|
|
4186
|
-
// page load, if a new navigation comes in before a successful
|
|
4187
|
-
// completes, there will be nothing in
|
|
4188
|
-
//
|
|
4189
|
-
//
|
|
4190
|
-
// to the Angualr
|
|
4288
|
+
// Must reset to current URL tree here to ensure history.state is set. On a
|
|
4289
|
+
// fresh page load, if a new navigation comes in before a successful
|
|
4290
|
+
// navigation completes, there will be nothing in
|
|
4291
|
+
// history.state.navigationId. This can cause sync problems with AngularJS
|
|
4292
|
+
// sync code which looks for a value here in order to determine whether or
|
|
4293
|
+
// not to handle a given popstate event or to leave it to the Angualr
|
|
4294
|
+
// router.
|
|
4191
4295
|
_this.resetUrlToCurrentUrlTree();
|
|
4192
4296
|
var navCancel = new NavigationCancel(t.id, _this.serializeUrl(t.extractedUrl), "Navigation ID " + t.id + " is not equal to the current navigation id " + _this.navigationId);
|
|
4193
4297
|
eventsSubject.next(navCancel);
|
|
4194
4298
|
t.resolve(false);
|
|
4195
4299
|
}
|
|
4196
4300
|
// currentNavigation should always be reset to null here. If navigation was
|
|
4197
|
-
// successful, lastSuccessfulTransition will have already been set. Therefore
|
|
4198
|
-
// can safely set currentNavigation to null here.
|
|
4301
|
+
// successful, lastSuccessfulTransition will have already been set. Therefore
|
|
4302
|
+
// we can safely set currentNavigation to null here.
|
|
4199
4303
|
_this.currentNavigation = null;
|
|
4200
4304
|
}), operators.catchError(function (e) {
|
|
4201
4305
|
errored = true;
|
|
4202
|
-
/* This error type is issued during Redirect, and is handled as a
|
|
4203
|
-
* rather than an error. */
|
|
4306
|
+
/* This error type is issued during Redirect, and is handled as a
|
|
4307
|
+
* cancellation rather than an error. */
|
|
4204
4308
|
if (isNavigationCancelingError(e)) {
|
|
4205
4309
|
var redirecting = isUrlTree(e.url);
|
|
4206
4310
|
if (!redirecting) {
|
|
4207
4311
|
// Set property only if we're not redirecting. If we landed on a page and
|
|
4208
|
-
// redirect to `/` route, the new navigation is going to see the `/`
|
|
4209
|
-
// a change from the default currentUrlTree and won't navigate.
|
|
4210
|
-
// only applicable with initial navigation, so setting
|
|
4211
|
-
// not redirecting resolves this scenario.
|
|
4312
|
+
// redirect to `/` route, the new navigation is going to see the `/`
|
|
4313
|
+
// isn't a change from the default currentUrlTree and won't navigate.
|
|
4314
|
+
// This is only applicable with initial navigation, so setting
|
|
4315
|
+
// `navigated` only when not redirecting resolves this scenario.
|
|
4212
4316
|
_this.navigated = true;
|
|
4213
4317
|
_this.resetStateAndUrl(t.currentRouterState, t.currentUrlTree, t.rawUrl);
|
|
4214
4318
|
}
|
|
@@ -4233,8 +4337,8 @@
|
|
|
4233
4337
|
return _this.scheduleNavigation(mergedTree, 'imperative', null, extras, { resolve: t.resolve, reject: t.reject, promise: t.promise });
|
|
4234
4338
|
}, 0);
|
|
4235
4339
|
}
|
|
4236
|
-
/* All other errors should reset to the router's internal URL reference to
|
|
4237
|
-
* pre-error state. */
|
|
4340
|
+
/* All other errors should reset to the router's internal URL reference to
|
|
4341
|
+
* the pre-error state. */
|
|
4238
4342
|
}
|
|
4239
4343
|
else {
|
|
4240
4344
|
_this.resetStateAndUrl(t.currentRouterState, t.currentUrlTree, t.rawUrl);
|
|
@@ -4297,20 +4401,28 @@
|
|
|
4297
4401
|
// Navigations coming from Angular router have a navigationId state property. When this
|
|
4298
4402
|
// exists, restore the state.
|
|
4299
4403
|
var state = change.state && change.state.navigationId ? change.state : null;
|
|
4300
|
-
setTimeout(function () {
|
|
4404
|
+
setTimeout(function () {
|
|
4405
|
+
_this.scheduleNavigation(rawUrlTree, source, state, { replaceUrl: true });
|
|
4406
|
+
}, 0);
|
|
4301
4407
|
});
|
|
4302
4408
|
}
|
|
4303
4409
|
};
|
|
4304
4410
|
Object.defineProperty(Router.prototype, "url", {
|
|
4305
4411
|
/** The current URL. */
|
|
4306
|
-
get: function () {
|
|
4412
|
+
get: function () {
|
|
4413
|
+
return this.serializeUrl(this.currentUrlTree);
|
|
4414
|
+
},
|
|
4307
4415
|
enumerable: true,
|
|
4308
4416
|
configurable: true
|
|
4309
4417
|
});
|
|
4310
4418
|
/** The current Navigation object if one exists */
|
|
4311
|
-
Router.prototype.getCurrentNavigation = function () {
|
|
4419
|
+
Router.prototype.getCurrentNavigation = function () {
|
|
4420
|
+
return this.currentNavigation;
|
|
4421
|
+
};
|
|
4312
4422
|
/** @internal */
|
|
4313
|
-
Router.prototype.triggerEvent = function (event) {
|
|
4423
|
+
Router.prototype.triggerEvent = function (event) {
|
|
4424
|
+
this.events.next(event);
|
|
4425
|
+
};
|
|
4314
4426
|
/**
|
|
4315
4427
|
* Resets the configuration used for navigation and generating links.
|
|
4316
4428
|
*
|
|
@@ -4334,7 +4446,9 @@
|
|
|
4334
4446
|
this.lastSuccessfulId = -1;
|
|
4335
4447
|
};
|
|
4336
4448
|
/** @docsNotRequired */
|
|
4337
|
-
Router.prototype.ngOnDestroy = function () {
|
|
4449
|
+
Router.prototype.ngOnDestroy = function () {
|
|
4450
|
+
this.dispose();
|
|
4451
|
+
};
|
|
4338
4452
|
/** Disposes of the router. */
|
|
4339
4453
|
Router.prototype.dispose = function () {
|
|
4340
4454
|
if (this.locationSubscription) {
|
|
@@ -4479,7 +4593,9 @@
|
|
|
4479
4593
|
return this.navigateByUrl(this.createUrlTree(commands, extras), extras);
|
|
4480
4594
|
};
|
|
4481
4595
|
/** Serializes a `UrlTree` into a string */
|
|
4482
|
-
Router.prototype.serializeUrl = function (url) {
|
|
4596
|
+
Router.prototype.serializeUrl = function (url) {
|
|
4597
|
+
return this.urlSerializer.serialize(url);
|
|
4598
|
+
};
|
|
4483
4599
|
/** Parses a string into a `UrlTree` */
|
|
4484
4600
|
Router.prototype.parseUrl = function (url) {
|
|
4485
4601
|
var urlTree;
|
|
@@ -4518,7 +4634,9 @@
|
|
|
4518
4634
|
_this.lastSuccessfulNavigation = _this.currentNavigation;
|
|
4519
4635
|
_this.currentNavigation = null;
|
|
4520
4636
|
t.resolve(true);
|
|
4521
|
-
}, function (e) {
|
|
4637
|
+
}, function (e) {
|
|
4638
|
+
_this.console.warn("Unhandled Navigation Error: ");
|
|
4639
|
+
});
|
|
4522
4640
|
};
|
|
4523
4641
|
Router.prototype.scheduleNavigation = function (rawUrl, source, restoredState, extras, priorPromise) {
|
|
4524
4642
|
var lastNavigation = this.getTransition();
|
|
@@ -4563,13 +4681,20 @@
|
|
|
4563
4681
|
source: source,
|
|
4564
4682
|
restoredState: restoredState,
|
|
4565
4683
|
currentUrlTree: this.currentUrlTree,
|
|
4566
|
-
currentRawUrl: this.rawUrlTree,
|
|
4684
|
+
currentRawUrl: this.rawUrlTree,
|
|
4685
|
+
rawUrl: rawUrl,
|
|
4686
|
+
extras: extras,
|
|
4687
|
+
resolve: resolve,
|
|
4688
|
+
reject: reject,
|
|
4689
|
+
promise: promise,
|
|
4567
4690
|
currentSnapshot: this.routerState.snapshot,
|
|
4568
4691
|
currentRouterState: this.routerState
|
|
4569
4692
|
});
|
|
4570
4693
|
// Make sure that the error is propagated even though `processNavigations` catch
|
|
4571
4694
|
// handler does not rethrow
|
|
4572
|
-
return promise.catch(function (e) {
|
|
4695
|
+
return promise.catch(function (e) {
|
|
4696
|
+
return Promise.reject(e);
|
|
4697
|
+
});
|
|
4573
4698
|
};
|
|
4574
4699
|
Router.prototype.setBrowserUrl = function (url, replaceUrl, id, state) {
|
|
4575
4700
|
var path = this.urlSerializer.serialize(url);
|
|
@@ -4741,6 +4866,7 @@
|
|
|
4741
4866
|
var extras = {
|
|
4742
4867
|
skipLocationChange: attrBoolValue(this.skipLocationChange),
|
|
4743
4868
|
replaceUrl: attrBoolValue(this.replaceUrl),
|
|
4869
|
+
state: this.state,
|
|
4744
4870
|
};
|
|
4745
4871
|
this.router.navigateByUrl(this.urlTree, extras);
|
|
4746
4872
|
return true;
|
|
@@ -4856,8 +4982,12 @@
|
|
|
4856
4982
|
enumerable: true,
|
|
4857
4983
|
configurable: true
|
|
4858
4984
|
});
|
|
4859
|
-
RouterLinkWithHref.prototype.ngOnChanges = function (changes) {
|
|
4860
|
-
|
|
4985
|
+
RouterLinkWithHref.prototype.ngOnChanges = function (changes) {
|
|
4986
|
+
this.updateTargetUrlAndHref();
|
|
4987
|
+
};
|
|
4988
|
+
RouterLinkWithHref.prototype.ngOnDestroy = function () {
|
|
4989
|
+
this.subscription.unsubscribe();
|
|
4990
|
+
};
|
|
4861
4991
|
RouterLinkWithHref.prototype.onClick = function (button, ctrlKey, metaKey, shiftKey) {
|
|
4862
4992
|
if (button !== 0 || ctrlKey || metaKey || shiftKey) {
|
|
4863
4993
|
return true;
|
|
@@ -5048,8 +5178,12 @@
|
|
|
5048
5178
|
enumerable: true,
|
|
5049
5179
|
configurable: true
|
|
5050
5180
|
});
|
|
5051
|
-
RouterLinkActive.prototype.ngOnChanges = function (changes) {
|
|
5052
|
-
|
|
5181
|
+
RouterLinkActive.prototype.ngOnChanges = function (changes) {
|
|
5182
|
+
this.update();
|
|
5183
|
+
};
|
|
5184
|
+
RouterLinkActive.prototype.ngOnDestroy = function () {
|
|
5185
|
+
this.subscription.unsubscribe();
|
|
5186
|
+
};
|
|
5053
5187
|
RouterLinkActive.prototype.update = function () {
|
|
5054
5188
|
var _this = this;
|
|
5055
5189
|
if (!this.links || !this.linksWithHrefs || !this.router.navigated)
|
|
@@ -5170,7 +5304,9 @@
|
|
|
5170
5304
|
this.contexts = new Map();
|
|
5171
5305
|
return contexts;
|
|
5172
5306
|
};
|
|
5173
|
-
ChildrenOutletContexts.prototype.onOutletReAttached = function (contexts) {
|
|
5307
|
+
ChildrenOutletContexts.prototype.onOutletReAttached = function (contexts) {
|
|
5308
|
+
this.contexts = contexts;
|
|
5309
|
+
};
|
|
5174
5310
|
ChildrenOutletContexts.prototype.getOrCreateContext = function (childName) {
|
|
5175
5311
|
var context = this.getContext(childName);
|
|
5176
5312
|
if (!context) {
|
|
@@ -5179,7 +5315,9 @@
|
|
|
5179
5315
|
}
|
|
5180
5316
|
return context;
|
|
5181
5317
|
};
|
|
5182
|
-
ChildrenOutletContexts.prototype.getContext = function (childName) {
|
|
5318
|
+
ChildrenOutletContexts.prototype.getContext = function (childName) {
|
|
5319
|
+
return this.contexts.get(childName) || null;
|
|
5320
|
+
};
|
|
5183
5321
|
return ChildrenOutletContexts;
|
|
5184
5322
|
}());
|
|
5185
5323
|
|
|
@@ -5229,7 +5367,9 @@
|
|
|
5229
5367
|
this.name = name || PRIMARY_OUTLET;
|
|
5230
5368
|
parentContexts.onChildOutletCreated(this.name, this);
|
|
5231
5369
|
}
|
|
5232
|
-
RouterOutlet.prototype.ngOnDestroy = function () {
|
|
5370
|
+
RouterOutlet.prototype.ngOnDestroy = function () {
|
|
5371
|
+
this.parentContexts.onChildOutletDestroyed(this.name);
|
|
5372
|
+
};
|
|
5233
5373
|
RouterOutlet.prototype.ngOnInit = function () {
|
|
5234
5374
|
if (!this.activated) {
|
|
5235
5375
|
// If the outlet was not instantiated at the time the route got activated we need to populate
|
|
@@ -5248,7 +5388,9 @@
|
|
|
5248
5388
|
}
|
|
5249
5389
|
};
|
|
5250
5390
|
Object.defineProperty(RouterOutlet.prototype, "isActivated", {
|
|
5251
|
-
get: function () {
|
|
5391
|
+
get: function () {
|
|
5392
|
+
return !!this.activated;
|
|
5393
|
+
},
|
|
5252
5394
|
enumerable: true,
|
|
5253
5395
|
configurable: true
|
|
5254
5396
|
});
|
|
@@ -5361,12 +5503,12 @@
|
|
|
5361
5503
|
}());
|
|
5362
5504
|
|
|
5363
5505
|
/**
|
|
5364
|
-
|
|
5365
|
-
|
|
5366
|
-
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
|
|
5506
|
+
*@license
|
|
5507
|
+
*Copyright Google Inc. All Rights Reserved.
|
|
5508
|
+
*
|
|
5509
|
+
*Use of this source code is governed by an MIT-style license that can be
|
|
5510
|
+
*found in the LICENSE file at https://angular.io/license
|
|
5511
|
+
*/
|
|
5370
5512
|
/**
|
|
5371
5513
|
* @description
|
|
5372
5514
|
*
|
|
@@ -5410,7 +5552,9 @@
|
|
|
5410
5552
|
var NoPreloading = /** @class */ (function () {
|
|
5411
5553
|
function NoPreloading() {
|
|
5412
5554
|
}
|
|
5413
|
-
NoPreloading.prototype.preload = function (route, fn) {
|
|
5555
|
+
NoPreloading.prototype.preload = function (route, fn) {
|
|
5556
|
+
return rxjs.of(null);
|
|
5557
|
+
};
|
|
5414
5558
|
return NoPreloading;
|
|
5415
5559
|
}());
|
|
5416
5560
|
/**
|
|
@@ -5448,7 +5592,9 @@
|
|
|
5448
5592
|
// TODO(jasonaden): This class relies on code external to the class to call setUpPreloading. If
|
|
5449
5593
|
// this hasn't been done, ngOnDestroy will fail as this.subscription will be undefined. This
|
|
5450
5594
|
// should be refactored.
|
|
5451
|
-
RouterPreloader.prototype.ngOnDestroy = function () {
|
|
5595
|
+
RouterPreloader.prototype.ngOnDestroy = function () {
|
|
5596
|
+
this.subscription.unsubscribe();
|
|
5597
|
+
};
|
|
5452
5598
|
RouterPreloader.prototype.processRoutes = function (ngModule, routes) {
|
|
5453
5599
|
var e_1, _a;
|
|
5454
5600
|
var res = [];
|
|
@@ -5691,7 +5837,7 @@
|
|
|
5691
5837
|
* @param routes An array of `Route` objects that define the navigation paths for the application.
|
|
5692
5838
|
* @param config An `ExtraOptions` configuration object that controls how navigation is performed.
|
|
5693
5839
|
* @return The new router module.
|
|
5694
|
-
|
|
5840
|
+
*/
|
|
5695
5841
|
RouterModule.forRoot = function (routes, config) {
|
|
5696
5842
|
return {
|
|
5697
5843
|
ngModule: RouterModule_1,
|
|
@@ -5707,9 +5853,7 @@
|
|
|
5707
5853
|
{
|
|
5708
5854
|
provide: common.LocationStrategy,
|
|
5709
5855
|
useFactory: provideLocationStrategy,
|
|
5710
|
-
deps: [
|
|
5711
|
-
common.PlatformLocation, [new core.Inject(common.APP_BASE_HREF), new core.Optional()], ROUTER_CONFIGURATION
|
|
5712
|
-
]
|
|
5856
|
+
deps: [common.PlatformLocation, [new core.Inject(common.APP_BASE_HREF), new core.Optional()], ROUTER_CONFIGURATION]
|
|
5713
5857
|
},
|
|
5714
5858
|
{
|
|
5715
5859
|
provide: RouterScroller,
|
|
@@ -5948,7 +6092,7 @@
|
|
|
5948
6092
|
/**
|
|
5949
6093
|
* @publicApi
|
|
5950
6094
|
*/
|
|
5951
|
-
var VERSION = new core.Version('9.1.
|
|
6095
|
+
var VERSION = new core.Version('9.1.4');
|
|
5952
6096
|
|
|
5953
6097
|
/**
|
|
5954
6098
|
* @license
|