ember-source 3.24.0 → 3.24.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/CHANGELOG.md +19 -0
- package/build-metadata.json +3 -3
- package/dist/dependencies/@glimmer/runtime.js +16 -18
- package/dist/dependencies/router_js.js +102 -113
- package/dist/ember-template-compiler.js +125 -46
- package/dist/ember-template-compiler.map +1 -1
- package/dist/ember-testing.js +1 -1
- package/dist/ember-testing.map +1 -1
- package/dist/ember.debug.js +175 -156
- package/dist/ember.debug.map +1 -1
- package/dist/header/license.js +1 -1
- package/dist/packages/@ember/-internals/glimmer/index.js +6 -2
- package/dist/packages/@ember/-internals/routing/lib/services/routing.js +32 -8
- package/dist/packages/@ember/-internals/routing/lib/system/router.js +12 -1
- package/dist/packages/@ember/engine/index.js +1 -3
- package/dist/packages/ember/version.js +1 -1
- package/docs/data.json +35 -35
- package/lib/index.js +4 -1
- package/package.json +17 -14
package/dist/ember.debug.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Portions Copyright 2008-2011 Apple Inc. All rights reserved.
|
|
7
7
|
* @license Licensed under MIT license
|
|
8
8
|
* See https://raw.github.com/emberjs/ember.js/master/LICENSE
|
|
9
|
-
* @version 3.24.
|
|
9
|
+
* @version 3.24.4
|
|
10
10
|
*/
|
|
11
11
|
/*globals process */
|
|
12
12
|
var define, require, Ember; // Used in @ember/-internals/environment/lib/global.js
|
|
@@ -4355,7 +4355,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim
|
|
|
4355
4355
|
init() {
|
|
4356
4356
|
this._super(...arguments);
|
|
4357
4357
|
|
|
4358
|
-
|
|
4358
|
+
this.assertLinkToOrigin(); // Map desired event name to invoke function
|
|
4359
4359
|
|
|
4360
4360
|
var {
|
|
4361
4361
|
eventName
|
|
@@ -4377,7 +4377,7 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim
|
|
|
4377
4377
|
var {
|
|
4378
4378
|
route
|
|
4379
4379
|
} = this;
|
|
4380
|
-
return
|
|
4380
|
+
return route === UNDEFINED ? this._currentRoute : this._namespaceRoute(route);
|
|
4381
4381
|
}),
|
|
4382
4382
|
_models: (0, _metal.computed)('model', 'models', function computeLinkToComponentModels() {
|
|
4383
4383
|
var {
|
|
@@ -4467,6 +4467,10 @@ define("@ember/-internals/glimmer/index", ["exports", "@ember/polyfills", "@glim
|
|
|
4467
4467
|
return this._isActive(target);
|
|
4468
4468
|
}),
|
|
4469
4469
|
|
|
4470
|
+
assertLinkToOrigin() {
|
|
4471
|
+
(true && !(!this._isEngine || this._engineMountPoint !== undefined) && (0, _debug.assert)('You attempted to use the <LinkTo> component within a routeless engine, this is not supported. ' + 'If you are using the ember-engines addon, use the <LinkToExternal> component instead. ' + 'See https://ember-engines.com/docs/links for more info.', !this._isEngine || this._engineMountPoint !== undefined));
|
|
4472
|
+
},
|
|
4473
|
+
|
|
4470
4474
|
_isActive(routerState) {
|
|
4471
4475
|
if (this.loading) {
|
|
4472
4476
|
return false;
|
|
@@ -18468,7 +18472,7 @@ define("@ember/-internals/routing/lib/services/router", ["exports", "@ember/-int
|
|
|
18468
18472
|
currentRoute: (0, _computed.readOnly)('_router.currentRoute')
|
|
18469
18473
|
});
|
|
18470
18474
|
});
|
|
18471
|
-
define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/object/computed", "@ember/polyfills", "@ember/service"], function (_exports, _computed, _polyfills, _service) {
|
|
18475
|
+
define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/-internals/owner", "@ember/-internals/utils", "@ember/object/computed", "@ember/polyfills", "@ember/service"], function (_exports, _owner, _utils, _computed, _polyfills, _service) {
|
|
18472
18476
|
"use strict";
|
|
18473
18477
|
|
|
18474
18478
|
Object.defineProperty(_exports, "__esModule", {
|
|
@@ -18479,7 +18483,7 @@ define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/obj
|
|
|
18479
18483
|
/**
|
|
18480
18484
|
@module ember
|
|
18481
18485
|
*/
|
|
18482
|
-
|
|
18486
|
+
var ROUTER = (0, _utils.symbol)('ROUTER');
|
|
18483
18487
|
/**
|
|
18484
18488
|
The Routing service is used by LinkComponent, and provides facilities for
|
|
18485
18489
|
the component/view layer to interact with the router.
|
|
@@ -18490,7 +18494,21 @@ define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/obj
|
|
|
18490
18494
|
@private
|
|
18491
18495
|
@class RoutingService
|
|
18492
18496
|
*/
|
|
18497
|
+
|
|
18493
18498
|
class RoutingService extends _service.default {
|
|
18499
|
+
get router() {
|
|
18500
|
+
var router = this[ROUTER];
|
|
18501
|
+
|
|
18502
|
+
if (router !== undefined) {
|
|
18503
|
+
return router;
|
|
18504
|
+
}
|
|
18505
|
+
|
|
18506
|
+
var owner = (0, _owner.getOwner)(this);
|
|
18507
|
+
router = owner.lookup('router:main');
|
|
18508
|
+
router.setupRouter();
|
|
18509
|
+
return this[ROUTER] = router;
|
|
18510
|
+
}
|
|
18511
|
+
|
|
18494
18512
|
hasRoute(routeName) {
|
|
18495
18513
|
return this.router.hasRoute(routeName);
|
|
18496
18514
|
}
|
|
@@ -18509,13 +18527,7 @@ define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/obj
|
|
|
18509
18527
|
this.router._prepareQueryParams(routeName, models, queryParams);
|
|
18510
18528
|
}
|
|
18511
18529
|
|
|
18512
|
-
|
|
18513
|
-
var router = this.router; // return early when the router microlib is not present, which is the case for {{link-to}} in integration tests
|
|
18514
|
-
|
|
18515
|
-
if (!router._routerMicrolib) {
|
|
18516
|
-
return;
|
|
18517
|
-
}
|
|
18518
|
-
|
|
18530
|
+
_generateURL(routeName, models, queryParams) {
|
|
18519
18531
|
var visibleQueryParams = {};
|
|
18520
18532
|
|
|
18521
18533
|
if (queryParams) {
|
|
@@ -18523,11 +18535,25 @@ define("@ember/-internals/routing/lib/services/routing", ["exports", "@ember/obj
|
|
|
18523
18535
|
this.normalizeQueryParams(routeName, models, visibleQueryParams);
|
|
18524
18536
|
}
|
|
18525
18537
|
|
|
18526
|
-
return router.generate(routeName, ...models, {
|
|
18538
|
+
return this.router.generate(routeName, ...models, {
|
|
18527
18539
|
queryParams: visibleQueryParams
|
|
18528
18540
|
});
|
|
18529
18541
|
}
|
|
18530
18542
|
|
|
18543
|
+
generateURL(routeName, models, queryParams) {
|
|
18544
|
+
if (this.router._initialTransitionStarted) {
|
|
18545
|
+
return this._generateURL(routeName, models, queryParams);
|
|
18546
|
+
} else {
|
|
18547
|
+
// Swallow error when transition has not started.
|
|
18548
|
+
// When rendering in tests without visit(), we cannot infer the route context which <LinkTo/> needs be aware of
|
|
18549
|
+
try {
|
|
18550
|
+
return this._generateURL(routeName, models, queryParams);
|
|
18551
|
+
} catch (_e) {
|
|
18552
|
+
return;
|
|
18553
|
+
}
|
|
18554
|
+
}
|
|
18555
|
+
}
|
|
18556
|
+
|
|
18531
18557
|
isActiveForRoute(contexts, queryParams, routeName, routerState) {
|
|
18532
18558
|
var handlers = this.router._routerMicrolib.recognizer.handlersFor(routeName);
|
|
18533
18559
|
|
|
@@ -21598,6 +21624,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
21598
21624
|
constructor() {
|
|
21599
21625
|
super(...arguments);
|
|
21600
21626
|
this._didSetupRouter = false;
|
|
21627
|
+
this._initialTransitionStarted = false;
|
|
21601
21628
|
this.currentURL = null;
|
|
21602
21629
|
this.currentRouteName = null;
|
|
21603
21630
|
this.currentPath = null;
|
|
@@ -21726,7 +21753,13 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
21726
21753
|
}
|
|
21727
21754
|
|
|
21728
21755
|
routeWillChange(transition) {
|
|
21729
|
-
router.trigger('routeWillChange', transition);
|
|
21756
|
+
router.trigger('routeWillChange', transition); // in case of intermediate transition we update the current route
|
|
21757
|
+
// to make router.currentRoute.name consistent with router.currentRouteName
|
|
21758
|
+
// see https://github.com/emberjs/ember.js/issues/19449
|
|
21759
|
+
|
|
21760
|
+
if (transition.isIntermediate) {
|
|
21761
|
+
router.set('currentRoute', transition.to);
|
|
21762
|
+
}
|
|
21730
21763
|
}
|
|
21731
21764
|
|
|
21732
21765
|
routeDidChange(transition) {
|
|
@@ -21973,6 +22006,8 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
21973
22006
|
}
|
|
21974
22007
|
|
|
21975
22008
|
_doURLTransition(routerJsMethod, url) {
|
|
22009
|
+
this._initialTransitionStarted = true;
|
|
22010
|
+
|
|
21976
22011
|
var transition = this._routerMicrolib[routerJsMethod](url || '/');
|
|
21977
22012
|
|
|
21978
22013
|
didBeginTransition(transition, this);
|
|
@@ -22090,6 +22125,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
22090
22125
|
|
|
22091
22126
|
reset() {
|
|
22092
22127
|
this._didSetupRouter = false;
|
|
22128
|
+
this._initialTransitionStarted = false;
|
|
22093
22129
|
|
|
22094
22130
|
if (this._routerMicrolib) {
|
|
22095
22131
|
this._routerMicrolib.reset();
|
|
@@ -22299,6 +22335,7 @@ define("@ember/-internals/routing/lib/system/router", ["exports", "@ember/-inter
|
|
|
22299
22335
|
var targetRouteName = _targetRouteName || (0, _utils.getActiveTargetName)(this._routerMicrolib);
|
|
22300
22336
|
|
|
22301
22337
|
(true && !(Boolean(targetRouteName) && this._routerMicrolib.hasRoute(targetRouteName)) && (0, _debug.assert)(`The route ${targetRouteName} was not found`, Boolean(targetRouteName) && this._routerMicrolib.hasRoute(targetRouteName)));
|
|
22338
|
+
this._initialTransitionStarted = true;
|
|
22302
22339
|
var queryParams = {};
|
|
22303
22340
|
|
|
22304
22341
|
this._processActiveTransitionQueryParams(targetRouteName, models, queryParams, _queryParams);
|
|
@@ -36727,9 +36764,7 @@ define("@ember/engine/index", ["exports", "@ember/engine/lib/engine-parent", "@e
|
|
|
36727
36764
|
registry.injection('route', '_bucketCache', (0, _container.privatize)`-bucket-cache:main`);
|
|
36728
36765
|
registry.injection('route', '_router', 'router:main'); // Register the routing service...
|
|
36729
36766
|
|
|
36730
|
-
registry.register('service:-routing', _routing.RoutingService); //
|
|
36731
|
-
|
|
36732
|
-
registry.injection('service:-routing', 'router', 'router:main'); // DEBUGGING
|
|
36767
|
+
registry.register('service:-routing', _routing.RoutingService); // DEBUGGING
|
|
36733
36768
|
|
|
36734
36769
|
registry.register('resolver-for-debugging:main', registry.resolver, {
|
|
36735
36770
|
instantiate: false
|
|
@@ -49403,31 +49438,29 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/global-context
|
|
|
49403
49438
|
var attribute = vm.elements().setDynamicAttribute(name, value, !!trusting, namespace);
|
|
49404
49439
|
|
|
49405
49440
|
if (!(0, _reference.isConstRef)(reference)) {
|
|
49406
|
-
vm.updateWith(new UpdateDynamicAttributeOpcode(reference, attribute));
|
|
49441
|
+
vm.updateWith(new UpdateDynamicAttributeOpcode(reference, attribute, vm.env));
|
|
49407
49442
|
}
|
|
49408
49443
|
});
|
|
49409
49444
|
|
|
49410
49445
|
class UpdateDynamicAttributeOpcode extends UpdatingOpcode {
|
|
49411
|
-
constructor(reference, attribute) {
|
|
49446
|
+
constructor(reference, attribute, env) {
|
|
49412
49447
|
super();
|
|
49413
|
-
this.reference = reference;
|
|
49414
|
-
this.attribute = attribute;
|
|
49415
49448
|
this.type = 'patch-element';
|
|
49416
|
-
|
|
49417
|
-
|
|
49449
|
+
var initialized = false;
|
|
49450
|
+
this.updateRef = (0, _reference.createComputeRef)(() => {
|
|
49451
|
+
var value = (0, _reference.valueForRef)(reference);
|
|
49418
49452
|
|
|
49419
|
-
|
|
49420
|
-
|
|
49421
|
-
|
|
49422
|
-
|
|
49423
|
-
|
|
49424
|
-
}
|
|
49425
|
-
|
|
49453
|
+
if (initialized === true) {
|
|
49454
|
+
attribute.update(value, env);
|
|
49455
|
+
} else {
|
|
49456
|
+
initialized = true;
|
|
49457
|
+
}
|
|
49458
|
+
});
|
|
49459
|
+
(0, _reference.valueForRef)(this.updateRef);
|
|
49460
|
+
}
|
|
49426
49461
|
|
|
49427
|
-
|
|
49428
|
-
|
|
49429
|
-
this.lastValue = currentValue;
|
|
49430
|
-
}
|
|
49462
|
+
evaluate() {
|
|
49463
|
+
(0, _reference.valueForRef)(this.updateRef);
|
|
49431
49464
|
}
|
|
49432
49465
|
|
|
49433
49466
|
}
|
|
@@ -49883,7 +49916,7 @@ define("@glimmer/runtime", ["exports", "@glimmer/util", "@glimmer/global-context
|
|
|
49883
49916
|
var attribute = vm.elements().setDynamicAttribute(name, (0, _reference.valueForRef)(value), trusting, namespace);
|
|
49884
49917
|
|
|
49885
49918
|
if (!(0, _reference.isConstRef)(value)) {
|
|
49886
|
-
vm.updateWith(new UpdateDynamicAttributeOpcode(value, attribute));
|
|
49919
|
+
vm.updateWith(new UpdateDynamicAttributeOpcode(value, attribute, vm.env));
|
|
49887
49920
|
}
|
|
49888
49921
|
}
|
|
49889
49922
|
}
|
|
@@ -59685,7 +59718,7 @@ define("ember/version", ["exports"], function (_exports) {
|
|
|
59685
59718
|
value: true
|
|
59686
59719
|
});
|
|
59687
59720
|
_exports.default = void 0;
|
|
59688
|
-
var _default = "3.24.
|
|
59721
|
+
var _default = "3.24.4";
|
|
59689
59722
|
_exports.default = _default;
|
|
59690
59723
|
});
|
|
59691
59724
|
define("node-module/index", ["exports"], function (_exports) {
|
|
@@ -60623,24 +60656,26 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
60623
60656
|
_exports.logAbort = logAbort;
|
|
60624
60657
|
_exports.InternalRouteInfo = _exports.TransitionError = _exports.TransitionState = _exports.QUERY_PARAMS_SYMBOL = _exports.PARAMS_SYMBOL = _exports.STATE_SYMBOL = _exports.InternalTransition = _exports.default = void 0;
|
|
60625
60658
|
|
|
60626
|
-
|
|
60627
|
-
|
|
60628
|
-
|
|
60659
|
+
function buildTransitionAborted() {
|
|
60660
|
+
var error = new Error('TransitionAborted');
|
|
60661
|
+
error.name = 'TransitionAborted';
|
|
60662
|
+
error.code = 'TRANSITION_ABORTED';
|
|
60663
|
+
return error;
|
|
60664
|
+
}
|
|
60629
60665
|
|
|
60630
|
-
|
|
60631
|
-
|
|
60632
|
-
|
|
60633
|
-
this.message = message || 'TransitionAborted';
|
|
60666
|
+
function isTransitionAborted(maybeError) {
|
|
60667
|
+
return typeof maybeError === 'object' && maybeError !== null && maybeError.code === 'TRANSITION_ABORTED';
|
|
60668
|
+
}
|
|
60634
60669
|
|
|
60635
|
-
|
|
60636
|
-
|
|
60637
|
-
|
|
60638
|
-
this.stack = error.stack;
|
|
60639
|
-
}
|
|
60640
|
-
}
|
|
60670
|
+
function isAbortable(maybeAbortable) {
|
|
60671
|
+
return typeof maybeAbortable === 'object' && maybeAbortable !== null && typeof maybeAbortable.isAborted === 'boolean';
|
|
60672
|
+
}
|
|
60641
60673
|
|
|
60642
|
-
|
|
60643
|
-
|
|
60674
|
+
function throwIfAborted(maybe) {
|
|
60675
|
+
if (isAbortable(maybe) && maybe.isAborted) {
|
|
60676
|
+
throw buildTransitionAborted();
|
|
60677
|
+
}
|
|
60678
|
+
}
|
|
60644
60679
|
|
|
60645
60680
|
var slice = Array.prototype.slice;
|
|
60646
60681
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
@@ -60798,7 +60833,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
60798
60833
|
_exports.PARAMS_SYMBOL = PARAMS_SYMBOL;
|
|
60799
60834
|
var QUERY_PARAMS_SYMBOL = `__QPS__-2619863929824844-32323`;
|
|
60800
60835
|
/**
|
|
60801
|
-
A Transition is a
|
|
60836
|
+
A Transition is a thenable (a promise-like object) that represents
|
|
60802
60837
|
an attempt to transition to another route. It can be aborted, either
|
|
60803
60838
|
explicitly via `abort` or by attempting another transition while a
|
|
60804
60839
|
previous one is still underway. An aborted transition can also
|
|
@@ -60829,6 +60864,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
60829
60864
|
this.isCausedByInitialTransition = false;
|
|
60830
60865
|
this.isCausedByAbortingReplaceTransition = false;
|
|
60831
60866
|
this._visibleQueryParams = {};
|
|
60867
|
+
this.isIntermediate = false;
|
|
60832
60868
|
this[STATE_SYMBOL] = state || router.state;
|
|
60833
60869
|
this.intent = intent;
|
|
60834
60870
|
this.router = router;
|
|
@@ -60892,14 +60928,9 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
60892
60928
|
}
|
|
60893
60929
|
|
|
60894
60930
|
this.sequence = router.currentSequence++;
|
|
60895
|
-
this.promise = state.resolve((
|
|
60896
|
-
|
|
60897
|
-
|
|
60898
|
-
}
|
|
60899
|
-
|
|
60900
|
-
return _rsvp.Promise.resolve(true);
|
|
60901
|
-
}, this).catch(result => {
|
|
60902
|
-
return _rsvp.Promise.reject(this.router.transitionDidError(result, this));
|
|
60931
|
+
this.promise = state.resolve(this).catch(result => {
|
|
60932
|
+
var error = this.router.transitionDidError(result, this);
|
|
60933
|
+
throw error;
|
|
60903
60934
|
}, promiseLabel('Handle Abort'));
|
|
60904
60935
|
} else {
|
|
60905
60936
|
this.promise = _rsvp.Promise.resolve(this[STATE_SYMBOL]);
|
|
@@ -60933,7 +60964,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
60933
60964
|
A standard promise hook that resolves if the transition
|
|
60934
60965
|
succeeds and rejects if it fails/redirects/aborts.
|
|
60935
60966
|
Forwards to the internal `promise` property which you can
|
|
60936
|
-
use in situations where you want to pass around a
|
|
60967
|
+
use in situations where you want to pass around a thenable,
|
|
60937
60968
|
but not the Transition itself.
|
|
60938
60969
|
@method then
|
|
60939
60970
|
@param {Function} onFulfilled
|
|
@@ -60966,7 +60997,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
60966
60997
|
}
|
|
60967
60998
|
/**
|
|
60968
60999
|
Forwards to the internal `promise` property which you can
|
|
60969
|
-
use in situations where you want to pass around a
|
|
61000
|
+
use in situations where you want to pass around a thenable,
|
|
60970
61001
|
but not the Transition itself.
|
|
60971
61002
|
@method finally
|
|
60972
61003
|
@param {Function} callback
|
|
@@ -61151,7 +61182,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61151
61182
|
|
|
61152
61183
|
function logAbort(transition) {
|
|
61153
61184
|
log(transition.router, transition.sequence, 'detected abort.');
|
|
61154
|
-
return
|
|
61185
|
+
return buildTransitionAborted();
|
|
61155
61186
|
}
|
|
61156
61187
|
|
|
61157
61188
|
function isTransition(obj) {
|
|
@@ -61324,8 +61355,14 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61324
61355
|
return this.params || {};
|
|
61325
61356
|
}
|
|
61326
61357
|
|
|
61327
|
-
resolve(
|
|
61328
|
-
return _rsvp.Promise.resolve(this.routePromise).then(route =>
|
|
61358
|
+
resolve(transition) {
|
|
61359
|
+
return _rsvp.Promise.resolve(this.routePromise).then(route => {
|
|
61360
|
+
throwIfAborted(transition);
|
|
61361
|
+
return route;
|
|
61362
|
+
}).then(() => this.runBeforeModelHook(transition)).then(() => throwIfAborted(transition)).then(() => this.getModel(transition)).then(resolvedModel => {
|
|
61363
|
+
throwIfAborted(transition);
|
|
61364
|
+
return resolvedModel;
|
|
61365
|
+
}).then(resolvedModel => this.runAfterModelHook(transition, resolvedModel)).then(resolvedModel => this.becomeResolved(transition, resolvedModel));
|
|
61329
61366
|
}
|
|
61330
61367
|
|
|
61331
61368
|
becomeResolved(transition, resolvedContext) {
|
|
@@ -61354,7 +61391,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61354
61391
|
return resolved;
|
|
61355
61392
|
}
|
|
61356
61393
|
|
|
61357
|
-
|
|
61394
|
+
shouldSupersede(routeInfo) {
|
|
61358
61395
|
// Prefer this newer routeInfo over `other` if:
|
|
61359
61396
|
// 1) The other one doesn't exist
|
|
61360
61397
|
// 2) The names don't match
|
|
@@ -61450,14 +61487,6 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61450
61487
|
});
|
|
61451
61488
|
}
|
|
61452
61489
|
|
|
61453
|
-
checkForAbort(shouldContinue, value) {
|
|
61454
|
-
return _rsvp.Promise.resolve(shouldContinue()).then(function () {
|
|
61455
|
-
// We don't care about shouldContinue's resolve value;
|
|
61456
|
-
// pass along the original value passed to this fn.
|
|
61457
|
-
return value;
|
|
61458
|
-
}, null);
|
|
61459
|
-
}
|
|
61460
|
-
|
|
61461
61490
|
stashResolvedModel(transition, resolvedModel) {
|
|
61462
61491
|
transition.resolvedModels = transition.resolvedModels || {};
|
|
61463
61492
|
transition.resolvedModels[this.name] = resolvedModel;
|
|
@@ -61498,7 +61527,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61498
61527
|
this.context = context;
|
|
61499
61528
|
}
|
|
61500
61529
|
|
|
61501
|
-
resolve(
|
|
61530
|
+
resolve(transition) {
|
|
61502
61531
|
// A ResolvedRouteInfo just resolved with itself.
|
|
61503
61532
|
if (transition && transition.resolvedModels) {
|
|
61504
61533
|
transition.resolvedModels[this.name] = this.context;
|
|
@@ -61641,6 +61670,54 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61641
61670
|
|
|
61642
61671
|
}
|
|
61643
61672
|
|
|
61673
|
+
function handleError(currentState, transition, error) {
|
|
61674
|
+
// This is the only possible
|
|
61675
|
+
// reject value of TransitionState#resolve
|
|
61676
|
+
var routeInfos = currentState.routeInfos;
|
|
61677
|
+
var errorHandlerIndex = transition.resolveIndex >= routeInfos.length ? routeInfos.length - 1 : transition.resolveIndex;
|
|
61678
|
+
var wasAborted = transition.isAborted;
|
|
61679
|
+
throw new TransitionError(error, currentState.routeInfos[errorHandlerIndex].route, wasAborted, currentState);
|
|
61680
|
+
}
|
|
61681
|
+
|
|
61682
|
+
function resolveOneRouteInfo(currentState, transition) {
|
|
61683
|
+
if (transition.resolveIndex === currentState.routeInfos.length) {
|
|
61684
|
+
// This is is the only possible
|
|
61685
|
+
// fulfill value of TransitionState#resolve
|
|
61686
|
+
return;
|
|
61687
|
+
}
|
|
61688
|
+
|
|
61689
|
+
var routeInfo = currentState.routeInfos[transition.resolveIndex];
|
|
61690
|
+
return routeInfo.resolve(transition).then(proceed.bind(null, currentState, transition), null, currentState.promiseLabel('Proceed'));
|
|
61691
|
+
}
|
|
61692
|
+
|
|
61693
|
+
function proceed(currentState, transition, resolvedRouteInfo) {
|
|
61694
|
+
var wasAlreadyResolved = currentState.routeInfos[transition.resolveIndex].isResolved; // Swap the previously unresolved routeInfo with
|
|
61695
|
+
// the resolved routeInfo
|
|
61696
|
+
|
|
61697
|
+
currentState.routeInfos[transition.resolveIndex++] = resolvedRouteInfo;
|
|
61698
|
+
|
|
61699
|
+
if (!wasAlreadyResolved) {
|
|
61700
|
+
// Call the redirect hook. The reason we call it here
|
|
61701
|
+
// vs. afterModel is so that redirects into child
|
|
61702
|
+
// routes don't re-run the model hooks for this
|
|
61703
|
+
// already-resolved route.
|
|
61704
|
+
var {
|
|
61705
|
+
route
|
|
61706
|
+
} = resolvedRouteInfo;
|
|
61707
|
+
|
|
61708
|
+
if (route !== undefined) {
|
|
61709
|
+
if (route.redirect) {
|
|
61710
|
+
route.redirect(resolvedRouteInfo.context, transition);
|
|
61711
|
+
}
|
|
61712
|
+
}
|
|
61713
|
+
} // Proceed after ensuring that the redirect hook
|
|
61714
|
+
// didn't abort this transition by transitioning elsewhere.
|
|
61715
|
+
|
|
61716
|
+
|
|
61717
|
+
throwIfAborted(transition);
|
|
61718
|
+
return resolveOneRouteInfo(currentState, transition);
|
|
61719
|
+
}
|
|
61720
|
+
|
|
61644
61721
|
class TransitionState {
|
|
61645
61722
|
constructor() {
|
|
61646
61723
|
this.routeInfos = [];
|
|
@@ -61661,7 +61738,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61661
61738
|
return promiseLabel("'" + targetName + "': " + label);
|
|
61662
61739
|
}
|
|
61663
61740
|
|
|
61664
|
-
resolve(
|
|
61741
|
+
resolve(transition) {
|
|
61665
61742
|
// First, calculate params for this state. This is useful
|
|
61666
61743
|
// information to provide to the various route hooks.
|
|
61667
61744
|
var params = this.params;
|
|
@@ -61669,67 +61746,9 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61669
61746
|
params[routeInfo.name] = routeInfo.params || {};
|
|
61670
61747
|
return true;
|
|
61671
61748
|
});
|
|
61672
|
-
transition.resolveIndex = 0;
|
|
61673
|
-
var currentState = this;
|
|
61674
|
-
var wasAborted = false; // The prelude RSVP.resolve() asyncs us into the promise land.
|
|
61675
|
-
|
|
61676
|
-
return _rsvp.Promise.resolve(null, this.promiseLabel('Start transition')).then(resolveOneRouteInfo, null, this.promiseLabel('Resolve route')).catch(handleError, this.promiseLabel('Handle error'));
|
|
61677
|
-
|
|
61678
|
-
function innerShouldContinue() {
|
|
61679
|
-
return _rsvp.Promise.resolve(shouldContinue(), currentState.promiseLabel('Check if should continue')).catch(function (reason) {
|
|
61680
|
-
// We distinguish between errors that occurred
|
|
61681
|
-
// during resolution (e.g. before"Model/model/afterModel),
|
|
61682
|
-
// and aborts due to a rejecting promise from shouldContinue().
|
|
61683
|
-
wasAborted = true;
|
|
61684
|
-
return _rsvp.Promise.reject(reason);
|
|
61685
|
-
}, currentState.promiseLabel('Handle abort'));
|
|
61686
|
-
}
|
|
61687
|
-
|
|
61688
|
-
function handleError(error) {
|
|
61689
|
-
// This is the only possible
|
|
61690
|
-
// reject value of TransitionState#resolve
|
|
61691
|
-
var routeInfos = currentState.routeInfos;
|
|
61692
|
-
var errorHandlerIndex = transition.resolveIndex >= routeInfos.length ? routeInfos.length - 1 : transition.resolveIndex;
|
|
61693
|
-
return _rsvp.Promise.reject(new TransitionError(error, currentState.routeInfos[errorHandlerIndex].route, wasAborted, currentState));
|
|
61694
|
-
}
|
|
61695
|
-
|
|
61696
|
-
function proceed(resolvedRouteInfo) {
|
|
61697
|
-
var wasAlreadyResolved = currentState.routeInfos[transition.resolveIndex].isResolved; // Swap the previously unresolved routeInfo with
|
|
61698
|
-
// the resolved routeInfo
|
|
61699
|
-
|
|
61700
|
-
currentState.routeInfos[transition.resolveIndex++] = resolvedRouteInfo;
|
|
61701
|
-
|
|
61702
|
-
if (!wasAlreadyResolved) {
|
|
61703
|
-
// Call the redirect hook. The reason we call it here
|
|
61704
|
-
// vs. afterModel is so that redirects into child
|
|
61705
|
-
// routes don't re-run the model hooks for this
|
|
61706
|
-
// already-resolved route.
|
|
61707
|
-
var {
|
|
61708
|
-
route
|
|
61709
|
-
} = resolvedRouteInfo;
|
|
61710
|
-
|
|
61711
|
-
if (route !== undefined) {
|
|
61712
|
-
if (route.redirect) {
|
|
61713
|
-
route.redirect(resolvedRouteInfo.context, transition);
|
|
61714
|
-
}
|
|
61715
|
-
}
|
|
61716
|
-
} // Proceed after ensuring that the redirect hook
|
|
61717
|
-
// didn't abort this transition by transitioning elsewhere.
|
|
61718
|
-
|
|
61719
|
-
|
|
61720
|
-
return innerShouldContinue().then(resolveOneRouteInfo, null, currentState.promiseLabel('Resolve route'));
|
|
61721
|
-
}
|
|
61749
|
+
transition.resolveIndex = 0; // The prelude RSVP.resolve() async moves us into the promise land.
|
|
61722
61750
|
|
|
61723
|
-
|
|
61724
|
-
if (transition.resolveIndex === currentState.routeInfos.length) {
|
|
61725
|
-
// This is is the only possible
|
|
61726
|
-
// fulfill value of TransitionState#resolve
|
|
61727
|
-
return currentState;
|
|
61728
|
-
}
|
|
61729
|
-
|
|
61730
|
-
var routeInfo = currentState.routeInfos[transition.resolveIndex];
|
|
61731
|
-
return routeInfo.resolve(innerShouldContinue, transition).then(proceed, null, currentState.promiseLabel('Proceed'));
|
|
61732
|
-
}
|
|
61751
|
+
return _rsvp.Promise.resolve(null, this.promiseLabel('Start transition')).then(resolveOneRouteInfo.bind(null, this, transition), null, this.promiseLabel('Resolve route')).catch(handleError.bind(null, this, transition), this.promiseLabel('Handle error')).then(() => this);
|
|
61733
61752
|
}
|
|
61734
61753
|
|
|
61735
61754
|
}
|
|
@@ -61821,7 +61840,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61821
61840
|
|
|
61822
61841
|
var handlerToUse = oldHandlerInfo;
|
|
61823
61842
|
|
|
61824
|
-
if (i >= invalidateIndex || newHandlerInfo.
|
|
61843
|
+
if (i >= invalidateIndex || newHandlerInfo.shouldSupersede(oldHandlerInfo)) {
|
|
61825
61844
|
invalidateIndex = Math.min(i, invalidateIndex);
|
|
61826
61845
|
handlerToUse = newHandlerInfo;
|
|
61827
61846
|
}
|
|
@@ -61842,6 +61861,11 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61842
61861
|
}
|
|
61843
61862
|
|
|
61844
61863
|
merge(newState.queryParams, this.queryParams || {});
|
|
61864
|
+
|
|
61865
|
+
if (isIntermediate && oldState.queryParams) {
|
|
61866
|
+
merge(newState.queryParams, oldState.queryParams);
|
|
61867
|
+
}
|
|
61868
|
+
|
|
61845
61869
|
return newState;
|
|
61846
61870
|
}
|
|
61847
61871
|
|
|
@@ -61994,14 +62018,14 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
61994
62018
|
if (route) {
|
|
61995
62019
|
checkHandlerAccessibility(route);
|
|
61996
62020
|
} else {
|
|
61997
|
-
// If the
|
|
62021
|
+
// If the handler is being loaded asynchronously, check if we can
|
|
61998
62022
|
// access it after it has resolved
|
|
61999
62023
|
newRouteInfo.routePromise = newRouteInfo.routePromise.then(checkHandlerAccessibility);
|
|
62000
62024
|
}
|
|
62001
62025
|
|
|
62002
62026
|
var oldRouteInfo = oldState.routeInfos[i];
|
|
62003
62027
|
|
|
62004
|
-
if (statesDiffer || newRouteInfo.
|
|
62028
|
+
if (statesDiffer || newRouteInfo.shouldSupersede(oldRouteInfo)) {
|
|
62005
62029
|
statesDiffer = true;
|
|
62006
62030
|
newState.routeInfos[i] = newRouteInfo;
|
|
62007
62031
|
} else {
|
|
@@ -62039,13 +62063,13 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
62039
62063
|
|
|
62040
62064
|
map(callback) {
|
|
62041
62065
|
this.recognizer.map(callback, function (recognizer, routes) {
|
|
62042
|
-
for (var i = routes.length - 1,
|
|
62066
|
+
for (var i = routes.length - 1, _proceed = true; i >= 0 && _proceed; --i) {
|
|
62043
62067
|
var route = routes[i];
|
|
62044
62068
|
var handler = route.handler;
|
|
62045
62069
|
recognizer.add(routes, {
|
|
62046
62070
|
as: handler
|
|
62047
62071
|
});
|
|
62048
|
-
|
|
62072
|
+
_proceed = route.path === '/' || route.path === '' || handler.slice(-6) === '.index';
|
|
62049
62073
|
}
|
|
62050
62074
|
});
|
|
62051
62075
|
}
|
|
@@ -62154,6 +62178,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
62154
62178
|
|
|
62155
62179
|
if (isIntermediate) {
|
|
62156
62180
|
var transition = new Transition(this, undefined, newState);
|
|
62181
|
+
transition.isIntermediate = true;
|
|
62157
62182
|
this.toReadOnlyInfos(transition, newState);
|
|
62158
62183
|
this.setupContexts(newState, transition);
|
|
62159
62184
|
this.routeWillChange(transition);
|
|
@@ -62260,7 +62285,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
62260
62285
|
|
|
62261
62286
|
return routeInfos[routeInfos.length - 1].route;
|
|
62262
62287
|
} catch (e) {
|
|
62263
|
-
if (!(e
|
|
62288
|
+
if (!isTransitionAborted(e)) {
|
|
62264
62289
|
var infos = transition[STATE_SYMBOL].routeInfos;
|
|
62265
62290
|
transition.trigger(true, 'error', e, transition, infos[infos.length - 1].route);
|
|
62266
62291
|
transition.abort();
|
|
@@ -62390,10 +62415,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
62390
62415
|
}
|
|
62391
62416
|
}
|
|
62392
62417
|
|
|
62393
|
-
|
|
62394
|
-
throw new TransitionAbortedError();
|
|
62395
|
-
}
|
|
62396
|
-
|
|
62418
|
+
throwIfAborted(transition);
|
|
62397
62419
|
route.context = context;
|
|
62398
62420
|
|
|
62399
62421
|
if (route.contextDidChange !== undefined) {
|
|
@@ -62404,10 +62426,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
62404
62426
|
route.setup(context, transition);
|
|
62405
62427
|
}
|
|
62406
62428
|
|
|
62407
|
-
|
|
62408
|
-
throw new TransitionAbortedError();
|
|
62409
|
-
}
|
|
62410
|
-
|
|
62429
|
+
throwIfAborted(transition);
|
|
62411
62430
|
currentRouteInfos.push(routeInfo);
|
|
62412
62431
|
return route;
|
|
62413
62432
|
} // If the route doesn't exist, it means we haven't resolved the route promise yet
|
|
@@ -62537,7 +62556,7 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
62537
62556
|
// button
|
|
62538
62557
|
|
|
62539
62558
|
var initial = transition.isCausedByInitialTransition; // say you are at / and you click a link to route /foo. In /foo's
|
|
62540
|
-
// route, the transition is aborted using
|
|
62559
|
+
// route, the transition is aborted using replaceWith('/bar').
|
|
62541
62560
|
// Because the current url is still /, the history entry for / is
|
|
62542
62561
|
// removed from the history. Clicking back will take you to the page
|
|
62543
62562
|
// you were on before /, which is often not even the app, thus killing
|
|
@@ -62789,10 +62808,10 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
62789
62808
|
}
|
|
62790
62809
|
|
|
62791
62810
|
var targetHandler = targetRouteInfos[targetRouteInfos.length - 1].name;
|
|
62792
|
-
var
|
|
62811
|
+
var recognizerHandlers = this.recognizer.handlersFor(targetHandler);
|
|
62793
62812
|
var index = 0;
|
|
62794
62813
|
|
|
62795
|
-
for (len =
|
|
62814
|
+
for (len = recognizerHandlers.length; index < len; ++index) {
|
|
62796
62815
|
routeInfo = targetRouteInfos[index];
|
|
62797
62816
|
|
|
62798
62817
|
if (routeInfo.name === routeName) {
|
|
@@ -62800,16 +62819,16 @@ define("router_js", ["exports", "@ember/polyfills", "rsvp", "route-recognizer"],
|
|
|
62800
62819
|
}
|
|
62801
62820
|
}
|
|
62802
62821
|
|
|
62803
|
-
if (index ===
|
|
62822
|
+
if (index === recognizerHandlers.length) {
|
|
62804
62823
|
// The provided route name isn't even in the route hierarchy.
|
|
62805
62824
|
return false;
|
|
62806
62825
|
}
|
|
62807
62826
|
|
|
62808
62827
|
var testState = new TransitionState();
|
|
62809
62828
|
testState.routeInfos = targetRouteInfos.slice(0, index + 1);
|
|
62810
|
-
|
|
62829
|
+
recognizerHandlers = recognizerHandlers.slice(0, index + 1);
|
|
62811
62830
|
var intent = new NamedTransitionIntent(this, targetHandler, undefined, contexts);
|
|
62812
|
-
var newState = intent.applyToHandlers(testState,
|
|
62831
|
+
var newState = intent.applyToHandlers(testState, recognizerHandlers, targetHandler, true, true);
|
|
62813
62832
|
var routesEqual = routeInfosEqual(newState.routeInfos, testState.routeInfos);
|
|
62814
62833
|
|
|
62815
62834
|
if (!queryParams || !routesEqual) {
|