Custom lazy loading strategy
This commit is contained in:
		
							parent
							
								
									1eef5d40a5
								
							
						
					
					
						commit
						3f16b53159
					
				@ -1,5 +1,6 @@
 | 
			
		||||
import { NgModule } from '@angular/core';
 | 
			
		||||
import { Routes, RouterModule, PreloadAllModules } from '@angular/router';
 | 
			
		||||
import { Routes, RouterModule } from '@angular/router';
 | 
			
		||||
import { AppPreloadingStrategy } from './app.preloading-strategy'
 | 
			
		||||
import { StartComponent } from './components/start/start.component';
 | 
			
		||||
import { TransactionComponent } from './components/transaction/transaction.component';
 | 
			
		||||
import { TransactionPreviewComponent } from './components/transaction/transaction-preview.component';
 | 
			
		||||
@ -32,7 +33,8 @@ let routes: Routes = [
 | 
			
		||||
      {
 | 
			
		||||
        path: '',
 | 
			
		||||
        pathMatch: 'full',
 | 
			
		||||
        loadChildren: () => import('./graphs/graphs.module').then(m => m.GraphsModule)
 | 
			
		||||
        loadChildren: () => import('./graphs/graphs.module').then(m => m.GraphsModule),
 | 
			
		||||
        data: { preload: true },
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        path: '',
 | 
			
		||||
@ -117,7 +119,8 @@ let routes: Routes = [
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            path: 'lightning',
 | 
			
		||||
            loadChildren: () => import('./lightning/lightning.module').then(m => m.LightningModule)
 | 
			
		||||
            loadChildren: () => import('./lightning/lightning.module').then(m => m.LightningModule),
 | 
			
		||||
            data: { preload: true },
 | 
			
		||||
          },
 | 
			
		||||
        ],
 | 
			
		||||
      },
 | 
			
		||||
@ -691,7 +694,7 @@ if (browserWindowEnv && browserWindowEnv.BASE_MODULE === 'liquid') {
 | 
			
		||||
    initialNavigation: 'enabled',
 | 
			
		||||
    scrollPositionRestoration: 'enabled',
 | 
			
		||||
    anchorScrolling: 'enabled',
 | 
			
		||||
    preloadingStrategy: PreloadAllModules
 | 
			
		||||
    preloadingStrategy: AppPreloadingStrategy
 | 
			
		||||
  })],
 | 
			
		||||
})
 | 
			
		||||
export class AppRoutingModule { }
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,7 @@ import { LanguageService } from './services/language.service';
 | 
			
		||||
import { FiatShortenerPipe } from './shared/pipes/fiat-shortener.pipe';
 | 
			
		||||
import { ShortenStringPipe } from './shared/pipes/shorten-string-pipe/shorten-string.pipe';
 | 
			
		||||
import { CapAddressPipe } from './shared/pipes/cap-address-pipe/cap-address-pipe';
 | 
			
		||||
import { AppPreloadingStrategy } from './app.preloading-strategy';
 | 
			
		||||
 | 
			
		||||
@NgModule({
 | 
			
		||||
  declarations: [
 | 
			
		||||
@ -44,6 +45,7 @@ import { CapAddressPipe } from './shared/pipes/cap-address-pipe/cap-address-pipe
 | 
			
		||||
    ShortenStringPipe,
 | 
			
		||||
    FiatShortenerPipe,
 | 
			
		||||
    CapAddressPipe,
 | 
			
		||||
    AppPreloadingStrategy,
 | 
			
		||||
    { provide: HTTP_INTERCEPTORS, useClass: HttpCacheInterceptor, multi: true }
 | 
			
		||||
  ],
 | 
			
		||||
  bootstrap: [AppComponent]
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								frontend/src/app/app.preloading-strategy.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								frontend/src/app/app.preloading-strategy.ts
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,10 @@
 | 
			
		||||
import { PreloadingStrategy, Route } from '@angular/router';
 | 
			
		||||
import { Observable, timer, mergeMap, of } from 'rxjs';
 | 
			
		||||
 | 
			
		||||
export class AppPreloadingStrategy implements PreloadingStrategy {
 | 
			
		||||
  preload(route: Route, load: Function): Observable<any> {
 | 
			
		||||
      return route.data && route.data.preload 
 | 
			
		||||
          ? timer(150).pipe(mergeMap(() => load()))
 | 
			
		||||
          : of(null);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user