ngx-load
Version:
A simple angular library for adding loaders.
1 lines • 15.9 kB
Source Map (JSON)
{"version":3,"file":"ngx-load.mjs","sources":["../../../projects/load/src/lib/core/default-loading.component.ts","../../../projects/load/src/lib/core/loader.configuration.ts","../../../projects/load/src/lib/overlay/overlay-loader.directive.ts","../../../projects/load/src/lib/replacement/replacement-loader.directive.ts","../../../projects/load/src/lib/overlay/loader.service.ts","../../../projects/load/src/lib/ngx-load.module.ts","../../../projects/load/src/ngx-load.ts"],"sourcesContent":["// Inspired from : https://loading.io/css\nimport { Component } from '@angular/core';\n\n@Component({\n template: `\n <div class=\"lds-ripple\"><div></div><div></div></div>\n `,\n styles: [\n `\n :host {\n display: flex;\n height: 100%;\n width: 100%;\n align-items: center;\n justify-content: center;\n }\n\n .lds-ripple {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n }\n .lds-ripple div {\n position: absolute;\n border: 4px solid black;\n opacity: 1;\n border-radius: 50%;\n animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;\n }\n .lds-ripple div:nth-child(2) {\n animation-delay: -0.5s;\n }\n @keyframes lds-ripple {\n 0% {\n top: 36px;\n left: 36px;\n width: 0;\n height: 0;\n opacity: 1;\n }\n 100% {\n top: 0;\n left: 0;\n width: 72px;\n height: 72px;\n opacity: 0;\n }\n }\n `\n ]\n})\nexport class DefaultLoadingComponent {\n}\n","import { InjectionToken } from \"@angular/core\";\nimport { DefaultLoadingComponent } from \"./default-loading.component\";\n\nexport interface LoaderConfiguration {\n loaderComponent: any\n}\n\nexport const CONFIGURATION_TOKEN = new InjectionToken(\"LOADER_CONFIGURATION\");\nexport const DEFAULT_CONFIGURATION: LoaderConfiguration = {\n loaderComponent: DefaultLoadingComponent\n}\n","import { Directive, ElementRef, Inject, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Overlay } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { CONFIGURATION_TOKEN, LoaderConfiguration } from \"../core/loader.configuration\";\n\n@Directive({\n selector: '[loadOverlayLoader]'\n})\nexport class OverlayLoaderDirective implements OnInit, OnDestroy {\n overlayRef = this.createOverlay()\n currentSubscription: Subscription | undefined\n\n @Input()\n set loadOverlayLoader(value: Observable<any>) {\n this.unsubscribeCurrentSubscription()\n this.subscribe(value)\n };\n\n constructor(\n private elementRef: ElementRef,\n private overlay: Overlay,\n @Inject(CONFIGURATION_TOKEN) private configuration: LoaderConfiguration\n ) {\n }\n\n ngOnInit(): void {\n }\n\n ngOnDestroy(): void {\n this.detachLoader()\n this.unsubscribeCurrentSubscription()\n }\n\n private unsubscribeCurrentSubscription() {\n if (this.currentSubscription) {\n this.detachLoader()\n this.currentSubscription.unsubscribe()\n }\n }\n\n private subscribe(value: Observable<any>) {\n this.attachLoader()\n this.currentSubscription = value.subscribe(\n {\n next: () => this.detachLoader(),\n complete: () => this.detachLoader(),\n error: () => this.detachLoader()\n }\n )\n }\n\n private createOverlay() {\n return this.overlay.create({\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay.position()\n .flexibleConnectedTo(this.elementRef)\n .withPush(false)\n .withPositions(\n [\n {\n originX: \"center\",\n originY: \"center\",\n overlayX: \"center\",\n overlayY: \"center\"\n }\n ]\n )\n })\n }\n\n private attachLoader() {\n this.overlayRef.attach(new ComponentPortal(this.configuration.loaderComponent))\n }\n\n private detachLoader() {\n this.overlayRef.detach()\n }\n\n}\n\n","import {\n Directive,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { Observable, Subscription } from \"rxjs\";\n\n@Directive({\n selector: '[loadReplacementLoader]'\n})\nexport class ReplacementLoaderDirective implements OnInit, OnDestroy {\n\n _replacementComponent: TemplateRef<any> | undefined\n _loaded: boolean = false\n currentSubscription: Subscription | undefined\n\n @Input()\n set loadReplacementLoader(value: Observable<any>) {\n this.unsubscribe();\n this.setIsLoading()\n this.currentSubscription = value.subscribe(\n {\n next: () => this.setIsLoaded(),\n error: () => this.setIsLoaded(),\n complete: () => this.setIsLoaded()\n }\n )\n };\n\n private unsubscribe() {\n if (this.currentSubscription) {\n this.currentSubscription.unsubscribe()\n }\n }\n\n private setIsLoaded() {\n this._loaded = true;\n this.render();\n }\n\n private setIsLoading() {\n this._loaded = false\n this.render();\n }\n\n @Input()\n set loadReplacementLoaderWithComponent(value: TemplateRef<any>) {\n this._replacementComponent = value\n this.render();\n }\n\n private render() {\n if (this._loaded) {\n this.displayInitialComponent()\n } else {\n this.displayReplacementComponent();\n }\n }\n\n private displayReplacementComponent() {\n if (this._replacementComponent) {\n this.viewContainer.clear();\n this.viewContainer.createEmbeddedView(this._replacementComponent)\n }\n }\n\n private displayInitialComponent() {\n this.viewContainer.clear();\n this.viewContainer.createEmbeddedView(this.templateRef);\n }\n\n constructor(\n private templateRef: TemplateRef<any>,\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private viewContainer: ViewContainerRef,\n ) {\n }\n\n ngOnInit(): void {\n }\n\n ngOnDestroy(): void {\n this.unsubscribe()\n }\n\n\n}\n\n","import { Inject, Injectable } from '@angular/core';\nimport { Overlay } from \"@angular/cdk/overlay\";\nimport { ComponentPortal } from \"@angular/cdk/portal\";\nimport { Observable, tap } from \"rxjs\";\nimport { CONFIGURATION_TOKEN, LoaderConfiguration } from \"../core/loader.configuration\";\n\n@Injectable()\nexport class LoaderService {\n\n overlayRef = this.overlay.create({\n positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),\n hasBackdrop: true\n })\n\n constructor(private overlay: Overlay,\n @Inject(CONFIGURATION_TOKEN) private configuration: LoaderConfiguration\n ) {\n }\n\n attachLoader<T>(): (source: Observable<T>) => Observable<T> {\n return tap<T>({\n subscribe: () => this.showLoader(),\n next: () => this.hideLoader(),\n error: () => this.hideLoader()\n }\n );\n }\n\n private showLoader() {\n this.overlayRef.attach(new ComponentPortal(this.configuration.loaderComponent))\n }\n\n private hideLoader() {\n this.overlayRef.detach()\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { OverlayModule } from \"@angular/cdk/overlay\";\nimport { CONFIGURATION_TOKEN, DEFAULT_CONFIGURATION, LoaderConfiguration } from \"./core/loader.configuration\";\nimport { DefaultLoadingComponent } from \"./core/default-loading.component\";\nimport { OverlayLoaderDirective } from \"./overlay/overlay-loader.directive\";\nimport { ReplacementLoaderDirective } from \"./replacement/replacement-loader.directive\";\nimport { LoaderService } from \"./overlay/loader.service\";\n\n@NgModule({\n declarations: [\n DefaultLoadingComponent,\n OverlayLoaderDirective,\n ReplacementLoaderDirective\n ],\n imports: [\n CommonModule,\n OverlayModule\n ],\n providers: [\n LoaderService,\n {provide: CONFIGURATION_TOKEN, useValue: DEFAULT_CONFIGURATION}\n ],\n exports: [\n OverlayLoaderDirective,\n ReplacementLoaderDirective\n ]\n})\nexport class NgxLoadModule {\n static with(configuration: LoaderConfiguration): ModuleWithProviders<NgxLoadModule> {\n return {\n ngModule: NgxLoadModule,\n providers: [\n {provide: CONFIGURATION_TOKEN, useValue: configuration}\n ]\n };\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}