From 0d2bb33876369cba61c72f0f00f70e5dd85559f2 Mon Sep 17 00:00:00 2001 From: Susmitha Girumala Date: Tue, 2 Feb 2021 11:47:00 -0500 Subject: [PATCH] feat: Add /targets/:target_id route --- ui/desktop/app/router.js | 4 ++- .../scopes/scope/projects/targets/target.js | 35 +++++++++++++++++++ .../scope/projects/targets/target/index.js | 4 +++ .../scopes/scope/projects/targets/index.hbs | 7 +++- .../scopes/scope/projects/targets/target.hbs | 17 +++++++++ .../scope/projects/targets/target/-header.hbs | 4 +++ .../projects/targets/target/-navigation.hbs | 5 +++ .../scope/projects/targets/target/index.hbs | 1 + .../scope/projects/targets/target-test.js | 11 ++++++ .../projects/targets/target/index-test.js | 11 ++++++ 10 files changed, 97 insertions(+), 2 deletions(-) create mode 100644 ui/desktop/app/routes/scopes/scope/projects/targets/target.js create mode 100644 ui/desktop/app/routes/scopes/scope/projects/targets/target/index.js create mode 100644 ui/desktop/app/templates/scopes/scope/projects/targets/target.hbs create mode 100644 ui/desktop/app/templates/scopes/scope/projects/targets/target/-header.hbs create mode 100644 ui/desktop/app/templates/scopes/scope/projects/targets/target/-navigation.hbs create mode 100644 ui/desktop/app/templates/scopes/scope/projects/targets/target/index.hbs create mode 100644 ui/desktop/tests/unit/routes/scopes/scope/projects/targets/target-test.js create mode 100644 ui/desktop/tests/unit/routes/scopes/scope/projects/targets/target/index-test.js diff --git a/ui/desktop/app/router.js b/ui/desktop/app/router.js index bcf4938e5..afd04e391 100644 --- a/ui/desktop/app/router.js +++ b/ui/desktop/app/router.js @@ -13,7 +13,9 @@ Router.map(function () { this.route('method', { path: ':auth_method_id' }); }); this.route('projects', function () { - this.route('targets', function () {}); + this.route('targets', function () { + this.route('target', { path: ':target_id' }, function() {}); + }); this.route('sessions', function() {}); }); }); diff --git a/ui/desktop/app/routes/scopes/scope/projects/targets/target.js b/ui/desktop/app/routes/scopes/scope/projects/targets/target.js new file mode 100644 index 000000000..5031c8a4a --- /dev/null +++ b/ui/desktop/app/routes/scopes/scope/projects/targets/target.js @@ -0,0 +1,35 @@ +import Route from '@ember/routing/route'; + +export default class ScopesScopeProjectsTargetsTargetRoute extends Route { + // =methods + + /** + * Load a target. + * @param {object} params + * @param {string} params.target_id + * @return {TargetModel} + */ + async model({ target_id }) { + return this.store.findRecord('target', target_id, { reload: true }); + } + + /** + * Renders the target-specific templates for header and navigation + * page sections. + * @override + */ + renderTemplate() { + super.renderTemplate(...arguments); + + this.render('scopes/scope/projects/targets/target/-header', { + into: 'scopes/scope/projects/targets/target', + outlet: 'header', + }); + + this.render('scopes/scope/projects/targets/target/-navigation', { + into: 'scopes/scope/projects/targets/target', + outlet: 'navigation', + }); + + } +} diff --git a/ui/desktop/app/routes/scopes/scope/projects/targets/target/index.js b/ui/desktop/app/routes/scopes/scope/projects/targets/target/index.js new file mode 100644 index 000000000..2199146f8 --- /dev/null +++ b/ui/desktop/app/routes/scopes/scope/projects/targets/target/index.js @@ -0,0 +1,4 @@ +import Route from '@ember/routing/route'; + +export default class ScopesScopeProjectsTargetsTargetIndexRoute extends Route { +} diff --git a/ui/desktop/app/templates/scopes/scope/projects/targets/index.hbs b/ui/desktop/app/templates/scopes/scope/projects/targets/index.hbs index 8c3c463e5..bee6e9d46 100644 --- a/ui/desktop/app/templates/scopes/scope/projects/targets/index.hbs +++ b/ui/desktop/app/templates/scopes/scope/projects/targets/index.hbs @@ -21,7 +21,12 @@ {{#each @model as |model|}} - {{model.target.name}} + + {{model.target.displayName}} +

{{model.target.description}}

diff --git a/ui/desktop/app/templates/scopes/scope/projects/targets/target.hbs b/ui/desktop/app/templates/scopes/scope/projects/targets/target.hbs new file mode 100644 index 000000000..0ca9acc68 --- /dev/null +++ b/ui/desktop/app/templates/scopes/scope/projects/targets/target.hbs @@ -0,0 +1,17 @@ +{{page-title @model.displayName}} + + + + + {{outlet "header"}} + + + + {{outlet "navigation"}} + + + + {{outlet}} + + + diff --git a/ui/desktop/app/templates/scopes/scope/projects/targets/target/-header.hbs b/ui/desktop/app/templates/scopes/scope/projects/targets/target/-header.hbs new file mode 100644 index 000000000..b6ddb6476 --- /dev/null +++ b/ui/desktop/app/templates/scopes/scope/projects/targets/target/-header.hbs @@ -0,0 +1,4 @@ +

+ {{model.displayName}} +

+

{{model.description}}

\ No newline at end of file diff --git a/ui/desktop/app/templates/scopes/scope/projects/targets/target/-navigation.hbs b/ui/desktop/app/templates/scopes/scope/projects/targets/target/-navigation.hbs new file mode 100644 index 000000000..b27314ac2 --- /dev/null +++ b/ui/desktop/app/templates/scopes/scope/projects/targets/target/-navigation.hbs @@ -0,0 +1,5 @@ + + + {{t 'resources.host-set.title_plural'}} + + diff --git a/ui/desktop/app/templates/scopes/scope/projects/targets/target/index.hbs b/ui/desktop/app/templates/scopes/scope/projects/targets/target/index.hbs new file mode 100644 index 000000000..c24cd6895 --- /dev/null +++ b/ui/desktop/app/templates/scopes/scope/projects/targets/target/index.hbs @@ -0,0 +1 @@ +{{outlet}} diff --git a/ui/desktop/tests/unit/routes/scopes/scope/projects/targets/target-test.js b/ui/desktop/tests/unit/routes/scopes/scope/projects/targets/target-test.js new file mode 100644 index 000000000..7794f4aa7 --- /dev/null +++ b/ui/desktop/tests/unit/routes/scopes/scope/projects/targets/target-test.js @@ -0,0 +1,11 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module('Unit | Route | scopes/scope/projects/targets/target', function(hooks) { + setupTest(hooks); + + test('it exists', function(assert) { + let route = this.owner.lookup('route:scopes/scope/projects/targets/target'); + assert.ok(route); + }); +}); diff --git a/ui/desktop/tests/unit/routes/scopes/scope/projects/targets/target/index-test.js b/ui/desktop/tests/unit/routes/scopes/scope/projects/targets/target/index-test.js new file mode 100644 index 000000000..d097986e4 --- /dev/null +++ b/ui/desktop/tests/unit/routes/scopes/scope/projects/targets/target/index-test.js @@ -0,0 +1,11 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'ember-qunit'; + +module('Unit | Route | scopes/scope/projects/targets/target/index', function(hooks) { + setupTest(hooks); + + test('it exists', function(assert) { + let route = this.owner.lookup('route:scopes/scope/projects/targets/target/index'); + assert.ok(route); + }); +});