Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions app/application/route.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import Route from '@ember/routing/route';
import { action } from '@ember/object';
import { inject as service } from '@ember/service';
import Intl from 'ember-intl/services/intl';

import checkAuth from 'ember-osf-web/decorators/check-auth';
import Analytics from 'ember-osf-web/services/analytics';
import CurrentUser from 'ember-osf-web/services/current-user';

@checkAuth
Expand All @@ -18,6 +20,7 @@ export default class ApplicationRoute extends Route.extend(
) {
@service intl!: Intl;
@service currentUser!: CurrentUser;
@service analytics!: Analytics;

queryParams = {
viewOnlyToken: {
Expand All @@ -28,4 +31,9 @@ export default class ApplicationRoute extends Route.extend(
beforeModel() {
return this.intl.setLocale('en-us');
}

@action
didTransition() {
this.analytics.trackPage();
}
}
8 changes: 0 additions & 8 deletions app/dashboard/route.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
import { action } from '@ember/object';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
import { taskFor } from 'ember-concurrency-ts';
import Session from 'ember-simple-auth/services/session';

import DashboardController from 'ember-osf-web/dashboard/controller';
import requireAuth from 'ember-osf-web/decorators/require-auth';
import Analytics from 'ember-osf-web/services/analytics';
import CurrentUser from 'ember-osf-web/services/current-user';
import Ready from 'ember-osf-web/services/ready';

@requireAuth('home')
export default class Dashboard extends Route {
@service analytics!: Analytics;
@service currentUser!: CurrentUser;
@service ready!: Ready;
@service session!: Session;
Expand All @@ -27,9 +24,4 @@ export default class Dashboard extends Route {
blocker.errored(e);
}
}

@action
didTransition() {
this.analytics.trackPage();
}
}
9 changes: 0 additions & 9 deletions app/goodbye/route.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,14 @@
import { action } from '@ember/object';
import Transition from '@ember/routing/-private/transition';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
import Session from 'ember-simple-auth/services/session';

import Analytics from 'ember-osf-web/services/analytics';

export default class Goodbye extends Route {
@service analytics!: Analytics;
@service session!: Session;

async beforeModel(transition: Transition) {
await super.beforeModel(transition);
const queryParams = this.session.isAuthenticated ? {} : { goodbye: true };
this.transitionTo('home', { queryParams });
}

@action
didTransition() {
this.analytics.trackPage();
}
}
12 changes: 6 additions & 6 deletions app/guid-file/route.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { action } from '@ember/object';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
import { waitFor } from '@ember/test-waiters';
Expand All @@ -8,7 +7,6 @@ import { taskFor } from 'ember-concurrency-ts';
import moment from 'moment';

import Institution from 'ember-osf-web/models/institution';
import Analytics from 'ember-osf-web/services/analytics';
import MetaTags, { HeadTagDef } from 'ember-osf-web/services/meta-tags';
import Ready from 'ember-osf-web/services/ready';
import OsfStorageFile from 'ember-osf-web/packages/files/osf-storage-file';
Expand All @@ -27,7 +25,6 @@ import CurrentUserService from 'ember-osf-web/services/current-user';
import RegistrationModel from 'ember-osf-web/models/registration';

export default class GuidFile extends Route {
@service analytics!: Analytics;
@service('head-tags') headTagsService!: HeadTagsService;
@service metaTags!: MetaTags;
@service ready!: Ready;
Expand Down Expand Up @@ -116,8 +113,11 @@ export default class GuidFile extends Route {
taskFor(this.setHeadTags).perform(model.fileModel);
}

@action
didTransition() {
this.analytics.trackPage(true, 'files');
buildRouteInfoMetadata() {
return {
osfMetrics: {
itemGuid: this.controller.model.id,
},
};
}
}
18 changes: 0 additions & 18 deletions app/guid-node/forks/route.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,7 @@
import { action } from '@ember/object';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';

import Node from 'ember-osf-web/models/node';
import { GuidRouteModel } from 'ember-osf-web/resolve-guid/guid-route';
import Analytics from 'ember-osf-web/services/analytics';
import Ready from 'ember-osf-web/services/ready';

export default class GuidNodeForks extends Route {
@service analytics!: Analytics;
@service ready!: Ready;

model() {
return this.modelFor('guid-node');
}

@action
async didTransition() {
const { taskInstance } = this.controller.model as GuidRouteModel<Node>;
await taskInstance;
const node = taskInstance.value;
this.analytics.trackPage(node ? node.public : undefined, 'nodes');
}
}
13 changes: 0 additions & 13 deletions app/guid-node/registrations/route.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
import { action } from '@ember/object';
import Transition from '@ember/routing/-private/transition';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
import { taskFor } from 'ember-concurrency-ts';

import Node from 'ember-osf-web/models/node';
import { GuidRouteModel } from 'ember-osf-web/resolve-guid/guid-route';
import Analytics from 'ember-osf-web/services/analytics';

import Controller from './controller';

export default class GuidNodeRegistrations extends Route {
@service analytics!: Analytics;

model() {
return this.modelFor('guid-node') as GuidRouteModel<Node>;
}
Expand All @@ -21,12 +16,4 @@ export default class GuidNodeRegistrations extends Route {
super.setupController(controller, model, transition);
taskFor(controller.getRegistrationSchemas).perform();
}

@action
async didTransition() {
const { taskInstance } = this.controller.model as GuidRouteModel<Node>;
await taskInstance;
const node = taskInstance.value;
this.analytics.trackPage(node ? node.public : undefined, 'nodes');
}
}
13 changes: 0 additions & 13 deletions app/guid-registration/forks/route.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,12 @@
import { action } from '@ember/object';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';

import Registration from 'ember-osf-web/models/registration';
import { GuidRouteModel } from 'ember-osf-web/resolve-guid/guid-route';
import Analytics from 'ember-osf-web/services/analytics';
import Ready from 'ember-osf-web/services/ready';

export default class GuidRegistrationForks extends Route {
@service analytics!: Analytics;
@service ready!: Ready;

model() {
return this.modelFor('guid-registration');
}

@action
async didTransition() {
const { taskInstance } = this.controller.model as GuidRouteModel<Registration>;
await taskInstance;
const registration = taskInstance.value;
this.analytics.trackPage(registration ? registration.public : undefined, 'registrations');
}
}
4 changes: 2 additions & 2 deletions app/helpers/open-badges-icon-map.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ResourceTypes } from 'ember-osf-web/models/resource';

export function getBadgeIcon(resourceType: ResourceTypes) {
export function getBadgeIcon(resourceType: ResourceTypes | 'undefined') {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for doing this. I'd been meaning to, but you know how it is.

switch (resourceType) {
case ResourceTypes.Data:
return '/assets/images/badges/data_small_color.png';
Expand All @@ -17,7 +17,7 @@ export function getBadgeIcon(resourceType: ResourceTypes) {
}
}

export function getBadgeIconDisabled(resourceType: ResourceTypes) {
export function getBadgeIconDisabled(resourceType: ResourceTypes | 'undefined') {
switch (resourceType) {
case ResourceTypes.Data:
return '/assets/images/badges/data_small_gray.png';
Expand Down
16 changes: 0 additions & 16 deletions app/home/route.ts
Original file line number Diff line number Diff line change
@@ -1,19 +1,10 @@
import { action } from '@ember/object';
import Transition from '@ember/routing/-private/transition';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';
import Features from 'ember-feature-flags/services/features';
import config from 'ember-get-config';
import Session from 'ember-simple-auth/services/session';

import Analytics from 'ember-osf-web/services/analytics';

const { featureFlagNames: { ABTesting } } = config;

export default class Home extends Route {
@service analytics!: Analytics;
@service session!: Session;
@service features!: Features;

async beforeModel(transition: Transition) {
await super.beforeModel(transition);
Expand All @@ -22,11 +13,4 @@ export default class Home extends Route {
this.transitionTo('dashboard');
}
}

@action
didTransition() {
const shouldShowVersionB = this.features.isEnabled(ABTesting.homePageHeroTextVersionB);
const version = shouldShowVersionB ? 'versionB' : 'versionA';
this.analytics.trackPage(undefined, undefined, undefined, version);
}
}
8 changes: 0 additions & 8 deletions app/institutions/dashboard/route.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { action } from '@ember/object';
import Route from '@ember/routing/route';
import RouterService from '@ember/routing/router-service';
import { inject as service } from '@ember/service';
Expand All @@ -10,7 +9,6 @@ import InstitutionModel from 'ember-osf-web/models/institution';
import InstitutionDepartmentModel from 'ember-osf-web/models/institution-department';
import InstitutionSummaryMetricModel from 'ember-osf-web/models/institution-summary-metric';
import { QueryHasManyResult } from 'ember-osf-web/models/osf-model';
import Analytics from 'ember-osf-web/services/analytics';
import captureException from 'ember-osf-web/utils/capture-exception';

export interface InstitutionsDashboardModel {
Expand All @@ -19,7 +17,6 @@ export interface InstitutionsDashboardModel {
summaryMetrics: InstitutionSummaryMetricModel;
}
export default class InstitutionsDashboardRoute extends Route {
@service analytics!: Analytics;
@service router!: RouterService;

@task
Expand Down Expand Up @@ -57,9 +54,4 @@ export default class InstitutionsDashboardRoute extends Route {
taskInstance: taskFor(this.modelTask).perform(params.institution_id),
};
}

@action
didTransition() {
this.analytics.trackPage();
}
}
9 changes: 0 additions & 9 deletions app/institutions/index/route.ts
Original file line number Diff line number Diff line change
@@ -1,20 +1,11 @@
import Store from '@ember-data/store';
import { action } from '@ember/object';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';

import Analytics from 'ember-osf-web/services/analytics';

export default class Institutions extends Route {
@service analytics!: Analytics;
@service store!: Store;

model() {
return this.store.findAll('institution');
}

@action
didTransition() {
this.analytics.trackPage();
}
}
12 changes: 2 additions & 10 deletions app/meetings/detail/route.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,12 @@
import { action } from '@ember/object';
import Route from '@ember/routing/route';
import RouterService from '@ember/routing/router-service';
import { inject as service } from '@ember/service';
import { waitFor } from '@ember/test-waiters';
import { task } from 'ember-concurrency';
import { taskFor } from 'ember-concurrency-ts';

import Analytics from 'ember-osf-web/services/analytics';

export default class MeetingsDetail extends Route {
@service analytics!: Analytics;
@service router!: any;
@service router!: RouterService;

@task
@waitFor
Expand All @@ -28,9 +25,4 @@ export default class MeetingsDetail extends Route {
taskInstance: taskFor(this.loadMeetingDetail).perform(params.meeting_id),
};
}

@action
didTransition() {
this.analytics.trackPage();
}
}
10 changes: 0 additions & 10 deletions app/meetings/index/route.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,4 @@
import { action } from '@ember/object';
import Route from '@ember/routing/route';
import { inject as service } from '@ember/service';

import Analytics from 'ember-osf-web/services/analytics';

export default class MeetingsIndex extends Route {
@service analytics!: Analytics;

@action
didTransition() {
this.analytics.trackPage();
}
}
Loading