mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
fix SSR injection context issue with Angulartics
This commit is contained in:

committed by
Giuseppe Digilio

parent
9db9539725
commit
4e826f7ee8
@@ -15,7 +15,7 @@ import { MetadataService } from './core/metadata/metadata.service';
|
|||||||
import { NativeWindowRef, NativeWindowService } from './core/services/window.service';
|
import { NativeWindowRef, NativeWindowService } from './core/services/window.service';
|
||||||
import { TranslateLoaderMock } from './shared/mocks/translate-loader.mock';
|
import { TranslateLoaderMock } from './shared/mocks/translate-loader.mock';
|
||||||
import { MetadataServiceMock } from './shared/mocks/metadata-service.mock';
|
import { MetadataServiceMock } from './shared/mocks/metadata-service.mock';
|
||||||
import { AngularticsMock } from './shared/mocks/angulartics.service.mock';
|
import { AngularticsProviderMock } from './shared/mocks/angulartics-provider.service.mock';
|
||||||
import { AuthServiceMock } from './shared/mocks/auth.service.mock';
|
import { AuthServiceMock } from './shared/mocks/auth.service.mock';
|
||||||
import { AuthService } from './core/auth/auth.service';
|
import { AuthService } from './core/auth/auth.service';
|
||||||
import { MenuService } from './shared/menu/menu.service';
|
import { MenuService } from './shared/menu/menu.service';
|
||||||
@@ -65,8 +65,8 @@ describe('App component', () => {
|
|||||||
providers: [
|
providers: [
|
||||||
{ provide: NativeWindowService, useValue: new NativeWindowRef() },
|
{ provide: NativeWindowService, useValue: new NativeWindowRef() },
|
||||||
{ provide: MetadataService, useValue: new MetadataServiceMock() },
|
{ provide: MetadataService, useValue: new MetadataServiceMock() },
|
||||||
{ provide: Angulartics2GoogleAnalytics, useValue: new AngularticsMock() },
|
{ provide: Angulartics2GoogleAnalytics, useValue: new AngularticsProviderMock() },
|
||||||
{ provide: Angulartics2DSpace, useValue: new AngularticsMock() },
|
{ provide: Angulartics2DSpace, useValue: new AngularticsProviderMock() },
|
||||||
{ provide: AuthService, useValue: new AuthServiceMock() },
|
{ provide: AuthService, useValue: new AuthServiceMock() },
|
||||||
{ provide: Router, useValue: new RouterMock() },
|
{ provide: Router, useValue: new RouterMock() },
|
||||||
{ provide: ActivatedRoute, useValue: new MockActivatedRoute() },
|
{ provide: ActivatedRoute, useValue: new MockActivatedRoute() },
|
||||||
|
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
|
|||||||
|
|
||||||
/* tslint:disable:no-empty */
|
/* tslint:disable:no-empty */
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class AngularticsMock {
|
export class AngularticsProviderMock {
|
||||||
public eventTrack(action, properties) { }
|
public eventTrack(action, properties) { }
|
||||||
public startTracking(): void {}
|
public startTracking(): void {}
|
||||||
}
|
}
|
9
src/app/shared/mocks/angulartics2.service.mock.ts
Normal file
9
src/app/shared/mocks/angulartics2.service.mock.ts
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import { Injectable } from '@angular/core';
|
||||||
|
|
||||||
|
/* tslint:disable:no-empty */
|
||||||
|
@Injectable()
|
||||||
|
export class Angulartics2Mock {
|
||||||
|
public eventTrack = {
|
||||||
|
next: (param: any): void => {}
|
||||||
|
};
|
||||||
|
}
|
@@ -19,17 +19,18 @@ import { AuthService } from '../../app/core/auth/auth.service';
|
|||||||
import { ServerAuthService } from '../../app/core/auth/server-auth.service';
|
import { ServerAuthService } from '../../app/core/auth/server-auth.service';
|
||||||
|
|
||||||
import { Angulartics2GoogleAnalytics } from 'angulartics2/ga';
|
import { Angulartics2GoogleAnalytics } from 'angulartics2/ga';
|
||||||
import { AngularticsMock } from '../../app/shared/mocks/angulartics.service.mock';
|
import { AngularticsProviderMock } from '../../app/shared/mocks/angulartics-provider.service.mock';
|
||||||
import { SubmissionService } from '../../app/submission/submission.service';
|
import { SubmissionService } from '../../app/submission/submission.service';
|
||||||
import { ServerSubmissionService } from '../../app/submission/server-submission.service';
|
import { ServerSubmissionService } from '../../app/submission/server-submission.service';
|
||||||
import { Angulartics2DSpace } from '../../app/statistics/angulartics/dspace-provider';
|
import { Angulartics2DSpace } from '../../app/statistics/angulartics/dspace-provider';
|
||||||
import { Angulartics2RouterlessModule } from 'angulartics2/routerlessmodule';
|
|
||||||
import { ServerLocaleService } from '../../app/core/locale/server-locale.service';
|
import { ServerLocaleService } from '../../app/core/locale/server-locale.service';
|
||||||
import { LocaleService } from '../../app/core/locale/locale.service';
|
import { LocaleService } from '../../app/core/locale/locale.service';
|
||||||
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
||||||
import { ForwardClientIpInterceptor } from '../../app/core/forward-client-ip/forward-client-ip.interceptor';
|
import { ForwardClientIpInterceptor } from '../../app/core/forward-client-ip/forward-client-ip.interceptor';
|
||||||
import { HardRedirectService } from '../../app/core/services/hard-redirect.service';
|
import { HardRedirectService } from '../../app/core/services/hard-redirect.service';
|
||||||
import { ServerHardRedirectService } from '../../app/core/services/server-hard-redirect.service';
|
import { ServerHardRedirectService } from '../../app/core/services/server-hard-redirect.service';
|
||||||
|
import { Angulartics2 } from 'angulartics2';
|
||||||
|
import { Angulartics2Mock } from '../../app/shared/mocks/angulartics2.service.mock';
|
||||||
|
|
||||||
export function createTranslateLoader() {
|
export function createTranslateLoader() {
|
||||||
return new TranslateJson5UniversalLoader('dist/server/assets/i18n/', '.json5');
|
return new TranslateJson5UniversalLoader('dist/server/assets/i18n/', '.json5');
|
||||||
@@ -53,18 +54,21 @@ export function createTranslateLoader() {
|
|||||||
deps: []
|
deps: []
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
Angulartics2RouterlessModule.forRoot(),
|
|
||||||
ServerModule,
|
ServerModule,
|
||||||
AppModule
|
AppModule
|
||||||
],
|
],
|
||||||
providers: [
|
providers: [
|
||||||
|
{
|
||||||
|
provide: Angulartics2,
|
||||||
|
useClass: Angulartics2Mock
|
||||||
|
},
|
||||||
{
|
{
|
||||||
provide: Angulartics2GoogleAnalytics,
|
provide: Angulartics2GoogleAnalytics,
|
||||||
useClass: AngularticsMock
|
useClass: AngularticsProviderMock
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: Angulartics2DSpace,
|
provide: Angulartics2DSpace,
|
||||||
useClass: AngularticsMock
|
useClass: AngularticsProviderMock
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
provide: AuthService,
|
provide: AuthService,
|
||||||
|
Reference in New Issue
Block a user