Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* tslint:disable:max-line-length */
- import {APP_INITIALIZER, Injector, NgModule} from '@angular/core';
- import { Routes, RouterModule } from '@angular/router';
- import {LocalizeParser, LocalizeRouterModule, LocalizeRouterService, LocalizeRouterSettings, ManualParserLoader} from 'localize-router';
- import {TranslateLoader, TranslateModule, TranslateService} from '@ngx-translate/core';
- import {HttpClient} from '@angular/common/http';
- import {Location} from '@angular/common';
- import {CustomTranslateLoader} from '@app/classes/translate-loader';
- import {AuthGuard} from '@app/modules/auth/services/auth.guard';
- export function initLanguage(injector: Injector): () => void {
- return (): Promise<any> =>
- new Promise((resolve) => {
- injector.get(LocalizeRouterService).init();
- resolve();
- });
- }
- const routes: Routes = [
- {path: 'list', loadChildren: () => import('src/app/modules/asset-list/asset-list.module')
- .then(m => m.AssetListModule), canActivate: [AuthGuard]},
- {path: 'asset', loadChildren: () => import('src/app/modules/asset-view/asset-view.module').then(m => m.AssetViewModule)},
- {path: 'profile', loadChildren: () => import('src/app/modules/profile/profile.module').then(m => m.ProfileModule)},
- {path: 'deals', loadChildren: () => import('src/app/modules/deals/deals.module').then(m => m.DealsModule)},
- {path: '', loadChildren: () => import('src/app/modules/asset-preview/asset-preview.module').then(m => m.AssetPreviewModule)},
- {path: '**', loadChildren: () => import('src/app/modules/not-found-page-module/not-found-page.module').then(m => m.NotFoundPageModule)}
- ];
- export function LoaderFactory(http: HttpClient) {
- return new CustomTranslateLoader(http);
- }
- export function CreateTranslateLoader(translate: TranslateService, location: Location, settings: LocalizeRouterSettings) {
- return new ManualParserLoader(translate, location, settings, ['en', 'ru'], 'ROUTES.');
- }
- @NgModule({
- imports: [
- RouterModule.forRoot(routes, {
- scrollPositionRestoration: 'enabled',
- anchorScrolling: 'enabled',
- initialNavigation: 'enabled'
- }),
- LocalizeRouterModule.forRoot(routes, {
- parser: {
- provide: LocalizeParser,
- useFactory: CreateTranslateLoader,
- deps: [TranslateService, Location, LocalizeRouterSettings]
- }
- }),
- TranslateModule.forRoot({
- loader: {
- provide: TranslateLoader,
- useFactory: LoaderFactory,
- deps: [HttpClient]
- }
- })
- ],
- exports: [
- RouterModule,
- TranslateModule,
- LocalizeRouterModule
- ],
- providers: [
- AuthGuard,
- {
- provide: APP_INITIALIZER,
- useFactory: initLanguage,
- multi: true,
- deps: [Injector]
- }
- ]
- })
- export class AppRoutingModule { }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement