Skip to content

Commit cdf1fa2

Browse files
authored
Merge pull request #830 from ember-learn/transitionTo
Switch away from deprecated `Route.transitionTo`
2 parents 99f04d8 + 5546389 commit cdf1fa2

12 files changed

+75
-36
lines changed

app/mixins/hash-redirect.js

-11
This file was deleted.

app/routes/class.js

+7-3
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import { inject as service } from '@ember/service';
22
import Route from '@ember/routing/route';
33

44
export default class ClassRoute extends Route {
5+
/** @type {import('@ember/routing/router-service').default} */
6+
@service
7+
router;
8+
59
@service
610
legacyModuleMappings;
711

@@ -29,14 +33,14 @@ export default class ClassRoute extends Route {
2933
if (!mappedInfo.error && model.className !== mappedInfo.newName) {
3034
let { itemType, newName, newModule } = mappedInfo;
3135
if (itemType === 'class') {
32-
return this.transitionTo(
36+
return this.router.transitionTo(
3337
`project-version.classes.class`,
3438
'ember',
3539
'release',
3640
newName
3741
);
3842
} else {
39-
return this.transitionTo(
43+
return this.router.transitionTo(
4044
`project-version.functions.function`,
4145
'ember',
4246
'release',
@@ -45,6 +49,6 @@ export default class ClassRoute extends Route {
4549
);
4650
}
4751
}
48-
return this.transitionTo('project-version', 'ember', 'release');
52+
return this.router.transitionTo('project-version', 'ember', 'release');
4953
}
5054
}

app/routes/data-class.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import { inject as service } from '@ember/service';
22
import Route from '@ember/routing/route';
33

44
export default class DataClassRoute extends Route {
5+
/** @type {import('@ember/routing/router-service').default} */
6+
@service
7+
router;
8+
59
@service
610
legacyModuleMappings;
711

@@ -30,14 +34,14 @@ export default class DataClassRoute extends Route {
3034
newName = newName.substr(3);
3135
}
3236
if (!mappingInfo.error) {
33-
return this.transitionTo(
37+
return this.router.transitionTo(
3438
`project-version.classes.class`,
3539
'ember-data',
3640
'release',
3741
newName
3842
);
3943
} else {
40-
return this.transitionTo('project-version', 'ember', 'release');
44+
return this.router.transitionTo('project-version', 'ember', 'release');
4145
}
4246
}
4347
}

app/routes/data-module.js

+10-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import { inject as service } from '@ember/service';
22
import Route from '@ember/routing/route';
33

44
export default class DataModuleRoute extends Route {
5+
/** @type {import('@ember/routing/router-service').default} */
6+
@service
7+
router;
8+
59
@service
610
legacyModuleMappings;
711

@@ -27,9 +31,13 @@ export default class DataModuleRoute extends Route {
2731
mappings
2832
);
2933
if (mappingInfo.module === '@ember-data') {
30-
return this.transitionTo(`project-version`, 'ember-data', 'release');
34+
return this.router.transitionTo(
35+
`project-version`,
36+
'ember-data',
37+
'release'
38+
);
3139
} else {
32-
return this.transitionTo(
40+
return this.router.transitionTo(
3341
`project-version.modules.module`,
3442
'ember-data',
3543
'release',

app/routes/index.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
import Route from '@ember/routing/route';
2+
import { inject as service } from '@ember/service';
23

34
export default class IndexRoute extends Route {
5+
/** @type {import('@ember/routing/router-service').default} */
6+
@service
7+
router;
8+
49
redirect() {
5-
return this.transitionTo('project', 'ember');
10+
return this.router.transitionTo('project', 'ember');
611
}
712
}

app/routes/module.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@ import { inject as service } from '@ember/service';
22
import Route from '@ember/routing/route';
33

44
export default class ModuleRoute extends Route {
5+
/** @type {import('@ember/routing/router-service').default} */
6+
@service
7+
router;
8+
59
@service
610
legacyModuleMappings;
711

@@ -23,13 +27,13 @@ export default class ModuleRoute extends Route {
2327
model.mappings
2428
);
2529
if (!mappingInfo.error && model.moduleName !== mappingInfo.module) {
26-
return this.transitionTo(
30+
return this.router.transitionTo(
2731
`project-version.modules.module`,
2832
'ember',
2933
'release',
3034
mappingInfo.module
3135
);
3236
}
33-
return this.transitionTo('project-version', 'ember', 'release');
37+
return this.router.transitionTo('project-version', 'ember', 'release');
3438
}
3539
}

app/routes/project-version.js

+8-5
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export default class ProjectVersionRoute extends Route {
1717
@service
1818
metaStore;
1919

20+
/** @type {import('@ember/routing/router-service').default} */
2021
@service
2122
router;
2223

@@ -83,7 +84,7 @@ export default class ProjectVersionRoute extends Route {
8384
model.get('project.id') === 'ember-data' &&
8485
modules.indexOf('ember-data-overview') !== -1
8586
) {
86-
return this.transitionTo(
87+
return this.router.transitionTo(
8788
'project-version.modules.module',
8889
model.get('project.id'),
8990
transitionVersion,
@@ -92,14 +93,14 @@ export default class ProjectVersionRoute extends Route {
9293
}
9394

9495
// ember / ember-cli / ember-data if no @main declaration exists for ember-data-overview
95-
return this.transitionTo('project-version.index');
96+
return this.router.transitionTo('project-version.index');
9697
} else {
9798
// else go to the version specified
9899
let moduleRevs = this.metaStore.getEncodedModulesFromProjectRev(
99100
model.get('id')
100101
);
101102
let module = this.getFirstModule(moduleRevs);
102-
return this.transitionTo(
103+
return this.router.transitionTo(
103104
'project-version.modules.module',
104105
model.get('project.id'),
105106
transitionVersion,
@@ -218,9 +219,11 @@ export default class ProjectVersionRoute extends Route {
218219
);
219220
let isEmberProject = project === 'ember';
220221
if (!isEmberProject || !shouldConvertPackages) {
221-
this.transitionTo(`/${project}/${projectVersionID}/${endingRoute}`);
222+
this.router.transitionTo(
223+
`/${project}/${projectVersionID}/${endingRoute}`
224+
);
222225
} else {
223-
this.transitionTo(`/${project}/${projectVersionID}`);
226+
this.router.transitionTo(`/${project}/${projectVersionID}`);
224227
}
225228
}
226229

app/routes/project-version/classes/class.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ import getFullVersion from 'ember-api-docs/utils/get-full-version';
88
import createExcerpt from 'ember-api-docs/utils/create-excerpt';
99

1010
export default class ClassRoute extends Route.extend(ScrollTracker) {
11+
/** @type {import('@ember/routing/router-service').default} */
12+
@service
13+
router;
14+
1115
@service
1216
headData;
1317

@@ -67,7 +71,7 @@ export default class ClassRoute extends Route.extend(ScrollTracker) {
6771

6872
if (queryParams.anchor && queryParams.type) {
6973
let type = queryParams.type;
70-
this.transitionTo(
74+
this.router.transitionTo(
7175
`project-version.classes.class.${pluralize(type)}.${type}`,
7276
lookupParams('project-version').project,
7377
lookupParams('project-version').project_version,
@@ -77,7 +81,7 @@ export default class ClassRoute extends Route.extend(ScrollTracker) {
7781
}
7882

7983
if (model.isError) {
80-
this.transitionTo('404');
84+
this.router.transitionTo('404');
8185
}
8286
}
8387

app/routes/project.js

+11-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,12 @@
11
import Route from '@ember/routing/route';
22
import ScrollTracker from 'ember-api-docs/mixins/scroll-tracker';
3+
import { inject as service } from '@ember/service';
34

45
export default class ProjectRoute extends Route.extend(ScrollTracker) {
6+
/** @type {import('@ember/routing/router-service').default} */
7+
@service
8+
router;
9+
510
model({ project: projectName }) {
611
let projectNameToLookUp = 'ember';
712

@@ -11,7 +16,7 @@ export default class ProjectRoute extends Route.extend(ScrollTracker) {
1116
}
1217

1318
if (projectName.indexOf('cli') !== -1) {
14-
return this.transitionTo('ember-cli');
19+
return this.router.transitionTo('ember-cli');
1520
}
1621

1722
return this.store.findRecord('project', projectNameToLookUp, {
@@ -21,6 +26,10 @@ export default class ProjectRoute extends Route.extend(ScrollTracker) {
2126

2227
// Using redirect instead of afterModel so transition succeeds and returns 307 in fastboot
2328
redirect(project /*, transition */) {
24-
return this.transitionTo('project-version', project.get('id'), 'release');
29+
return this.router.transitionTo(
30+
'project-version',
31+
project.get('id'),
32+
'release'
33+
);
2534
}
2635
}

tests/acceptance/convert-legacy-url-to-current-test.js

+13-4
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ module('Acceptance | convert legacy url to current', function (hooks) {
77

88
test('should convert url for legacy Ember class', async function (assert) {
99
await visit('/classes/Ember.Application.html');
10-
assert.equal(currentURL(), '/ember/release/classes/Application');
10+
assert.equal(
11+
currentURL(),
12+
'/ember/release/classes/Application?show=inherited'
13+
);
1114
});
1215

1316
test('should convert url for legacy Ember class to function', async function (assert) {
@@ -20,19 +23,25 @@ module('Acceptance | convert legacy url to current', function (hooks) {
2023

2124
test('should convert url for legacy ember data class', async function (assert) {
2225
await visit('/data/classes/DS.Adapter.html');
23-
assert.equal(currentURL(), '/ember-data/release/classes/Adapter');
26+
assert.equal(
27+
currentURL(),
28+
'/ember-data/release/classes/Adapter?show=inherited'
29+
);
2430
});
2531

2632
test('should convert url for legacy ember module', async function (assert) {
2733
await visit('/modules/ember-application.html');
28-
assert.equal(currentURL(), '/ember/release/modules/@ember%2Fapplication');
34+
assert.equal(
35+
currentURL(),
36+
'/ember/release/modules/@ember%2Fapplication?show=inherited'
37+
);
2938
});
3039

3140
test('should convert url for legacy ember data module to overview', async function (assert) {
3241
await visit('/data/modules/ember-data.html');
3342
assert.equal(
3443
currentURL(),
35-
'/ember-data/release/modules/ember-data-overview'
44+
'/ember-data/release/modules/ember-data-overview?show=inherited'
3645
);
3746
});
3847

tests/acceptance/redirects-test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ module('Acceptance | redirects', function (hooks) {
2020

2121
assert.equal(
2222
currentURL(),
23-
'/ember/1.0/modules/ember',
23+
'/ember/1.0/modules/ember?show=inherited',
2424
'routes to the first module of the project-version'
2525
);
2626
});

tests/acceptance/switch-versions-test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,7 @@ module('Acceptance | version navigation', function (hooks) {
250250
await waitForSettled();
251251
assert.equal(
252252
currentURL(),
253-
'/ember/2.11/modules/ember',
253+
'/ember/2.11/modules/ember?show=inherited',
254254
'navigated to v2.11 ember module'
255255
);
256256
});

0 commit comments

Comments
 (0)