@kolektor/nucleus-material 0.0.12-pre.7919 → 0.1.0-pre.124
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -0
- package/esm2022/index.mjs +24 -0
- package/esm2022/kolektor-nucleus-material.mjs +5 -0
- package/esm2022/lib/dialog/dialog.component.mjs +22 -0
- package/esm2022/lib/dialog/dialog.module.mjs +19 -0
- package/esm2022/lib/dialog/dialog.service.mjs +45 -0
- package/esm2022/lib/dialog/models.mjs +10 -0
- package/esm2022/lib/loaded-content/loaded-content-component.mjs +72 -0
- package/esm2022/lib/loaded-content/loaded-content-directive.mjs +78 -0
- package/esm2022/lib/loaded-content/loaded-content-module.mjs +33 -0
- package/esm2022/lib/loaded-content/loading-state.mjs +105 -0
- package/esm2022/lib/snackbar/models.mjs +9 -0
- package/esm2022/lib/snackbar/progress-snackbar/progress-snackbar.component.mjs +31 -0
- package/esm2022/lib/snackbar/snackbar.module.mjs +20 -0
- package/esm2022/lib/snackbar/snackbar.service.mjs +51 -0
- package/esm2022/lib/swipe-tabs/swipe-tabs-directive.mjs +58 -0
- package/esm2022/lib/swipe-tabs/swipe-tabs-module.mjs +18 -0
- package/esm2022/lib/user-avatar/user-avatar-component.mjs +52 -0
- package/esm2022/lib/user-avatar/user-avatar-module.mjs +18 -0
- package/fesm2022/kolektor-nucleus-material.mjs +598 -0
- package/fesm2022/kolektor-nucleus-material.mjs.map +1 -0
- package/index.d.ts +17 -5
- package/lib/dialog/dialog.component.d.ts +10 -10
- package/lib/dialog/dialog.module.d.ts +10 -10
- package/lib/dialog/dialog.service.d.ts +17 -17
- package/lib/dialog/models.d.ts +24 -24
- package/lib/loaded-content/loaded-content-component.d.ts +22 -22
- package/lib/loaded-content/loaded-content-directive.d.ts +23 -23
- package/lib/loaded-content/loaded-content-module.d.ts +12 -12
- package/lib/loaded-content/loading-state.d.ts +32 -32
- package/lib/snackbar/models.d.ts +7 -7
- package/lib/snackbar/progress-snackbar/progress-snackbar.component.d.ts +10 -10
- package/lib/snackbar/snackbar.module.d.ts +10 -10
- package/lib/snackbar/snackbar.service.d.ts +13 -13
- package/lib/swipe-tabs/swipe-tabs-directive.d.ts +11 -11
- package/lib/swipe-tabs/swipe-tabs-module.d.ts +8 -8
- package/lib/user-avatar/user-avatar-component.d.ts +13 -14
- package/lib/user-avatar/user-avatar-module.d.ts +8 -8
- package/package.json +24 -29
- package/esm2020/kolektor-nucleus-material.mjs +0 -5
- package/esm2020/lib/dialog/dialog.component.mjs +0 -22
- package/esm2020/lib/dialog/dialog.module.mjs +0 -29
- package/esm2020/lib/dialog/dialog.service.mjs +0 -40
- package/esm2020/lib/dialog/models.mjs +0 -10
- package/esm2020/lib/loaded-content/loaded-content-component.mjs +0 -71
- package/esm2020/lib/loaded-content/loaded-content-directive.mjs +0 -79
- package/esm2020/lib/loaded-content/loaded-content-module.mjs +0 -39
- package/esm2020/lib/loaded-content/loading-state.mjs +0 -107
- package/esm2020/lib/native-styling/models.mjs +0 -9
- package/esm2020/lib/native-styling/native-styling.service.mjs +0 -67
- package/esm2020/lib/snackbar/models.mjs +0 -9
- package/esm2020/lib/snackbar/progress-snackbar/progress-snackbar.component.mjs +0 -29
- package/esm2020/lib/snackbar/snackbar.module.mjs +0 -33
- package/esm2020/lib/snackbar/snackbar.service.mjs +0 -50
- package/esm2020/lib/swipe-tabs/swipe-tabs-directive.mjs +0 -54
- package/esm2020/lib/swipe-tabs/swipe-tabs-module.mjs +0 -24
- package/esm2020/lib/user-avatar/user-avatar-component.mjs +0 -50
- package/esm2020/lib/user-avatar/user-avatar-module.mjs +0 -24
- package/esm2020/public-api.mjs +0 -30
- package/fesm2015/kolektor-nucleus-material.mjs +0 -712
- package/fesm2015/kolektor-nucleus-material.mjs.map +0 -1
- package/fesm2020/kolektor-nucleus-material.mjs +0 -704
- package/fesm2020/kolektor-nucleus-material.mjs.map +0 -1
- package/lib/native-styling/models.d.ts +0 -7
- package/lib/native-styling/native-styling.service.d.ts +0 -14
- package/public-api.d.ts +0 -19
package/README.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// dialog
|
|
2
|
+
export * from './lib/dialog/dialog.service';
|
|
3
|
+
export * from './lib/dialog/dialog.module';
|
|
4
|
+
export * from './lib/dialog/models';
|
|
5
|
+
// loaded-content
|
|
6
|
+
export * from './lib/loaded-content/loading-state';
|
|
7
|
+
export * from './lib/loaded-content/loaded-content-component';
|
|
8
|
+
export * from './lib/loaded-content/loaded-content-directive';
|
|
9
|
+
export * from './lib/loaded-content/loaded-content-module';
|
|
10
|
+
// swipe-tabs
|
|
11
|
+
export * from './lib/swipe-tabs/swipe-tabs-directive';
|
|
12
|
+
export * from './lib/swipe-tabs/swipe-tabs-module';
|
|
13
|
+
// dialog component
|
|
14
|
+
export * from './lib/dialog/dialog.service';
|
|
15
|
+
export * from './lib/dialog/dialog.module';
|
|
16
|
+
export * from './lib/dialog/models';
|
|
17
|
+
// snackbar component
|
|
18
|
+
export * from './lib/snackbar/snackbar.service';
|
|
19
|
+
export * from './lib/snackbar/snackbar.module';
|
|
20
|
+
export * from './lib/snackbar/models';
|
|
21
|
+
// user-avatar
|
|
22
|
+
export * from './lib/user-avatar/user-avatar-component';
|
|
23
|
+
export * from './lib/user-avatar/user-avatar-module';
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25nL251Y2xldXMtbWF0ZXJpYWwvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVM7QUFDVCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxpQkFBaUI7QUFDakIsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUUzRCxhQUFhO0FBQ2IsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLG9DQUFvQyxDQUFDO0FBRW5ELG1CQUFtQjtBQUNuQixjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxxQkFBcUI7QUFDckIsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsdUJBQXVCLENBQUM7QUFFdEMsY0FBYztBQUNkLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxzQ0FBc0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGRpYWxvZ1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2cubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9tb2RlbHMnO1xuXG4vLyBsb2FkZWQtY29udGVudFxuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGVkLWNvbnRlbnQvbG9hZGluZy1zdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9sb2FkZWQtY29udGVudC9sb2FkZWQtY29udGVudC1jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbG9hZGVkLWNvbnRlbnQvbG9hZGVkLWNvbnRlbnQtZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xvYWRlZC1jb250ZW50L2xvYWRlZC1jb250ZW50LW1vZHVsZSc7XG5cbi8vIHN3aXBlLXRhYnNcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N3aXBlLXRhYnMvc3dpcGUtdGFicy1kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3dpcGUtdGFicy9zd2lwZS10YWJzLW1vZHVsZSc7XG5cbi8vIGRpYWxvZyBjb21wb25lbnRcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpYWxvZy9kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaWFsb2cvZGlhbG9nLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaWFsb2cvbW9kZWxzJztcblxuLy8gc25hY2tiYXIgY29tcG9uZW50XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbmFja2Jhci9zbmFja2Jhci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NuYWNrYmFyL3NuYWNrYmFyLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbmFja2Jhci9tb2RlbHMnO1xuXG4vLyB1c2VyLWF2YXRhclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdXNlci1hdmF0YXIvdXNlci1hdmF0YXItY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLW1vZHVsZSc7XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia29sZWt0b3ItbnVjbGV1cy1tYXRlcmlhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmcvbnVjbGV1cy1tYXRlcmlhbC9zcmMva29sZWt0b3ItbnVjbGV1cy1tYXRlcmlhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "@angular/common";
|
|
6
|
+
import * as i3 from "@angular/material/button";
|
|
7
|
+
export class NucDialogComponent {
|
|
8
|
+
constructor(dialogRef, dialogData) {
|
|
9
|
+
this.dialogRef = dialogRef;
|
|
10
|
+
this.dialogData = dialogData;
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NucDialogComponent, selector: "nuc-dialog", ngImport: i0, template: "<ng-container *ngIf=\"dialogData\">\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\n {{ dialogData.title }}\n </h2>\n <mat-dialog-content>{{ dialogData.message }}</mat-dialog-content>\n <mat-dialog-actions>\n <ng-container *ngFor=\"let action of dialogData.actions\">\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value === undefined\"\n mat-button\n mat-dialog-close\n >\n {{ action.text }}\n </button>\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value !== undefined\"\n mat-button\n [mat-dialog-close]=\"action.value\"\n >\n {{ action.text }}\n </button>\n </ng-container>\n </mat-dialog-actions>\n</ng-container>\n", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{ selector: 'nuc-dialog', template: "<ng-container *ngIf=\"dialogData\">\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\n {{ dialogData.title }}\n </h2>\n <mat-dialog-content>{{ dialogData.message }}</mat-dialog-content>\n <mat-dialog-actions>\n <ng-container *ngFor=\"let action of dialogData.actions\">\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value === undefined\"\n mat-button\n mat-dialog-close\n >\n {{ action.text }}\n </button>\n <button\n color=\"{{ action.color || 'primary' }}\"\n *ngIf=\"action.value !== undefined\"\n mat-button\n [mat-dialog-close]=\"action.value\"\n >\n {{ action.text }}\n </button>\n </ng-container>\n </mat-dialog-actions>\n</ng-container>\n", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"] }]
|
|
18
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
19
|
+
type: Inject,
|
|
20
|
+
args: [MAT_DIALOG_DATA]
|
|
21
|
+
}] }]; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQVN6RSxNQUFNLE9BQU8sa0JBQWtCO0lBQzdCLFlBQ1MsU0FBMkMsRUFDbEIsVUFBeUI7UUFEbEQsY0FBUyxHQUFULFNBQVMsQ0FBa0M7UUFDbEIsZUFBVSxHQUFWLFVBQVUsQ0FBZTtJQUN4RCxDQUFDOytHQUpPLGtCQUFrQiw4Q0FHbkIsZUFBZTttR0FIZCxrQkFBa0Isa0RDVi9CLHF4QkEwQkE7OzRGRGhCYSxrQkFBa0I7a0JBTjlCLFNBQVM7K0JBRUUsWUFBWTs7MEJBT25CLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBOdWNEaWFsb2dEYXRhIH0gZnJvbSAnLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdudWMtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2RpYWxvZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOdWNEaWFsb2dDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TnVjRGlhbG9nQ29tcG9uZW50PixcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRpYWxvZ0RhdGE6IE51Y0RpYWxvZ0RhdGFcbiAgKSB7fVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpYWxvZ0RhdGFcIj5cbiAgPGgyIG1hdC1kaWFsb2ctdGl0bGUgKm5nSWY9XCJkaWFsb2dEYXRhLnRpdGxlXCI+XG4gICAge3sgZGlhbG9nRGF0YS50aXRsZSB9fVxuICA8L2gyPlxuICA8bWF0LWRpYWxvZy1jb250ZW50Pnt7IGRpYWxvZ0RhdGEubWVzc2FnZSB9fTwvbWF0LWRpYWxvZy1jb250ZW50PlxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGFjdGlvbiBvZiBkaWFsb2dEYXRhLmFjdGlvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgY29sb3I9XCJ7eyBhY3Rpb24uY29sb3IgfHwgJ3ByaW1hcnknIH19XCJcbiAgICAgICAgKm5nSWY9XCJhY3Rpb24udmFsdWUgPT09IHVuZGVmaW5lZFwiXG4gICAgICAgIG1hdC1idXR0b25cbiAgICAgICAgbWF0LWRpYWxvZy1jbG9zZVxuICAgICAgPlxuICAgICAgICB7eyBhY3Rpb24udGV4dCB9fVxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNvbG9yPVwie3sgYWN0aW9uLmNvbG9yIHx8ICdwcmltYXJ5JyB9fVwiXG4gICAgICAgICpuZ0lmPVwiYWN0aW9uLnZhbHVlICE9PSB1bmRlZmluZWRcIlxuICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgIFttYXQtZGlhbG9nLWNsb3NlXT1cImFjdGlvbi52YWx1ZVwiXG4gICAgICA+XG4gICAgICAgIHt7IGFjdGlvbi50ZXh0IH19XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9tYXQtZGlhbG9nLWFjdGlvbnM+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
5
|
+
import { NucDialogComponent } from './dialog.component';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class NucDialogModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NucDialogModule, declarations: [NucDialogComponent], imports: [CommonModule, MatDialogModule, MatButtonModule] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogModule, imports: [CommonModule, MatDialogModule, MatButtonModule] }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [NucDialogComponent],
|
|
16
|
+
imports: [CommonModule, MatDialogModule, MatButtonModule],
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL2RpYWxvZy9kaWFsb2cubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBTXhELE1BQU0sT0FBTyxlQUFlOytHQUFmLGVBQWU7Z0hBQWYsZUFBZSxpQkFIWCxrQkFBa0IsYUFDdkIsWUFBWSxFQUFFLGVBQWUsRUFBRSxlQUFlO2dIQUU3QyxlQUFlLFlBRmhCLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZTs7NEZBRTdDLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxlQUFlLEVBQUUsZUFBZSxDQUFDO2lCQUMxRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBOdWNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOdWNEaWFsb2dDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXREaWFsb2dNb2R1bGUsIE1hdEJ1dHRvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE51Y0RpYWxvZ01vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { MatDialog } from '@angular/material/dialog';
|
|
3
|
+
import { NucDialogComponent } from './dialog.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/dialog";
|
|
6
|
+
export class NucDialogService {
|
|
7
|
+
constructor(_matDialog) {
|
|
8
|
+
this._matDialog = _matDialog;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Opens a NucDialog with content from dialogData.
|
|
12
|
+
*
|
|
13
|
+
* @param dialogData NucDialogData containing title, message and possible actions.
|
|
14
|
+
* @param dialogConfig Extra configuration options. Data property is ignored, since it will be set to dialogData.
|
|
15
|
+
* @returns a promise with value that was specified inside pressed Nucleus action.
|
|
16
|
+
*/
|
|
17
|
+
async open(dialogData, dialogConfig
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
19
|
+
) {
|
|
20
|
+
if (dialogData.actions && dialogData.actions.length > 0) {
|
|
21
|
+
if (dialogConfig) {
|
|
22
|
+
dialogConfig.data = dialogData;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
dialogConfig = { data: dialogData };
|
|
26
|
+
}
|
|
27
|
+
return await this._matDialog
|
|
28
|
+
.open(NucDialogComponent, dialogConfig)
|
|
29
|
+
.beforeClosed()
|
|
30
|
+
.toPromise();
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
console.error('Nucleus.AppCore: NucDialogData requires at least one action.');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogService, providedIn: 'root' }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucDialogService, decorators: [{
|
|
40
|
+
type: Injectable,
|
|
41
|
+
args: [{
|
|
42
|
+
providedIn: 'root',
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFtQixNQUFNLDBCQUEwQixDQUFDO0FBRXRFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFLeEQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUFvQixVQUFxQjtRQUFyQixlQUFVLEdBQVYsVUFBVSxDQUFXO0lBQUcsQ0FBQztJQUU3Qzs7Ozs7O09BTUc7SUFDSSxLQUFLLENBQUMsSUFBSSxDQUNmLFVBQXlCLEVBQ3pCLFlBQThCO0lBQ2hDLDhEQUE4RDs7UUFFNUQsSUFBSSxVQUFVLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2RCxJQUFJLFlBQVksRUFBRTtnQkFDaEIsWUFBWSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7YUFDaEM7aUJBQU07Z0JBQ0wsWUFBWSxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO2FBQ3JDO1lBQ0QsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVO2lCQUN6QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxDQUFDO2lCQUN0QyxZQUFZLEVBQUU7aUJBQ2QsU0FBUyxFQUFFLENBQUM7U0FDaEI7YUFBTTtZQUNMLE9BQU8sQ0FBQyxLQUFLLENBQ1gsOERBQThELENBQy9ELENBQUM7U0FDSDtJQUNILENBQUM7K0dBOUJVLGdCQUFnQjttSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTs7NEZBRVAsZ0JBQWdCO2tCQUg1QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE51Y0RpYWxvZ0RhdGEgfSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBOdWNEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2RpYWxvZy5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTnVjRGlhbG9nU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX21hdERpYWxvZzogTWF0RGlhbG9nKSB7fVxuXG4gIC8qKlxuICAgKiBPcGVucyBhIE51Y0RpYWxvZyB3aXRoIGNvbnRlbnQgZnJvbSBkaWFsb2dEYXRhLlxuICAgKlxuICAgKiBAcGFyYW0gZGlhbG9nRGF0YSBOdWNEaWFsb2dEYXRhIGNvbnRhaW5pbmcgdGl0bGUsIG1lc3NhZ2UgYW5kIHBvc3NpYmxlIGFjdGlvbnMuXG4gICAqIEBwYXJhbSBkaWFsb2dDb25maWcgRXh0cmEgY29uZmlndXJhdGlvbiBvcHRpb25zLiBEYXRhIHByb3BlcnR5IGlzIGlnbm9yZWQsIHNpbmNlIGl0IHdpbGwgYmUgc2V0IHRvIGRpYWxvZ0RhdGEuXG4gICAqIEByZXR1cm5zIGEgcHJvbWlzZSB3aXRoIHZhbHVlIHRoYXQgd2FzIHNwZWNpZmllZCBpbnNpZGUgcHJlc3NlZCBOdWNsZXVzIGFjdGlvbi5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBvcGVuKFxuICAgIGRpYWxvZ0RhdGE6IE51Y0RpYWxvZ0RhdGEsXG4gICAgZGlhbG9nQ29uZmlnPzogTWF0RGlhbG9nQ29uZmlnXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKGRpYWxvZ0RhdGEuYWN0aW9ucyAmJiBkaWFsb2dEYXRhLmFjdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKGRpYWxvZ0NvbmZpZykge1xuICAgICAgICBkaWFsb2dDb25maWcuZGF0YSA9IGRpYWxvZ0RhdGE7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkaWFsb2dDb25maWcgPSB7IGRhdGE6IGRpYWxvZ0RhdGEgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLl9tYXREaWFsb2dcbiAgICAgICAgLm9wZW4oTnVjRGlhbG9nQ29tcG9uZW50LCBkaWFsb2dDb25maWcpXG4gICAgICAgIC5iZWZvcmVDbG9zZWQoKVxuICAgICAgICAudG9Qcm9taXNlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICdOdWNsZXVzLkFwcENvcmU6IE51Y0RpYWxvZ0RhdGEgcmVxdWlyZXMgYXQgbGVhc3Qgb25lIGFjdGlvbi4nXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export var NucColor;
|
|
2
|
+
(function (NucColor) {
|
|
3
|
+
/** Primary color of the theme. */
|
|
4
|
+
NucColor["primary"] = "primary";
|
|
5
|
+
/** Accent color of the theme. */
|
|
6
|
+
NucColor["accent"] = "accent";
|
|
7
|
+
/** Warning color of the theme. */
|
|
8
|
+
NucColor["warn"] = "warn";
|
|
9
|
+
})(NucColor || (NucColor = {}));
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvZGlhbG9nL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQkEsTUFBTSxDQUFOLElBQVksUUFPWDtBQVBELFdBQVksUUFBUTtJQUNsQixrQ0FBa0M7SUFDbEMsK0JBQW1CLENBQUE7SUFDbkIsaUNBQWlDO0lBQ2pDLDZCQUFpQixDQUFBO0lBQ2pCLGtDQUFrQztJQUNsQyx5QkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQVBXLFFBQVEsS0FBUixRQUFRLFFBT25CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBOdWNEaWFsb2dEYXRhIHtcbiAgLyoqIE9wdGlvbmFsIHRpdGxlIGZvciB0aGUgZGlhbG9nLiAqL1xuICB0aXRsZT86IHN0cmluZztcbiAgLyoqIE1lc3NhZ2UgZm9yIHRoZSBkaWFsb2cuICovXG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgLyoqIEFjdGlvbihzKSAoYnV0dG9ucykgZm9yIHRoZSBkaWFsb2cuIEF0IGxlYXN0IG9uZSBpcyByZXF1aXJlZC4gKi9cbiAgYWN0aW9uczogTnVjQWN0aW9uW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTnVjQWN0aW9uIHtcbiAgLyoqIFRleHQgZm9yIHRoZSBhY3Rpb24gKGJ1dHRvbikuICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqIFJldHVybiB2YWx1ZSBmb3IgdGhlIGFjdGlvbiAoYnV0dG9uKS4gKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgdmFsdWU/OiBhbnk7XG4gIC8qKiBPcHRpb25hbCBjb2xvciBvZiB0aGUgYWN0aW9uIChidXR0b24pLiAqL1xuICBjb2xvcj86IE51Y0NvbG9yO1xufVxuXG5leHBvcnQgZW51bSBOdWNDb2xvciB7XG4gIC8qKiBQcmltYXJ5IGNvbG9yIG9mIHRoZSB0aGVtZS4gKi9cbiAgcHJpbWFyeSA9ICdwcmltYXJ5JyxcbiAgLyoqIEFjY2VudCBjb2xvciBvZiB0aGUgdGhlbWUuICovXG4gIGFjY2VudCA9ICdhY2NlbnQnLFxuICAvKiogV2FybmluZyBjb2xvciBvZiB0aGUgdGhlbWUuICovXG4gIHdhcm4gPSAnd2FybicsXG59XG4iXX0=
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { Component, Input, TemplateRef } from '@angular/core';
|
|
3
|
+
import { LoadingState, LoadingStatus } from './loading-state';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/material/progress-spinner";
|
|
7
|
+
import * as i3 from "@angular/material/button";
|
|
8
|
+
import * as i4 from "@angular/material/icon";
|
|
9
|
+
export class NucLoadedContentComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
this._errorDetailsVisible = false;
|
|
12
|
+
this.errorMessage = 'We are having trouble loading the data.';
|
|
13
|
+
this.showRetry = true;
|
|
14
|
+
}
|
|
15
|
+
get message() {
|
|
16
|
+
if (this.state.message != null) {
|
|
17
|
+
return this.state.message;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
if (this.state.status === LoadingStatus.failed) {
|
|
21
|
+
return this.errorMessage;
|
|
22
|
+
}
|
|
23
|
+
else if (this.state.status === LoadingStatus.inProgress) {
|
|
24
|
+
return this.inProgressMessage;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
get showRetryButton() {
|
|
30
|
+
return this.showRetry;
|
|
31
|
+
}
|
|
32
|
+
get inProgress() {
|
|
33
|
+
const inProgress = this.state.status === LoadingStatus.inProgress;
|
|
34
|
+
if (inProgress) {
|
|
35
|
+
this._errorDetailsVisible = false;
|
|
36
|
+
}
|
|
37
|
+
return inProgress;
|
|
38
|
+
}
|
|
39
|
+
get failed() {
|
|
40
|
+
return this.state.status === LoadingStatus.failed;
|
|
41
|
+
}
|
|
42
|
+
get completed() {
|
|
43
|
+
return this.state.status === LoadingStatus.completed;
|
|
44
|
+
}
|
|
45
|
+
get errorDetailsVisible() {
|
|
46
|
+
return this._errorDetailsVisible;
|
|
47
|
+
}
|
|
48
|
+
showErrorDetails() {
|
|
49
|
+
this._errorDetailsVisible = true;
|
|
50
|
+
}
|
|
51
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: NucLoadedContentComponent, selector: "nuc-loaded-content-component", inputs: { completedTemplate: "completedTemplate", errorTemplate: "errorTemplate", inProgressTemplate: "inProgressTemplate", state: "state", inProgressMessage: "inProgressMessage", errorMessage: "errorMessage", showRetry: "showRetry" }, ngImport: i0, template: "<ng-container *ngIf=\"completed\">\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\n</ng-container>\n\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\n <ng-container *ngIf=\"inProgress\">\n <ng-container\n *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"failed\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"\n ></ng-container>\n </ng-container>\n</div>\n\n<ng-template #defaultInProgressTemplate>\n <div class=\"spinner\">\n <mat-spinner [diameter]=\"45\"></mat-spinner>\n </div>\n <p>{{message}}</p>\n</ng-template>\n\n<ng-template #defaultErrorTemplate>\n <div>\n <p class=\"message\">\n <span>{{message}}</span>\n <mat-icon\n *ngIf=\"state.errorDetails && !errorDetailsVisible\"\n class=\"info-button\"\n color=\"warn\"\n (click)=\"showErrorDetails()\"\n >info</mat-icon\n >\n </p>\n\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\n {{state.errorDetails}}\n </p>\n\n <p *ngIf=\"showRetryButton\">\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </p>\n </div>\n</ng-template>\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i3.MatMiniFabButton, selector: "button[mat-mini-fab]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
53
|
+
}
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\n</ng-container>\n\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\n <ng-container *ngIf=\"inProgress\">\n <ng-container\n *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"\n ></ng-container>\n </ng-container>\n <ng-container *ngIf=\"failed\">\n <ng-container\n *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"\n ></ng-container>\n </ng-container>\n</div>\n\n<ng-template #defaultInProgressTemplate>\n <div class=\"spinner\">\n <mat-spinner [diameter]=\"45\"></mat-spinner>\n </div>\n <p>{{message}}</p>\n</ng-template>\n\n<ng-template #defaultErrorTemplate>\n <div>\n <p class=\"message\">\n <span>{{message}}</span>\n <mat-icon\n *ngIf=\"state.errorDetails && !errorDetailsVisible\"\n class=\"info-button\"\n color=\"warn\"\n (click)=\"showErrorDetails()\"\n >info</mat-icon\n >\n </p>\n\n <p *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\n {{state.errorDetails}}\n </p>\n\n <p *ngIf=\"showRetryButton\">\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\n <mat-icon>refresh</mat-icon>\n </button>\n </p>\n </div>\n</ng-template>\n", styles: [".indicators-container{text-align:center;margin:0 auto;padding-top:4rem}.error-details{margin-top:1rem}.spinner{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem}.message{display:flex;justify-content:center;align-items:center}.info-button{cursor:pointer;margin-left:.5rem}\n"] }]
|
|
57
|
+
}], propDecorators: { completedTemplate: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], errorTemplate: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], inProgressTemplate: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], state: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], inProgressMessage: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], errorMessage: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], showRetry: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVkLWNvbnRlbnQtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvbG9hZGVkLWNvbnRlbnQvbG9hZGVkLWNvbnRlbnQtY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvbG9hZGVkLWNvbnRlbnQvbG9hZGVkLWNvbnRlbnQtY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7QUFROUQsTUFBTSxPQUFPLHlCQUF5QjtJQU50QztRQU9VLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQWtCOUIsaUJBQVksR0FBRyx5Q0FBeUMsQ0FBQztRQUd6RCxjQUFTLEdBQUcsSUFBSSxDQUFDO0tBMEN6QjtJQXhDQyxJQUFXLE9BQU87UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUU7WUFDOUIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztTQUMzQjthQUFNO1lBQ0wsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsTUFBTSxFQUFFO2dCQUM5QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7YUFDMUI7aUJBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsVUFBVSxFQUFFO2dCQUN6RCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQzthQUMvQjtTQUNGO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ25CLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFDbEUsSUFBSSxVQUFVLEVBQUU7WUFDZCxJQUFJLENBQUMsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO1NBQ25DO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQVcsTUFBTTtRQUNmLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLE1BQU0sQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBVyxtQkFBbUI7UUFDNUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUVNLGdCQUFnQjtRQUNyQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO0lBQ25DLENBQUM7K0dBL0RVLHlCQUF5QjttR0FBekIseUJBQXlCLGdUQ1Z0Qyw2MkNBZ0RBOzs0RkR0Q2EseUJBQXlCO2tCQU5yQyxTQUFTOytCQUVFLDhCQUE4Qjs4QkFReEMsaUJBQWlCO3NCQURoQixLQUFLO2dCQUlOLGFBQWE7c0JBRFosS0FBSztnQkFJTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSUMsS0FBSztzQkFEWCxLQUFLO2dCQUlDLGlCQUFpQjtzQkFEdkIsS0FBSztnQkFJQyxZQUFZO3NCQURsQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGUsIExvYWRpbmdTdGF0dXMgfSBmcm9tICcuL2xvYWRpbmctc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdudWMtbG9hZGVkLWNvbnRlbnQtY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvYWRlZC1jb250ZW50LWNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGVkLWNvbnRlbnQtY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTnVjTG9hZGVkQ29udGVudENvbXBvbmVudCB7XG4gIHByaXZhdGUgX2Vycm9yRGV0YWlsc1Zpc2libGUgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBjb21wbGV0ZWRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBlcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBJbnB1dCgpXG4gIGluUHJvZ3Jlc3NUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc3RhdGU6IExvYWRpbmdTdGF0ZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaW5Qcm9ncmVzc01lc3NhZ2U6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZXJyb3JNZXNzYWdlID0gJ1dlIGFyZSBoYXZpbmcgdHJvdWJsZSBsb2FkaW5nIHRoZSBkYXRhLic7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHNob3dSZXRyeSA9IHRydWU7XG5cbiAgcHVibGljIGdldCBtZXNzYWdlKCkge1xuICAgIGlmICh0aGlzLnN0YXRlLm1lc3NhZ2UgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdGUubWVzc2FnZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuc3RhdGUuc3RhdHVzID09PSBMb2FkaW5nU3RhdHVzLmZhaWxlZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lcnJvck1lc3NhZ2U7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuc3RhdGUuc3RhdHVzID09PSBMb2FkaW5nU3RhdHVzLmluUHJvZ3Jlc3MpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5Qcm9ncmVzc01lc3NhZ2U7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldCBzaG93UmV0cnlCdXR0b24oKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hvd1JldHJ5O1xuICB9XG5cbiAgcHVibGljIGdldCBpblByb2dyZXNzKCkge1xuICAgIGNvbnN0IGluUHJvZ3Jlc3MgPSB0aGlzLnN0YXRlLnN0YXR1cyA9PT0gTG9hZGluZ1N0YXR1cy5pblByb2dyZXNzO1xuICAgIGlmIChpblByb2dyZXNzKSB7XG4gICAgICB0aGlzLl9lcnJvckRldGFpbHNWaXNpYmxlID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBpblByb2dyZXNzO1xuICB9XG5cbiAgcHVibGljIGdldCBmYWlsZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUuc3RhdHVzID09PSBMb2FkaW5nU3RhdHVzLmZhaWxlZDtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgY29tcGxldGVkKCkge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnN0YXR1cyA9PT0gTG9hZGluZ1N0YXR1cy5jb21wbGV0ZWQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGVycm9yRGV0YWlsc1Zpc2libGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yRGV0YWlsc1Zpc2libGU7XG4gIH1cblxuICBwdWJsaWMgc2hvd0Vycm9yRGV0YWlscygpIHtcbiAgICB0aGlzLl9lcnJvckRldGFpbHNWaXNpYmxlID0gdHJ1ZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImNvbXBsZXRlZFwiPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29tcGxldGVkVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuXG48ZGl2IGNsYXNzPVwiaW5kaWNhdG9ycy1jb250YWluZXJcIiAqbmdJZj1cImluUHJvZ3Jlc3MgfHwgZmFpbGVkXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpblByb2dyZXNzXCI+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpblByb2dyZXNzVGVtcGxhdGUgPyBpblByb2dyZXNzVGVtcGxhdGU6IGRlZmF1bHRJblByb2dyZXNzVGVtcGxhdGVcIlxuICAgID48L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJmYWlsZWRcIj5cbiAgICA8bmctY29udGFpbmVyXG4gICAgICAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yVGVtcGxhdGUgPyBlcnJvclRlbXBsYXRlOiBkZWZhdWx0RXJyb3JUZW1wbGF0ZVwiXG4gICAgPjwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRJblByb2dyZXNzVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJzcGlubmVyXCI+XG4gICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCI0NVwiPjwvbWF0LXNwaW5uZXI+XG4gIDwvZGl2PlxuICA8cD57e21lc3NhZ2V9fTwvcD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVycm9yVGVtcGxhdGU+XG4gIDxkaXY+XG4gICAgPHAgY2xhc3M9XCJtZXNzYWdlXCI+XG4gICAgICA8c3Bhbj57e21lc3NhZ2V9fTwvc3Bhbj5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICAqbmdJZj1cInN0YXRlLmVycm9yRGV0YWlscyAmJiAhZXJyb3JEZXRhaWxzVmlzaWJsZVwiXG4gICAgICAgIGNsYXNzPVwiaW5mby1idXR0b25cIlxuICAgICAgICBjb2xvcj1cIndhcm5cIlxuICAgICAgICAoY2xpY2spPVwic2hvd0Vycm9yRGV0YWlscygpXCJcbiAgICAgICAgPmluZm88L21hdC1pY29uXG4gICAgICA+XG4gICAgPC9wPlxuXG4gICAgPHAgKm5nSWY9XCJlcnJvckRldGFpbHNWaXNpYmxlXCIgY2xhc3M9XCJlcnJvci1kZXRhaWxzIG1hdC1zbWFsbFwiPlxuICAgICAge3tzdGF0ZS5lcnJvckRldGFpbHN9fVxuICAgIDwvcD5cblxuICAgIDxwICpuZ0lmPVwic2hvd1JldHJ5QnV0dG9uXCI+XG4gICAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic3RhdGUucmV0cnkoKVwiPlxuICAgICAgICA8bWF0LWljb24+cmVmcmVzaDwvbWF0LWljb24+XG4gICAgICA8L2J1dHRvbj5cbiAgICA8L3A+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { ComponentFactoryResolver, Directive, Input, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
3
|
+
import { NucLoadedContentComponent } from './loaded-content-component';
|
|
4
|
+
import { LoadingState } from './loading-state';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
7
|
+
export class NucLoadedContentDirective {
|
|
8
|
+
constructor(_viewContainer, templateRef, _componentResolver) {
|
|
9
|
+
this._viewContainer = _viewContainer;
|
|
10
|
+
this.templateRef = templateRef;
|
|
11
|
+
this._componentResolver = _componentResolver;
|
|
12
|
+
this._errorTemplateRef = null;
|
|
13
|
+
this._inProgressTemplateRef = null;
|
|
14
|
+
this._completedTemplateRef = templateRef;
|
|
15
|
+
}
|
|
16
|
+
set nucLoadedContent(state) {
|
|
17
|
+
// add some error handling if state is null, etc.
|
|
18
|
+
this._state = state;
|
|
19
|
+
this._updateView();
|
|
20
|
+
}
|
|
21
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
22
|
+
set errorTemplate(templateRef) {
|
|
23
|
+
this._errorTemplateRef = templateRef;
|
|
24
|
+
this._updateView();
|
|
25
|
+
}
|
|
26
|
+
// eslint-disable-next-line @angular-eslint/no-input-rename
|
|
27
|
+
set inProgressTemplate(templateRef) {
|
|
28
|
+
this._inProgressTemplateRef = templateRef;
|
|
29
|
+
this._updateView();
|
|
30
|
+
}
|
|
31
|
+
set inProgressMessage(inProgressMessage) {
|
|
32
|
+
this._component.instance.inProgressMessage = inProgressMessage;
|
|
33
|
+
}
|
|
34
|
+
set errorMessage(errorMessage) {
|
|
35
|
+
this._component.instance.errorMessage = errorMessage;
|
|
36
|
+
}
|
|
37
|
+
set showRetry(showRetry) {
|
|
38
|
+
this._component.instance.showRetry = showRetry;
|
|
39
|
+
}
|
|
40
|
+
_updateView() {
|
|
41
|
+
if (this._component == null) {
|
|
42
|
+
const fac = this._componentResolver.resolveComponentFactory(NucLoadedContentComponent);
|
|
43
|
+
this._component = this._viewContainer.createComponent(fac);
|
|
44
|
+
}
|
|
45
|
+
this._component.instance.state = this._state;
|
|
46
|
+
this._component.instance.completedTemplate = this._completedTemplateRef;
|
|
47
|
+
if (this._inProgressTemplateRef) {
|
|
48
|
+
this._component.instance.inProgressTemplate = this._inProgressTemplateRef;
|
|
49
|
+
}
|
|
50
|
+
if (this._errorTemplateRef) {
|
|
51
|
+
this._component.instance.errorTemplate = this._errorTemplateRef;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
55
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NucLoadedContentDirective, selector: "[nucLoadedContent]", inputs: { nucLoadedContent: "nucLoadedContent", errorTemplate: ["nucLoadedContentError", "errorTemplate"], inProgressTemplate: ["nucLoadedContentInProgress", "inProgressTemplate"], inProgressMessage: ["nucLoadedContentInProgressMessage", "inProgressMessage"], errorMessage: ["nucLoadedContentErrorMessage", "errorMessage"], showRetry: ["nucLoadedContentShowRetry", "showRetry"] }, ngImport: i0 }); }
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
|
|
58
|
+
type: Directive,
|
|
59
|
+
args: [{ selector: '[nucLoadedContent]' }]
|
|
60
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { nucLoadedContent: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], errorTemplate: [{
|
|
63
|
+
type: Input,
|
|
64
|
+
args: ['nucLoadedContentError']
|
|
65
|
+
}], inProgressTemplate: [{
|
|
66
|
+
type: Input,
|
|
67
|
+
args: ['nucLoadedContentInProgress']
|
|
68
|
+
}], inProgressMessage: [{
|
|
69
|
+
type: Input,
|
|
70
|
+
args: ['nucLoadedContentInProgressMessage']
|
|
71
|
+
}], errorMessage: [{
|
|
72
|
+
type: Input,
|
|
73
|
+
args: ['nucLoadedContentErrorMessage']
|
|
74
|
+
}], showRetry: [{
|
|
75
|
+
type: Input,
|
|
76
|
+
args: ['nucLoadedContentShowRetry']
|
|
77
|
+
}] } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVkLWNvbnRlbnQtZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvbG9hZGVkLWNvbnRlbnQvbG9hZGVkLWNvbnRlbnQtZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQ0wsd0JBQXdCLEVBRXhCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsV0FBVyxFQUNYLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRS9DLDhEQUE4RDtBQUU5RCxNQUFNLE9BQU8seUJBQXlCO0lBT3BDLFlBQ1UsY0FBZ0MsRUFDaEMsV0FBNkIsRUFDN0Isa0JBQTRDO1FBRjVDLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0IsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUEwQjtRQVA5QyxzQkFBaUIsR0FBNEIsSUFBSSxDQUFDO1FBQ2xELDJCQUFzQixHQUE0QixJQUFJLENBQUM7UUFRN0QsSUFBSSxDQUFDLHFCQUFxQixHQUFHLFdBQVcsQ0FBQztJQUMzQyxDQUFDO0lBRUQsSUFDSSxnQkFBZ0IsQ0FBQyxLQUFtQjtRQUN0QyxpREFBaUQ7UUFDakQsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCwyREFBMkQ7SUFDM0QsSUFDSSxhQUFhLENBQUMsV0FBb0M7UUFDcEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELDJEQUEyRDtJQUMzRCxJQUNJLGtCQUFrQixDQUFDLFdBQW9DO1FBQ3pELElBQUksQ0FBQyxzQkFBc0IsR0FBRyxXQUFXLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUNJLGlCQUFpQixDQUFDLGlCQUF5QjtRQUM3QyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztJQUNqRSxDQUFDO0lBRUQsSUFDSSxZQUFZLENBQUMsWUFBb0I7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLFlBQVksQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFDSSxTQUFTLENBQUMsU0FBa0I7UUFDOUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztJQUNqRCxDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFO1lBQzNCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyx1QkFBdUIsQ0FDekQseUJBQXlCLENBQzFCLENBQUM7WUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVEO1FBRUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDN0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBRXhFLElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsQ0FBQztTQUMzRTtRQUVELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7U0FDakU7SUFDSCxDQUFDOytHQXJFVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qjs7NEZBQXpCLHlCQUF5QjtrQkFEckMsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRTt3S0FpQnZDLGdCQUFnQjtzQkFEbkIsS0FBSztnQkFTRixhQUFhO3NCQURoQixLQUFLO3VCQUFDLHVCQUF1QjtnQkFRMUIsa0JBQWtCO3NCQURyQixLQUFLO3VCQUFDLDRCQUE0QjtnQkFPL0IsaUJBQWlCO3NCQURwQixLQUFLO3VCQUFDLG1DQUFtQztnQkFNdEMsWUFBWTtzQkFEZixLQUFLO3VCQUFDLDhCQUE4QjtnQkFNakMsU0FBUztzQkFEWixLQUFLO3VCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7XG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NvbnRhaW5lclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOdWNMb2FkZWRDb250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9sb2FkZWQtY29udGVudC1jb21wb25lbnQnO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlIH0gZnJvbSAnLi9sb2FkaW5nLXN0YXRlJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9kaXJlY3RpdmUtc2VsZWN0b3JcbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1tudWNMb2FkZWRDb250ZW50XScgfSlcbmV4cG9ydCBjbGFzcyBOdWNMb2FkZWRDb250ZW50RGlyZWN0aXZlIHtcbiAgcHJpdmF0ZSBfc3RhdGU6IExvYWRpbmdTdGF0ZTtcbiAgcHJpdmF0ZSBfY29tcGxldGVkVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG4gIHByaXZhdGUgX2Vycm9yVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfaW5Qcm9ncmVzc1RlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgX2NvbXBvbmVudDogQ29tcG9uZW50UmVmPE51Y0xvYWRlZENvbnRlbnRDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwcml2YXRlIF9jb21wb25lbnRSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICkge1xuICAgIHRoaXMuX2NvbXBsZXRlZFRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgbnVjTG9hZGVkQ29udGVudChzdGF0ZTogTG9hZGluZ1N0YXRlKSB7XG4gICAgLy8gYWRkIHNvbWUgZXJyb3IgaGFuZGxpbmcgaWYgc3RhdGUgaXMgbnVsbCwgZXRjLlxuICAgIHRoaXMuX3N0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5fdXBkYXRlVmlldygpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdudWNMb2FkZWRDb250ZW50RXJyb3InKVxuICBzZXQgZXJyb3JUZW1wbGF0ZSh0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PiB8IG51bGwpIHtcbiAgICB0aGlzLl9lcnJvclRlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gICAgdGhpcy5fdXBkYXRlVmlldygpO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1pbnB1dC1yZW5hbWVcbiAgQElucHV0KCdudWNMb2FkZWRDb250ZW50SW5Qcm9ncmVzcycpXG4gIHNldCBpblByb2dyZXNzVGVtcGxhdGUodGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsKSB7XG4gICAgdGhpcy5faW5Qcm9ncmVzc1RlbXBsYXRlUmVmID0gdGVtcGxhdGVSZWY7XG4gICAgdGhpcy5fdXBkYXRlVmlldygpO1xuICB9XG5cbiAgQElucHV0KCdudWNMb2FkZWRDb250ZW50SW5Qcm9ncmVzc01lc3NhZ2UnKVxuICBzZXQgaW5Qcm9ncmVzc01lc3NhZ2UoaW5Qcm9ncmVzc01lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbXBvbmVudC5pbnN0YW5jZS5pblByb2dyZXNzTWVzc2FnZSA9IGluUHJvZ3Jlc3NNZXNzYWdlO1xuICB9XG5cbiAgQElucHV0KCdudWNMb2FkZWRDb250ZW50RXJyb3JNZXNzYWdlJylcbiAgc2V0IGVycm9yTWVzc2FnZShlcnJvck1lc3NhZ2U6IHN0cmluZykge1xuICAgIHRoaXMuX2NvbXBvbmVudC5pbnN0YW5jZS5lcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2U7XG4gIH1cblxuICBASW5wdXQoJ251Y0xvYWRlZENvbnRlbnRTaG93UmV0cnknKVxuICBzZXQgc2hvd1JldHJ5KHNob3dSZXRyeTogYm9vbGVhbikge1xuICAgIHRoaXMuX2NvbXBvbmVudC5pbnN0YW5jZS5zaG93UmV0cnkgPSBzaG93UmV0cnk7XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVWaWV3KCkge1xuICAgIGlmICh0aGlzLl9jb21wb25lbnQgPT0gbnVsbCkge1xuICAgICAgY29uc3QgZmFjID0gdGhpcy5fY29tcG9uZW50UmVzb2x2ZXIucmVzb2x2ZUNvbXBvbmVudEZhY3RvcnkoXG4gICAgICAgIE51Y0xvYWRlZENvbnRlbnRDb21wb25lbnRcbiAgICAgICk7XG4gICAgICB0aGlzLl9jb21wb25lbnQgPSB0aGlzLl92aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChmYWMpO1xuICAgIH1cblxuICAgIHRoaXMuX2NvbXBvbmVudC5pbnN0YW5jZS5zdGF0ZSA9IHRoaXMuX3N0YXRlO1xuICAgIHRoaXMuX2NvbXBvbmVudC5pbnN0YW5jZS5jb21wbGV0ZWRUZW1wbGF0ZSA9IHRoaXMuX2NvbXBsZXRlZFRlbXBsYXRlUmVmO1xuXG4gICAgaWYgKHRoaXMuX2luUHJvZ3Jlc3NUZW1wbGF0ZVJlZikge1xuICAgICAgdGhpcy5fY29tcG9uZW50Lmluc3RhbmNlLmluUHJvZ3Jlc3NUZW1wbGF0ZSA9IHRoaXMuX2luUHJvZ3Jlc3NUZW1wbGF0ZVJlZjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fZXJyb3JUZW1wbGF0ZVJlZikge1xuICAgICAgdGhpcy5fY29tcG9uZW50Lmluc3RhbmNlLmVycm9yVGVtcGxhdGUgPSB0aGlzLl9lcnJvclRlbXBsYXRlUmVmO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { NucLoadedContentComponent } from './loaded-content-component';
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
6
|
+
import { CommonModule } from '@angular/common';
|
|
7
|
+
import { NucLoadedContentDirective } from './loaded-content-directive';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
export class NucLoadedContentModule {
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentModule, declarations: [NucLoadedContentDirective, NucLoadedContentComponent], imports: [CommonModule,
|
|
12
|
+
MatProgressSpinnerModule,
|
|
13
|
+
MatButtonModule,
|
|
14
|
+
MatIconModule], exports: [NucLoadedContentDirective] }); }
|
|
15
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentModule, imports: [CommonModule,
|
|
16
|
+
MatProgressSpinnerModule,
|
|
17
|
+
MatButtonModule,
|
|
18
|
+
MatIconModule] }); }
|
|
19
|
+
}
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucLoadedContentModule, decorators: [{
|
|
21
|
+
type: NgModule,
|
|
22
|
+
args: [{
|
|
23
|
+
declarations: [NucLoadedContentDirective, NucLoadedContentComponent],
|
|
24
|
+
imports: [
|
|
25
|
+
CommonModule,
|
|
26
|
+
MatProgressSpinnerModule,
|
|
27
|
+
MatButtonModule,
|
|
28
|
+
MatIconModule,
|
|
29
|
+
],
|
|
30
|
+
exports: [NucLoadedContentDirective],
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVkLWNvbnRlbnQtbW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvbG9hZGVkLWNvbnRlbnQvbG9hZGVkLWNvbnRlbnQtbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBWXZFLE1BQU0sT0FBTyxzQkFBc0I7K0dBQXRCLHNCQUFzQjtnSEFBdEIsc0JBQXNCLGlCQVRsQix5QkFBeUIsRUFBRSx5QkFBeUIsYUFFakUsWUFBWTtZQUNaLHdCQUF3QjtZQUN4QixlQUFlO1lBQ2YsYUFBYSxhQUVMLHlCQUF5QjtnSEFFeEIsc0JBQXNCLFlBUC9CLFlBQVk7WUFDWix3QkFBd0I7WUFDeEIsZUFBZTtZQUNmLGFBQWE7OzRGQUlKLHNCQUFzQjtrQkFWbEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsRUFBRSx5QkFBeUIsQ0FBQztvQkFDcEUsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osd0JBQXdCO3dCQUN4QixlQUFlO3dCQUNmLGFBQWE7cUJBQ2Q7b0JBQ0QsT0FBTyxFQUFFLENBQUMseUJBQXlCLENBQUM7aUJBQ3JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51Y0xvYWRlZENvbnRlbnRDb21wb25lbnQgfSBmcm9tICcuL2xvYWRlZC1jb250ZW50LWNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTnVjTG9hZGVkQ29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vbG9hZGVkLWNvbnRlbnQtZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbTnVjTG9hZGVkQ29udGVudERpcmVjdGl2ZSwgTnVjTG9hZGVkQ29udGVudENvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRJY29uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbTnVjTG9hZGVkQ29udGVudERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE51Y0xvYWRlZENvbnRlbnRNb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { tap } from 'rxjs/operators';
|
|
2
|
+
export var LoadingStatus;
|
|
3
|
+
(function (LoadingStatus) {
|
|
4
|
+
LoadingStatus[LoadingStatus["completed"] = 0] = "completed";
|
|
5
|
+
LoadingStatus[LoadingStatus["inProgress"] = 1] = "inProgress";
|
|
6
|
+
LoadingStatus[LoadingStatus["failed"] = 2] = "failed";
|
|
7
|
+
LoadingStatus[LoadingStatus["undefined"] = 3] = "undefined";
|
|
8
|
+
})(LoadingStatus || (LoadingStatus = {}));
|
|
9
|
+
export class LoadingState {
|
|
10
|
+
constructor() {
|
|
11
|
+
this._status = LoadingStatus.undefined;
|
|
12
|
+
}
|
|
13
|
+
get status() {
|
|
14
|
+
return this._status;
|
|
15
|
+
}
|
|
16
|
+
get message() {
|
|
17
|
+
return this._message;
|
|
18
|
+
}
|
|
19
|
+
get errorDetails() {
|
|
20
|
+
return this._errorDetails;
|
|
21
|
+
}
|
|
22
|
+
load(observable, resultFunction, errorFunction, completeFunction) {
|
|
23
|
+
return this._load(true, undefined, observable, resultFunction, errorFunction, completeFunction);
|
|
24
|
+
}
|
|
25
|
+
loadWithMessage(observable, message, resultFunction, errorFunction, completeFunction) {
|
|
26
|
+
this._initialMessage = message;
|
|
27
|
+
return this._load(true, message, observable, resultFunction, errorFunction, completeFunction);
|
|
28
|
+
}
|
|
29
|
+
invoke(observable, resultFunction, errorFunction, completeFunction) {
|
|
30
|
+
return this._load(false, undefined, observable, resultFunction, errorFunction, completeFunction);
|
|
31
|
+
}
|
|
32
|
+
invokeWithMessage(observable, message, resultFunction, errorFunction, completeFunction) {
|
|
33
|
+
this._initialMessage = message;
|
|
34
|
+
return this._load(false, message, observable, resultFunction, errorFunction, completeFunction);
|
|
35
|
+
}
|
|
36
|
+
retry() {
|
|
37
|
+
if (this._lastSubscription) {
|
|
38
|
+
this._lastSubscription.unsubscribe();
|
|
39
|
+
}
|
|
40
|
+
this.setInProgress(this._initialMessage);
|
|
41
|
+
this._lastSubscription = this._loadObservable.subscribe({
|
|
42
|
+
next: this._resultFunction,
|
|
43
|
+
error: this._errorFunction,
|
|
44
|
+
complete: this._completeFunction,
|
|
45
|
+
});
|
|
46
|
+
return this._lastSubscription;
|
|
47
|
+
}
|
|
48
|
+
setInProgress(message) {
|
|
49
|
+
this._status = LoadingStatus.inProgress;
|
|
50
|
+
this._message = message;
|
|
51
|
+
}
|
|
52
|
+
setCompleted() {
|
|
53
|
+
this._status = LoadingStatus.completed;
|
|
54
|
+
}
|
|
55
|
+
setFailed(message, error) {
|
|
56
|
+
this._status = LoadingStatus.failed;
|
|
57
|
+
this._message = message;
|
|
58
|
+
this._errorDetails = error;
|
|
59
|
+
}
|
|
60
|
+
_load(saveAsLoadObservable, progressMessage, observable, resultFunction, errorFunction, completeFunction) {
|
|
61
|
+
if (this._lastSubscription) {
|
|
62
|
+
this._lastSubscription.unsubscribe();
|
|
63
|
+
}
|
|
64
|
+
this.setInProgress(progressMessage);
|
|
65
|
+
const obs = observable.pipe(tap({
|
|
66
|
+
next: () => {
|
|
67
|
+
if (!saveAsLoadObservable && this.message) {
|
|
68
|
+
// if message was used one time we clear it
|
|
69
|
+
this._message = undefined;
|
|
70
|
+
}
|
|
71
|
+
this.setCompleted();
|
|
72
|
+
},
|
|
73
|
+
error: (err) => {
|
|
74
|
+
this.setFailed(undefined, LoadingState.getErrorDetails(err));
|
|
75
|
+
},
|
|
76
|
+
}));
|
|
77
|
+
if (saveAsLoadObservable) {
|
|
78
|
+
this._loadObservable = obs;
|
|
79
|
+
this._resultFunction = resultFunction;
|
|
80
|
+
this._errorFunction = errorFunction;
|
|
81
|
+
this._completeFunction = completeFunction;
|
|
82
|
+
}
|
|
83
|
+
this._lastSubscription = obs.subscribe({
|
|
84
|
+
next: resultFunction,
|
|
85
|
+
error: errorFunction,
|
|
86
|
+
complete: completeFunction,
|
|
87
|
+
});
|
|
88
|
+
return this._lastSubscription;
|
|
89
|
+
}
|
|
90
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
91
|
+
static getErrorDetails(error) {
|
|
92
|
+
// this routine tries to get the best error details from:
|
|
93
|
+
// - standard rfc7807 http error: https://datatracker.ietf.org/doc/html/rfc7807
|
|
94
|
+
// - angular HttpError
|
|
95
|
+
// - JS Error object
|
|
96
|
+
const problem = error?.error;
|
|
97
|
+
if (problem?.title && problem?.detail) {
|
|
98
|
+
return `${problem.title}: ${problem.detail}`;
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
return problem?.title || problem?.detail || error.message || error;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmcvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL2xvYWRlZC1jb250ZW50L2xvYWRpbmctc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR3JDLE1BQU0sQ0FBTixJQUFZLGFBS1g7QUFMRCxXQUFZLGFBQWE7SUFDdkIsMkRBQVMsQ0FBQTtJQUNULDZEQUFVLENBQUE7SUFDVixxREFBTSxDQUFBO0lBQ04sMkRBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxhQUFhLEtBQWIsYUFBYSxRQUt4QjtBQUVELE1BQU0sT0FBTyxZQUFZO0lBQXpCO1FBQ1UsWUFBTyxHQUFrQixhQUFhLENBQUMsU0FBUyxDQUFDO0lBbUszRCxDQUFDO0lBdkpDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQztJQUVNLElBQUksQ0FDVCxVQUF5QixFQUN6QixjQUFvQyxFQUNwQyxhQUFrRCxFQUNsRCxnQkFBNkI7UUFFN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRU0sZUFBZSxDQUNwQixVQUF5QixFQUN6QixPQUFlLEVBQ2YsY0FBb0MsRUFDcEMsYUFBa0QsRUFDbEQsZ0JBQTZCO1FBRTdCLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FDZixJQUFJLEVBQ0osT0FBTyxFQUNQLFVBQVUsRUFDVixjQUFjLEVBQ2QsYUFBYSxFQUNiLGdCQUFnQixDQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU0sQ0FDWCxVQUF5QixFQUN6QixjQUFvQyxFQUNwQyxhQUFrRCxFQUNsRCxnQkFBNkI7UUFFN0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNuRyxDQUFDO0lBRU0saUJBQWlCLENBQ3RCLFVBQXlCLEVBQ3pCLE9BQWUsRUFDZixjQUFvQyxFQUNwQyxhQUFrRCxFQUNsRCxnQkFBNkI7UUFFN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7UUFDL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUNmLEtBQUssRUFDTCxPQUFPLEVBQ1AsVUFBVSxFQUNWLGNBQWMsRUFDZCxhQUFhLEVBQ2IsZ0JBQWdCLENBQ2pCLENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSztRQUNWLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QztRQUNELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQztZQUN0RCxJQUFJLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDMUIsS0FBSyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQzFCLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1NBQ2pDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFTSxhQUFhLENBQUMsT0FBZ0I7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFTSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sU0FBUyxDQUFDLE9BQWdCLEVBQUUsS0FBYztRQUMvQyxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVPLEtBQUssQ0FDWCxvQkFBNkIsRUFDN0IsZUFBbUMsRUFDbkMsVUFBeUIsRUFDekIsY0FBb0MsRUFDcEMsYUFBa0QsRUFDbEQsZ0JBQTZCO1FBRTdCLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEMsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FDekIsR0FBRyxDQUFDO1lBQ0YsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsb0JBQW9CLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDekMsMkNBQTJDO29CQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztpQkFDM0I7Z0JBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLENBQUM7WUFDRCxLQUFLLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDYixJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDL0QsQ0FBQztTQUNGLENBQUMsQ0FDSCxDQUFDO1FBRUYsSUFBSSxvQkFBb0IsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztZQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztZQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7U0FDM0M7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztZQUNyQyxJQUFJLEVBQUUsY0FBYztZQUNwQixLQUFLLEVBQUUsYUFBYTtZQUNwQixRQUFRLEVBQUUsZ0JBQWdCO1NBQzNCLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCw4REFBOEQ7SUFDdkQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFVO1FBQ3RDLHlEQUF5RDtRQUN6RCwrRUFBK0U7UUFDL0Usc0JBQXNCO1FBQ3RCLG9CQUFvQjtRQUVwQixNQUFNLE9BQU8sR0FBRyxLQUFLLEVBQUUsS0FBSyxDQUFDO1FBQzdCLElBQUksT0FBTyxFQUFFLEtBQUssSUFBSSxPQUFPLEVBQUUsTUFBTSxFQUFFO1lBQ3JDLE9BQU8sR0FBRyxPQUFPLENBQUMsS0FBSyxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM5QzthQUFNO1lBQ0wsT0FBTyxPQUFPLEVBQUUsS0FBSyxJQUFJLE9BQU8sRUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUM7U0FDcEU7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5leHBvcnQgZW51bSBMb2FkaW5nU3RhdHVzIHtcbiAgY29tcGxldGVkLFxuICBpblByb2dyZXNzLFxuICBmYWlsZWQsXG4gIHVuZGVmaW5lZCxcbn1cblxuZXhwb3J0IGNsYXNzIExvYWRpbmdTdGF0ZSB7XG4gIHByaXZhdGUgX3N0YXR1czogTG9hZGluZ1N0YXR1cyA9IExvYWRpbmdTdGF0dXMudW5kZWZpbmVkO1xuICBwcml2YXRlIF9pbml0aWFsTWVzc2FnZTogc3RyaW5nO1xuICBwcml2YXRlIF9tZXNzYWdlPzogc3RyaW5nO1xuICBwcml2YXRlIF9lcnJvckRldGFpbHM/OiBzdHJpbmc7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHByaXZhdGUgX3Jlc3VsdEZ1bmN0aW9uPzogKHJlc3VsdDogYW55KSA9PiB2b2lkO1xuICBwcml2YXRlIF9lcnJvckZ1bmN0aW9uPzogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdm9pZDtcbiAgcHJpdmF0ZSBfY29tcGxldGVGdW5jdGlvbj86ICgpID0+IHZvaWQ7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gIHByaXZhdGUgX2xvYWRPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT47XG4gIHByaXZhdGUgX2xhc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICBnZXQgc3RhdHVzKCk6IExvYWRpbmdTdGF0dXMge1xuICAgIHJldHVybiB0aGlzLl9zdGF0dXM7XG4gIH1cblxuICBnZXQgbWVzc2FnZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fbWVzc2FnZTtcbiAgfVxuXG4gIGdldCBlcnJvckRldGFpbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yRGV0YWlscztcbiAgfVxuXG4gIHB1YmxpYyBsb2FkPFQ+KFxuICAgIG9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sXG4gICAgcmVzdWx0RnVuY3Rpb24/OiAocmVzdWx0OiBUKSA9PiB2b2lkLFxuICAgIGVycm9yRnVuY3Rpb24/OiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkLFxuICAgIGNvbXBsZXRlRnVuY3Rpb24/OiAoKSA9PiB2b2lkXG4gICkge1xuICAgIHJldHVybiB0aGlzLl9sb2FkKHRydWUsIHVuZGVmaW5lZCwgb2JzZXJ2YWJsZSwgcmVzdWx0RnVuY3Rpb24sIGVycm9yRnVuY3Rpb24sIGNvbXBsZXRlRnVuY3Rpb24pO1xuICB9XG5cbiAgcHVibGljIGxvYWRXaXRoTWVzc2FnZTxUPihcbiAgICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+LFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICByZXN1bHRGdW5jdGlvbj86IChyZXN1bHQ6IFQpID0+IHZvaWQsXG4gICAgZXJyb3JGdW5jdGlvbj86IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsXG4gICAgY29tcGxldGVGdW5jdGlvbj86ICgpID0+IHZvaWRcbiAgKTogU3Vic2NyaXB0aW9uIHtcbiAgICB0aGlzLl9pbml0aWFsTWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgcmV0dXJuIHRoaXMuX2xvYWQoXG4gICAgICB0cnVlLFxuICAgICAgbWVzc2FnZSxcbiAgICAgIG9ic2VydmFibGUsXG4gICAgICByZXN1bHRGdW5jdGlvbixcbiAgICAgIGVycm9yRnVuY3Rpb24sXG4gICAgICBjb21wbGV0ZUZ1bmN0aW9uXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBpbnZva2U8VD4oXG4gICAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPixcbiAgICByZXN1bHRGdW5jdGlvbj86IChyZXN1bHQ6IFQpID0+IHZvaWQsXG4gICAgZXJyb3JGdW5jdGlvbj86IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsXG4gICAgY29tcGxldGVGdW5jdGlvbj86ICgpID0+IHZvaWRcbiAgKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fbG9hZChmYWxzZSwgdW5kZWZpbmVkLCBvYnNlcnZhYmxlLCByZXN1bHRGdW5jdGlvbiwgZXJyb3JGdW5jdGlvbiwgY29tcGxldGVGdW5jdGlvbik7XG4gIH1cblxuICBwdWJsaWMgaW52b2tlV2l0aE1lc3NhZ2U8VD4oXG4gICAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPixcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgcmVzdWx0RnVuY3Rpb24/OiAocmVzdWx0OiBUKSA9PiB2b2lkLFxuICAgIGVycm9yRnVuY3Rpb24/OiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkLFxuICAgIGNvbXBsZXRlRnVuY3Rpb24/OiAoKSA9PiB2b2lkXG4gICk6IFN1YnNjcmlwdGlvbiB7XG4gICAgdGhpcy5faW5pdGlhbE1lc3NhZ2UgPSBtZXNzYWdlO1xuICAgIHJldHVybiB0aGlzLl9sb2FkKFxuICAgICAgZmFsc2UsXG4gICAgICBtZXNzYWdlLFxuICAgICAgb2JzZXJ2YWJsZSxcbiAgICAgIHJlc3VsdEZ1bmN0aW9uLFxuICAgICAgZXJyb3JGdW5jdGlvbixcbiAgICAgIGNvbXBsZXRlRnVuY3Rpb25cbiAgICApO1xuICB9XG5cbiAgcHVibGljIHJldHJ5KCkge1xuICAgIGlmICh0aGlzLl9sYXN0U3Vic2NyaXB0aW9uKSB7XG4gICAgICB0aGlzLl9sYXN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIHRoaXMuc2V0SW5Qcm9ncmVzcyh0aGlzLl9pbml0aWFsTWVzc2FnZSk7XG4gICAgdGhpcy5fbGFzdFN1YnNjcmlwdGlvbiA9IHRoaXMuX2xvYWRPYnNlcnZhYmxlLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiB0aGlzLl9yZXN1bHRGdW5jdGlvbixcbiAgICAgIGVycm9yOiB0aGlzLl9lcnJvckZ1bmN0aW9uLFxuICAgICAgY29tcGxldGU6IHRoaXMuX2NvbXBsZXRlRnVuY3Rpb24sXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuX2xhc3RTdWJzY3JpcHRpb247XG4gIH1cblxuICBwdWJsaWMgc2V0SW5Qcm9ncmVzcyhtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgdGhpcy5fc3RhdHVzID0gTG9hZGluZ1N0YXR1cy5pblByb2dyZXNzO1xuICAgIHRoaXMuX21lc3NhZ2UgPSBtZXNzYWdlO1xuICB9XG5cbiAgcHVibGljIHNldENvbXBsZXRlZCgpIHtcbiAgICB0aGlzLl9zdGF0dXMgPSBMb2FkaW5nU3RhdHVzLmNvbXBsZXRlZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXRGYWlsZWQobWVzc2FnZT86IHN0cmluZywgZXJyb3I/OiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zdGF0dXMgPSBMb2FkaW5nU3RhdHVzLmZhaWxlZDtcbiAgICB0aGlzLl9tZXNzYWdlID0gbWVzc2FnZTtcbiAgICB0aGlzLl9lcnJvckRldGFpbHMgPSBlcnJvcjtcbiAgfVxuXG4gIHByaXZhdGUgX2xvYWQ8VD4oXG4gICAgc2F2ZUFzTG9hZE9ic2VydmFibGU6IGJvb2xlYW4sXG4gICAgcHJvZ3Jlc3NNZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgb2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPixcbiAgICByZXN1bHRGdW5jdGlvbj86IChyZXN1bHQ6IFQpID0+IHZvaWQsXG4gICAgZXJyb3JGdW5jdGlvbj86IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsXG4gICAgY29tcGxldGVGdW5jdGlvbj86ICgpID0+IHZvaWRcbiAgKTogU3Vic2NyaXB0aW9uIHtcbiAgICBpZiAodGhpcy5fbGFzdFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5fbGFzdFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIHRoaXMuc2V0SW5Qcm9ncmVzcyhwcm9ncmVzc01lc3NhZ2UpO1xuICAgIGNvbnN0IG9icyA9IG9ic2VydmFibGUucGlwZShcbiAgICAgIHRhcCh7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICBpZiAoIXNhdmVBc0xvYWRPYnNlcnZhYmxlICYmIHRoaXMubWVzc2FnZSkge1xuICAgICAgICAgICAgLy8gaWYgbWVzc2FnZSB3YXMgdXNlZCBvbmUgdGltZSB3ZSBjbGVhciBpdFxuICAgICAgICAgICAgdGhpcy5fbWVzc2FnZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5zZXRDb21wbGV0ZWQoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcbiAgICAgICAgICB0aGlzLnNldEZhaWxlZCh1bmRlZmluZWQsIExvYWRpbmdTdGF0ZS5nZXRFcnJvckRldGFpbHMoZXJyKSk7XG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICk7XG5cbiAgICBpZiAoc2F2ZUFzTG9hZE9ic2VydmFibGUpIHtcbiAgICAgIHRoaXMuX2xvYWRPYnNlcnZhYmxlID0gb2JzO1xuICAgICAgdGhpcy5fcmVzdWx0RnVuY3Rpb24gPSByZXN1bHRGdW5jdGlvbjtcbiAgICAgIHRoaXMuX2Vycm9yRnVuY3Rpb24gPSBlcnJvckZ1bmN0aW9uO1xuICAgICAgdGhpcy5fY29tcGxldGVGdW5jdGlvbiA9IGNvbXBsZXRlRnVuY3Rpb247XG4gICAgfVxuXG4gICAgdGhpcy5fbGFzdFN1YnNjcmlwdGlvbiA9IG9icy5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogcmVzdWx0RnVuY3Rpb24sXG4gICAgICBlcnJvcjogZXJyb3JGdW5jdGlvbixcbiAgICAgIGNvbXBsZXRlOiBjb21wbGV0ZUZ1bmN0aW9uLFxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzLl9sYXN0U3Vic2NyaXB0aW9uO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgcHVibGljIHN0YXRpYyBnZXRFcnJvckRldGFpbHMoZXJyb3I6IGFueSkge1xuICAgIC8vIHRoaXMgcm91dGluZSB0cmllcyB0byBnZXQgdGhlIGJlc3QgZXJyb3IgZGV0YWlscyBmcm9tOlxuICAgIC8vIC0gc3RhbmRhcmQgcmZjNzgwNyBodHRwIGVycm9yOiBodHRwczovL2RhdGF0cmFja2VyLmlldGYub3JnL2RvYy9odG1sL3JmYzc4MDdcbiAgICAvLyAtIGFuZ3VsYXIgSHR0cEVycm9yXG4gICAgLy8gLSBKUyBFcnJvciBvYmplY3RcblxuICAgIGNvbnN0IHByb2JsZW0gPSBlcnJvcj8uZXJyb3I7XG4gICAgaWYgKHByb2JsZW0/LnRpdGxlICYmIHByb2JsZW0/LmRldGFpbCkge1xuICAgICAgcmV0dXJuIGAke3Byb2JsZW0udGl0bGV9OiAke3Byb2JsZW0uZGV0YWlsfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBwcm9ibGVtPy50aXRsZSB8fCBwcm9ibGVtPy5kZXRhaWwgfHwgZXJyb3IubWVzc2FnZSB8fCBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export var NucSnackbarType;
|
|
2
|
+
(function (NucSnackbarType) {
|
|
3
|
+
NucSnackbarType["Info"] = "info";
|
|
4
|
+
NucSnackbarType["Warning"] = "warning";
|
|
5
|
+
NucSnackbarType["Danger"] = "danger";
|
|
6
|
+
NucSnackbarType["Success"] = "success";
|
|
7
|
+
NucSnackbarType["Progress"] = "progress";
|
|
8
|
+
})(NucSnackbarType || (NucSnackbarType = {}));
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvc25hY2tiYXIvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGVBTVg7QUFORCxXQUFZLGVBQWU7SUFDekIsZ0NBQWEsQ0FBQTtJQUNiLHNDQUFtQixDQUFBO0lBQ25CLG9DQUFpQixDQUFBO0lBQ2pCLHNDQUFtQixDQUFBO0lBQ25CLHdDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFOVyxlQUFlLEtBQWYsZUFBZSxRQU0xQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIE51Y1NuYWNrYmFyVHlwZSB7XG4gIEluZm8gPSAnaW5mbycsXG4gIFdhcm5pbmcgPSAnd2FybmluZycsXG4gIERhbmdlciA9ICdkYW5nZXInLFxuICBTdWNjZXNzID0gJ3N1Y2Nlc3MnLFxuICBQcm9ncmVzcyA9ICdwcm9ncmVzcycsXG59XG4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, ElementRef, Inject, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/progress-spinner";
|
|
5
|
+
export class ProgressSnackbarComponent {
|
|
6
|
+
constructor(
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
+
data, elem) {
|
|
9
|
+
this.data = data;
|
|
10
|
+
this.elem = elem;
|
|
11
|
+
}
|
|
12
|
+
ngAfterViewInit() {
|
|
13
|
+
const element = this.elem.nativeElement;
|
|
14
|
+
const circle = element.querySelector('circle');
|
|
15
|
+
const message = element.querySelector('.message');
|
|
16
|
+
const color = window.getComputedStyle(message).color;
|
|
17
|
+
circle.style.stroke = color;
|
|
18
|
+
}
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressSnackbarComponent, deps: [{ token: MAT_SNACK_BAR_DATA }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ProgressSnackbarComponent, selector: "lib-progress-snackbar", host: { classAttribute: "mat-simple-snackbar" }, ngImport: i0, template: "<div class=\"mat-simple-snack-bar-content message\">\n <mat-spinner\n style=\"vertical-align: middle; display: inline-flex; margin-right: 8px\"\n diameter=\"16\"\n strokeWidth=\"1.5\"\n mode=\"indeterminate\"\n class=\"spinner\"\n color=\"red\"\n ></mat-spinner>\n {{ data.message }}\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
21
|
+
}
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ProgressSnackbarComponent, decorators: [{
|
|
23
|
+
type: Component,
|
|
24
|
+
args: [{ selector: 'lib-progress-snackbar', encapsulation: ViewEncapsulation.None, host: {
|
|
25
|
+
class: 'mat-simple-snackbar',
|
|
26
|
+
}, template: "<div class=\"mat-simple-snack-bar-content message\">\n <mat-spinner\n style=\"vertical-align: middle; display: inline-flex; margin-right: 8px\"\n diameter=\"16\"\n strokeWidth=\"1.5\"\n mode=\"indeterminate\"\n class=\"spinner\"\n color=\"red\"\n ></mat-spinner>\n {{ data.message }}\n</div>\n" }]
|
|
27
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
28
|
+
type: Inject,
|
|
29
|
+
args: [MAT_SNACK_BAR_DATA]
|
|
30
|
+
}] }, { type: i0.ElementRef }]; } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3Mtc25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvc25hY2tiYXIvcHJvZ3Jlc3Mtc25hY2tiYXIvcHJvZ3Jlc3Mtc25hY2tiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvc25hY2tiYXIvcHJvZ3Jlc3Mtc25hY2tiYXIvcHJvZ3Jlc3Mtc25hY2tiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBWWpFLE1BQU0sT0FBTyx5QkFBeUI7SUFDcEM7SUFDRSw4REFBOEQ7SUFDM0IsSUFBUyxFQUNwQyxJQUFnQjtRQURXLFNBQUksR0FBSixJQUFJLENBQUs7UUFDcEMsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUN2QixDQUFDO0lBRUosZUFBZTtRQUNiLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3hDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0MsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsRCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JELE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDOytHQWJVLHlCQUF5QixrQkFHMUIsa0JBQWtCO21HQUhqQix5QkFBeUIsOEdDbkJ0Qyw0VEFXQTs7NEZEUWEseUJBQXlCO2tCQVZyQyxTQUFTOytCQUNFLHVCQUF1QixpQkFHbEIsaUJBQWlCLENBQUMsSUFBSSxRQUUvQjt3QkFDSixLQUFLLEVBQUUscUJBQXFCO3FCQUM3Qjs7MEJBS0UsTUFBTTsyQkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEluamVjdCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX1NOQUNLX0JBUl9EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLXByb2dyZXNzLXNuYWNrYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLXNuYWNrYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3Mtc25hY2tiYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21hdC1zaW1wbGUtc25hY2tiYXInLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc1NuYWNrYmFyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgQEluamVjdChNQVRfU05BQ0tfQkFSX0RBVEEpIHB1YmxpYyBkYXRhOiBhbnksXG4gICAgcHJpdmF0ZSBlbGVtOiBFbGVtZW50UmVmXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbS5uYXRpdmVFbGVtZW50O1xuICAgIGNvbnN0IGNpcmNsZSA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignY2lyY2xlJyk7XG4gICAgY29uc3QgbWVzc2FnZSA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignLm1lc3NhZ2UnKTtcbiAgICBjb25zdCBjb2xvciA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKG1lc3NhZ2UpLmNvbG9yO1xuICAgIGNpcmNsZS5zdHlsZS5zdHJva2UgPSBjb2xvcjtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm1hdC1zaW1wbGUtc25hY2stYmFyLWNvbnRlbnQgbWVzc2FnZVwiPlxuICA8bWF0LXNwaW5uZXJcbiAgICBzdHlsZT1cInZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IGRpc3BsYXk6IGlubGluZS1mbGV4OyBtYXJnaW4tcmlnaHQ6IDhweFwiXG4gICAgZGlhbWV0ZXI9XCIxNlwiXG4gICAgc3Ryb2tlV2lkdGg9XCIxLjVcIlxuICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgICBjbGFzcz1cInNwaW5uZXJcIlxuICAgIGNvbG9yPVwicmVkXCJcbiAgPjwvbWF0LXNwaW5uZXI+XG4gIHt7IGRhdGEubWVzc2FnZSB9fVxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
4
|
+
import { ProgressSnackbarComponent } from './progress-snackbar/progress-snackbar.component';
|
|
5
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class NucSnackbarModule {
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: NucSnackbarModule, declarations: [ProgressSnackbarComponent], imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule] }); }
|
|
10
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucSnackbarModule, imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule] }); }
|
|
11
|
+
}
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NucSnackbarModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
declarations: [ProgressSnackbarComponent],
|
|
16
|
+
imports: [CommonModule, MatSnackBarModule, MatProgressSpinnerModule],
|
|
17
|
+
exports: [],
|
|
18
|
+
}]
|
|
19
|
+
}] });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvc25hY2tiYXIvc25hY2tiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQU85RSxNQUFNLE9BQU8saUJBQWlCOytHQUFqQixpQkFBaUI7Z0hBQWpCLGlCQUFpQixpQkFKYix5QkFBeUIsYUFDOUIsWUFBWSxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QjtnSEFHeEQsaUJBQWlCLFlBSGxCLFlBQVksRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0I7OzRGQUd4RCxpQkFBaUI7a0JBTDdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMseUJBQXlCLENBQUM7b0JBQ3pDLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQztvQkFDcEUsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IFByb2dyZXNzU25hY2tiYXJDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLXNuYWNrYmFyL3Byb2dyZXNzLXNuYWNrYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbUHJvZ3Jlc3NTbmFja2JhckNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIE1hdFNuYWNrQmFyTW9kdWxlLCBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGVdLFxuICBleHBvcnRzOiBbXSxcbn0pXG5leHBvcnQgY2xhc3MgTnVjU25hY2tiYXJNb2R1bGUge31cbiJdfQ==
|