@yoyoboot/l-52abp-ng
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.13.
64 lines • 7.22 kB
JavaScript
import { OverlayConfig } from '@angular/cdk/overlay';
import { ComponentPortal } from '@angular/cdk/portal';
import { Injectable } from '@angular/core';
import { OverlayComponent } from './overlay/overlay.component';
import * as i0 from "@angular/core";
import * as i1 from "@angular/cdk/overlay";
export class LoadingService {
constructor(overlay) {
this.overlay = overlay;
this.showLoading = false;
}
/** 显示加载效果 */
show(message = '', target) {
if (!this.showLoading) {
const config = new OverlayConfig();
if (target) {
config.positionStrategy = this.overlay
.position()
.flexibleConnectedTo(target.element)
.withPositions([
{
originY: 'center',
originX: 'center',
overlayX: 'start',
overlayY: 'top'
}
]);
}
else {
config.positionStrategy = this.overlay
.position()
.global()
.centerHorizontally() // 水平居中
.centerVertically();
}
config.hasBackdrop = true;
this.overlayRef = this.overlay.create(config); // OverlayRef, overlay层
this.overlayRef.attach(new ComponentPortal(OverlayComponent, target));
this.showLoading = true;
}
}
/** 隐藏 */
hide() {
if (this.showLoading) {
this.overlayRef.dispose();
this.showLoading = false;
}
}
static include(componentType) {
if (!LoadingService.appliedComponents.includes(componentType)) {
LoadingService.appliedComponents.push(componentType);
}
}
}
LoadingService.appliedComponents = [];
LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LoadingService, deps: [{ token: i1.Overlay }], target: i0.ɵɵFactoryTarget.Injectable });
LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LoadingService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: LoadingService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return [{ type: i1.Overlay }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbC01MmFicC1uZy9zcmMvZ2xvYmFsLWxvYWRpbmcvbG9hZGluZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBc0IsYUFBYSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFDTCxVQUFVLEVBR1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7OztBQUs3RCxNQUFNLE9BQU8sY0FBYztJQU96QixZQUFtQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBSm5DLGdCQUFXLEdBQUcsS0FBSyxDQUFDO0lBS3BCLENBQUM7SUFFRCxhQUFhO0lBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEVBQUUsTUFBeUI7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsTUFBTSxNQUFNLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNuQyxJQUFJLE1BQU0sRUFBRTtnQkFDVixNQUFNLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU87cUJBQ25DLFFBQVEsRUFBRTtxQkFDVixtQkFBbUIsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO3FCQUNuQyxhQUFhLENBQUM7b0JBQ2I7d0JBQ0UsT0FBTyxFQUFFLFFBQVE7d0JBQ2pCLE9BQU8sRUFBRSxRQUFRO3dCQUNqQixRQUFRLEVBQUUsT0FBTzt3QkFDakIsUUFBUSxFQUFFLEtBQUs7cUJBQ2hCO2lCQUNGLENBQUMsQ0FBQzthQUNOO2lCQUFNO2dCQUNMLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTztxQkFDbkMsUUFBUSxFQUFFO3FCQUNWLE1BQU0sRUFBRTtxQkFDUixrQkFBa0IsRUFBRSxDQUFDLE9BQU87cUJBQzVCLGdCQUFnQixFQUFFLENBQUM7YUFDdkI7WUFDRCxNQUFNLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsdUJBQXVCO1lBQ3RFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksZUFBZSxDQUFDLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFDdEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsU0FBUztJQUNULElBQUk7UUFDRixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztTQUMxQjtJQUNILENBQUM7SUFHRCxNQUFNLENBQUMsT0FBTyxDQUFDLGFBQWlDO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxFQUFFO1lBQzdELGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDOztBQXBETSxnQ0FBaUIsR0FBRyxFQUFFLENBQUM7NEdBRG5CLGNBQWM7Z0hBQWQsY0FBYyxjQUZiLE1BQU07NEZBRVAsY0FBYztrQkFIMUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge092ZXJsYXksIE92ZXJsYXlSZWYsIE92ZXJsYXlDb25maWd9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7Q29tcG9uZW50UG9ydGFsfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFR5cGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge092ZXJsYXlDb21wb25lbnR9IGZyb20gJy4vb3ZlcmxheS9vdmVybGF5LmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvYWRpbmdTZXJ2aWNlIHtcbiAgc3RhdGljIGFwcGxpZWRDb21wb25lbnRzID0gW107XG5cbiAgc2hvd0xvYWRpbmcgPSBmYWxzZTtcblxuICBvdmVybGF5UmVmOiBPdmVybGF5UmVmO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvdmVybGF5OiBPdmVybGF5KSB7XG4gIH1cblxuICAvKiog5pi+56S65Yqg6L295pWI5p6cICovXG4gIHNob3cobWVzc2FnZSA9ICcnLCB0YXJnZXQ/OiBWaWV3Q29udGFpbmVyUmVmKSB7XG4gICAgaWYgKCF0aGlzLnNob3dMb2FkaW5nKSB7XG4gICAgICBjb25zdCBjb25maWcgPSBuZXcgT3ZlcmxheUNvbmZpZygpO1xuICAgICAgaWYgKHRhcmdldCkge1xuICAgICAgICBjb25maWcucG9zaXRpb25TdHJhdGVneSA9IHRoaXMub3ZlcmxheVxuICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGFyZ2V0LmVsZW1lbnQpXG4gICAgICAgICAgLndpdGhQb3NpdGlvbnMoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvcmlnaW5ZOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICAgICAgICBvdmVybGF5WTogJ3RvcCdcbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbmZpZy5wb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5vdmVybGF5XG4gICAgICAgICAgLnBvc2l0aW9uKClcbiAgICAgICAgICAuZ2xvYmFsKClcbiAgICAgICAgICAuY2VudGVySG9yaXpvbnRhbGx5KCkgLy8g5rC05bmz5bGF5LitXG4gICAgICAgICAgLmNlbnRlclZlcnRpY2FsbHkoKTtcbiAgICAgIH1cbiAgICAgIGNvbmZpZy5oYXNCYWNrZHJvcCA9IHRydWU7XG4gICAgICB0aGlzLm92ZXJsYXlSZWYgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKGNvbmZpZyk7IC8vIE92ZXJsYXlSZWYsIG92ZXJsYXnlsYJcbiAgICAgIHRoaXMub3ZlcmxheVJlZi5hdHRhY2gobmV3IENvbXBvbmVudFBvcnRhbChPdmVybGF5Q29tcG9uZW50LCB0YXJnZXQpKTtcbiAgICAgIHRoaXMuc2hvd0xvYWRpbmcgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKiDpmpDol48gKi9cbiAgaGlkZSgpIHtcbiAgICBpZiAodGhpcy5zaG93TG9hZGluZykge1xuICAgICAgdGhpcy5vdmVybGF5UmVmLmRpc3Bvc2UoKTtcbiAgICAgIHRoaXMuc2hvd0xvYWRpbmcgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuXG4gIHN0YXRpYyBpbmNsdWRlKGNvbXBvbmVudFR5cGU6IHN0cmluZyB8IFR5cGU8YW55Pik6IGFueSB7XG4gICAgaWYgKCFMb2FkaW5nU2VydmljZS5hcHBsaWVkQ29tcG9uZW50cy5pbmNsdWRlcyhjb21wb25lbnRUeXBlKSkge1xuICAgICAgTG9hZGluZ1NlcnZpY2UuYXBwbGllZENvbXBvbmVudHMucHVzaChjb21wb25lbnRUeXBlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==