From 774377db76cc8a123efd0892936af14cf04f820d Mon Sep 17 00:00:00 2001 From: dvonanderson Date: Tue, 28 Feb 2023 11:18:50 -0500 Subject: [PATCH 1/3] =?UTF-8?q?chore:=20=F0=9F=A4=96=20create=20session-re?= =?UTF-8?q?cording=20route?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Create `session-recording` route with empty landing page. Added translations to `resources.yaml` file. ✅ Closes: ICU-8270 --- addons/core/translations/resources/en-us.yaml | 5 ++- ui/admin/app/router.js | 8 ++++- .../routes/scopes/scope/session-recordings.js | 36 ++++++++++++++++++- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/addons/core/translations/resources/en-us.yaml b/addons/core/translations/resources/en-us.yaml index f2f9818fa..8814160a6 100644 --- a/addons/core/translations/resources/en-us.yaml +++ b/addons/core/translations/resources/en-us.yaml @@ -208,9 +208,12 @@ org: new: New Org actions: delete: Delete Org -session-recording: +session-recordings: title: Session Recording title_plural: Session Recordings + recorded-sessions: + title: Recorded Session + title_plural: Recorded Sessions project: title: Project title_plural: Projects diff --git a/ui/admin/app/router.js b/ui/admin/app/router.js index 80d396bd6..52a5ca380 100644 --- a/ui/admin/app/router.js +++ b/ui/admin/app/router.js @@ -132,7 +132,13 @@ Router.map(function () { this.route('new'); this.route('worker', { path: ':worker_id' }, function () {}); }); - this.route('session-recordings', function () {}); + this.route('session-recordings', function () { + this.route( + 'session-recording', + { path: ':session_recording_id' }, + function () {} + ); + }); }); }); diff --git a/ui/admin/app/routes/scopes/scope/session-recordings.js b/ui/admin/app/routes/scopes/scope/session-recordings.js index f45ef2bd4..8713f2966 100644 --- a/ui/admin/app/routes/scopes/scope/session-recordings.js +++ b/ui/admin/app/routes/scopes/scope/session-recordings.js @@ -1,3 +1,37 @@ import Route from '@ember/routing/route'; +import { inject as service } from '@ember/service'; -export default class ScopesScopeSessionRecordingsRoute extends Route {} +export default class ScopesScopeSessionRecordingsRoute extends Route { + // =services + + @service store; + @service can; + @service session; + @service router; + + // =methods + + /** + * If arriving here unauthenticated, redirect to index for further processing. + */ + beforeModel() { + if (!this.session.isAuthenticated) this.router.transitionTo('index'); + } + + /** + * Load all session recordings. + * @return {SessionRecordingModel} + */ + model() { + // TODO: awaiting modeled data + // const scope = this.modelFor('scopes.scope'); + // const { id: scope_id } = scope; + // if (this.can.can('list session-recording', scope, { collection: 'session-recordings' })) { + // return this.store.query('session-recording', { scope_id }); + // } + + return 'i am session-recordings'; + } + + // =actions +} From 3d0477b95741c365ce6c1ab35ba3b3c63e98d4f8 Mon Sep 17 00:00:00 2001 From: dvonanderson Date: Tue, 28 Feb 2023 11:27:40 -0500 Subject: [PATCH 2/3] =?UTF-8?q?chore:=20=F0=9F=A4=96=20added=20all=20of=20?= =?UTF-8?q?the=20uncommitted=20files?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Session-recording files --- .../session-recordings/session-recording.js | 6 ++++++ .../session-recording/index.js | 3 +++ .../session-recordings/session-recording.hbs | 3 +++ .../session-recording/index.hbs | 0 .../session-recordings/session-recording-test.js | 16 ++++++++++++++++ .../session-recording/index-test.js | 16 ++++++++++++++++ 6 files changed, 44 insertions(+) create mode 100644 ui/admin/app/routes/scopes/scope/session-recordings/session-recording.js create mode 100644 ui/admin/app/routes/scopes/scope/session-recordings/session-recording/index.js create mode 100644 ui/admin/app/templates/scopes/scope/session-recordings/session-recording.hbs create mode 100644 ui/admin/app/templates/scopes/scope/session-recordings/session-recording/index.hbs create mode 100644 ui/admin/tests/unit/routes/scopes/scope/session-recordings/session-recording-test.js create mode 100644 ui/admin/tests/unit/routes/scopes/scope/session-recordings/session-recording/index-test.js diff --git a/ui/admin/app/routes/scopes/scope/session-recordings/session-recording.js b/ui/admin/app/routes/scopes/scope/session-recordings/session-recording.js new file mode 100644 index 000000000..9224bab43 --- /dev/null +++ b/ui/admin/app/routes/scopes/scope/session-recordings/session-recording.js @@ -0,0 +1,6 @@ +import Route from '@ember/routing/route'; + +export default class ScopesScopeSessionRecordingsSessionRecordingRoute extends Route { + // =services + // =methods +} diff --git a/ui/admin/app/routes/scopes/scope/session-recordings/session-recording/index.js b/ui/admin/app/routes/scopes/scope/session-recordings/session-recording/index.js new file mode 100644 index 000000000..000b3e322 --- /dev/null +++ b/ui/admin/app/routes/scopes/scope/session-recordings/session-recording/index.js @@ -0,0 +1,3 @@ +import Route from '@ember/routing/route'; + +export default class ScopesScopeSessionRecordingsSessionRecordingIndexRoute extends Route {} diff --git a/ui/admin/app/templates/scopes/scope/session-recordings/session-recording.hbs b/ui/admin/app/templates/scopes/scope/session-recordings/session-recording.hbs new file mode 100644 index 000000000..7d32ecb0d --- /dev/null +++ b/ui/admin/app/templates/scopes/scope/session-recordings/session-recording.hbs @@ -0,0 +1,3 @@ +{{page-title @model.displayName}} + +{{outlet}} \ No newline at end of file diff --git a/ui/admin/app/templates/scopes/scope/session-recordings/session-recording/index.hbs b/ui/admin/app/templates/scopes/scope/session-recordings/session-recording/index.hbs new file mode 100644 index 000000000..e69de29bb diff --git a/ui/admin/tests/unit/routes/scopes/scope/session-recordings/session-recording-test.js b/ui/admin/tests/unit/routes/scopes/scope/session-recordings/session-recording-test.js new file mode 100644 index 000000000..1c9ccdb2b --- /dev/null +++ b/ui/admin/tests/unit/routes/scopes/scope/session-recordings/session-recording-test.js @@ -0,0 +1,16 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'admin/tests/helpers'; + +module( + 'Unit | Route | scopes/scope/session-recordings/session-recording', + function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + let route = this.owner.lookup( + 'route:scopes/scope/session-recordings/session-recording' + ); + assert.ok(route); + }); + } +); diff --git a/ui/admin/tests/unit/routes/scopes/scope/session-recordings/session-recording/index-test.js b/ui/admin/tests/unit/routes/scopes/scope/session-recordings/session-recording/index-test.js new file mode 100644 index 000000000..d57fbb527 --- /dev/null +++ b/ui/admin/tests/unit/routes/scopes/scope/session-recordings/session-recording/index-test.js @@ -0,0 +1,16 @@ +import { module, test } from 'qunit'; +import { setupTest } from 'admin/tests/helpers'; + +module( + 'Unit | Route | scopes/scope/session-recordings/session-recording/index', + function (hooks) { + setupTest(hooks); + + test('it exists', function (assert) { + let route = this.owner.lookup( + 'route:scopes/scope/session-recordings/session-recording/index' + ); + assert.ok(route); + }); + } +); From 458e02b23ab6c77175225f9623501f2a6d01e518 Mon Sep 17 00:00:00 2001 From: Devon Anderson Date: Tue, 28 Feb 2023 13:03:58 -0500 Subject: [PATCH 3/3] Update session-recordings.js --- ui/admin/app/routes/scopes/scope/session-recordings.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/ui/admin/app/routes/scopes/scope/session-recordings.js b/ui/admin/app/routes/scopes/scope/session-recordings.js index 8713f2966..4cca21156 100644 --- a/ui/admin/app/routes/scopes/scope/session-recordings.js +++ b/ui/admin/app/routes/scopes/scope/session-recordings.js @@ -29,8 +29,6 @@ export default class ScopesScopeSessionRecordingsRoute extends Route { // if (this.can.can('list session-recording', scope, { collection: 'session-recordings' })) { // return this.store.query('session-recording', { scope_id }); // } - - return 'i am session-recordings'; } // =actions