Skip to content

Commit 22a375c

Browse files
committed
settings/tokens: Allow alt+click to navigate to new token creation page
1 parent e2caad6 commit 22a375c

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

Diff for: app/components/settings/api-tokens.js

+7-2
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,20 @@ import { task } from 'ember-concurrency';
88
export default class ApiTokens extends Component {
99
@service store;
1010
@service notifications;
11+
@service router;
1112

1213
@tracked newToken;
1314

1415
get sortedTokens() {
1516
return this.args.tokens.filter(t => !t.isNew).sort((a, b) => (a.created_at < b.created_at ? 1 : -1));
1617
}
1718

18-
@action startNewToken() {
19-
this.newToken = this.store.createRecord('api-token');
19+
@action startNewToken(event) {
20+
if (event.altKey) {
21+
this.router.transitionTo('settings.tokens.new');
22+
} else {
23+
this.newToken = this.store.createRecord('api-token');
24+
}
2025
}
2126

2227
saveTokenTask = task(async () => {

Diff for: tests/routes/settings/tokens/new-test.js

+17
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,23 @@ module('/settings/tokens/new', function (hooks) {
2323
context.authenticateAs(user);
2424
}
2525

26+
test('can navigate to the route', async function (assert) {
27+
prepare(this);
28+
29+
await visit('/');
30+
assert.strictEqual(currentURL(), '/');
31+
32+
await click('[data-test-user-menu] [data-test-toggle]');
33+
await click('[data-test-user-menu] [data-test-settings]');
34+
assert.strictEqual(currentURL(), '/settings/profile');
35+
36+
await click('[data-test-settings-menu] [data-test-tokens] a');
37+
assert.strictEqual(currentURL(), '/settings/tokens');
38+
39+
await click('[data-test-new-token-button]', { altKey: true });
40+
assert.strictEqual(currentURL(), '/settings/tokens/new');
41+
});
42+
2643
test('access is blocked if unauthenticated', async function (assert) {
2744
await visit('/settings/tokens/new');
2845
assert.strictEqual(currentURL(), '/settings/tokens/new');

0 commit comments

Comments
 (0)