From e00dda98bc8bc19d716cc007283497685b8badd7 Mon Sep 17 00:00:00 2001 From: sercan Date: Tue, 18 May 2021 11:44:42 +0300 Subject: [PATCH] (core) Separated the "auth" and "icon registry" to their own modules to keep the CoreModule simple --- src/app/core/auth/auth.module.ts | 21 ++++++++++++++++++++ src/app/core/core.module.ts | 31 +++++------------------------- src/app/core/icons/icons.module.ts | 25 ++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 26 deletions(-) create mode 100644 src/app/core/auth/auth.module.ts create mode 100644 src/app/core/icons/icons.module.ts diff --git a/src/app/core/auth/auth.module.ts b/src/app/core/auth/auth.module.ts new file mode 100644 index 00000000..0ff1f2ad --- /dev/null +++ b/src/app/core/auth/auth.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; +import { AuthService } from 'app/core/auth/auth.service'; +import { AuthInterceptor } from 'app/core/auth/auth.interceptor'; + +@NgModule({ + imports : [ + HttpClientModule + ], + providers: [ + AuthService, + { + provide : HTTP_INTERCEPTORS, + useClass: AuthInterceptor, + multi : true + } + ] +}) +export class AuthModule +{ +} diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts index ae64ba89..618a973d 100644 --- a/src/app/core/core.module.ts +++ b/src/app/core/core.module.ts @@ -1,21 +1,11 @@ import { NgModule, Optional, SkipSelf } from '@angular/core'; -import { HTTP_INTERCEPTORS, HttpClientModule } from '@angular/common/http'; -import { DomSanitizer } from '@angular/platform-browser'; -import { MatIconRegistry } from '@angular/material/icon'; -import { AuthService } from 'app/core/auth/auth.service'; -import { AuthInterceptor } from 'app/core/auth/auth.interceptor'; +import { AuthModule } from 'app/core/auth/auth.module'; +import { IconsModule } from 'app/core/icons/icons.module'; @NgModule({ - imports : [ - HttpClientModule - ], - providers: [ - AuthService, - { - provide : HTTP_INTERCEPTORS, - useClass: AuthInterceptor, - multi : true - } + imports: [ + AuthModule, + IconsModule ] }) export class CoreModule @@ -24,8 +14,6 @@ export class CoreModule * Constructor */ constructor( - private _domSanitizer: DomSanitizer, - private _matIconRegistry: MatIconRegistry, @Optional() @SkipSelf() parentModule?: CoreModule ) { @@ -34,14 +22,5 @@ export class CoreModule { throw new Error('CoreModule has already been loaded. Import this module in the AppModule only.'); } - - // Register icon sets - this._matIconRegistry.addSvgIconSet(this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/material-twotone.svg')); - this._matIconRegistry.addSvgIconSetInNamespace('mat_outline', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/material-outline.svg')); - this._matIconRegistry.addSvgIconSetInNamespace('mat_solid', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/material-solid.svg')); - this._matIconRegistry.addSvgIconSetInNamespace('iconsmind', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/iconsmind.svg')); - this._matIconRegistry.addSvgIconSetInNamespace('feather', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/feather.svg')); - this._matIconRegistry.addSvgIconSetInNamespace('heroicons_outline', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/heroicons-outline.svg')); - this._matIconRegistry.addSvgIconSetInNamespace('heroicons_solid', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/heroicons-solid.svg')); } } diff --git a/src/app/core/icons/icons.module.ts b/src/app/core/icons/icons.module.ts new file mode 100644 index 00000000..c52c162b --- /dev/null +++ b/src/app/core/icons/icons.module.ts @@ -0,0 +1,25 @@ +import { NgModule } from '@angular/core'; +import { DomSanitizer } from '@angular/platform-browser'; +import { MatIconRegistry } from '@angular/material/icon'; + +@NgModule() +export class IconsModule +{ + /** + * Constructor + */ + constructor( + private _domSanitizer: DomSanitizer, + private _matIconRegistry: MatIconRegistry + ) + { + // Register icon sets + this._matIconRegistry.addSvgIconSet(this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/material-twotone.svg')); + this._matIconRegistry.addSvgIconSetInNamespace('mat_outline', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/material-outline.svg')); + this._matIconRegistry.addSvgIconSetInNamespace('mat_solid', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/material-solid.svg')); + this._matIconRegistry.addSvgIconSetInNamespace('iconsmind', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/iconsmind.svg')); + this._matIconRegistry.addSvgIconSetInNamespace('feather', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/feather.svg')); + this._matIconRegistry.addSvgIconSetInNamespace('heroicons_outline', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/heroicons-outline.svg')); + this._matIconRegistry.addSvgIconSetInNamespace('heroicons_solid', this._domSanitizer.bypassSecurityTrustResourceUrl('assets/icons/heroicons-solid.svg')); + } +}