@kolektor/nucleus-material 0.0.8-pre.5352 → 0.0.9-pre.5702
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/{esm2015/kolektor-nucleus-material.js → esm2020/kolektor-nucleus-material.mjs} +0 -0
- package/{esm2015/lib/dialog/dialog.component.js → esm2020/lib/dialog/dialog.component.mjs} +5 -10
- package/{esm2015/lib/dialog/dialog.module.js → esm2020/lib/dialog/dialog.module.mjs} +4 -4
- package/esm2020/lib/dialog/dialog.service.mjs +40 -0
- package/{esm2015/lib/dialog/models.js → esm2020/lib/dialog/models.mjs} +0 -0
- package/esm2020/lib/loaded-content/loaded-content-component.mjs +71 -0
- package/{esm2015/lib/loaded-content/loaded-content-directive.js → esm2020/lib/loaded-content/loaded-content-directive.mjs} +3 -3
- package/{esm2015/lib/loaded-content/loaded-content-module.js → esm2020/lib/loaded-content/loaded-content-module.mjs} +4 -4
- package/esm2020/lib/loaded-content/loading-state.mjs +93 -0
- package/{esm2015/lib/native-styling/models.js → esm2020/lib/native-styling/models.mjs} +0 -0
- package/{esm2015/lib/native-styling/native-styling.service.js → esm2020/lib/native-styling/native-styling.service.mjs} +3 -3
- package/{esm2015/lib/snackbar/models.js → esm2020/lib/snackbar/models.mjs} +0 -0
- package/{esm2015/lib/snackbar/snackbar.module.js → esm2020/lib/snackbar/snackbar.module.mjs} +4 -4
- package/{esm2015/lib/snackbar/snackbar.service.js → esm2020/lib/snackbar/snackbar.service.mjs} +3 -3
- package/{esm2015/lib/swipe-tabs/swipe-tabs-directive.js → esm2020/lib/swipe-tabs/swipe-tabs-directive.mjs} +3 -3
- package/{esm2015/lib/swipe-tabs/swipe-tabs-module.js → esm2020/lib/swipe-tabs/swipe-tabs-module.mjs} +4 -4
- package/esm2020/lib/user-avatar/user-avatar-component.mjs +50 -0
- package/{esm2015/lib/user-avatar/user-avatar-module.js → esm2020/lib/user-avatar/user-avatar-module.mjs} +4 -4
- package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
- package/fesm2015/{kolektor-nucleus-material.js → kolektor-nucleus-material.mjs} +105 -79
- package/fesm2015/kolektor-nucleus-material.mjs.map +1 -0
- package/fesm2020/kolektor-nucleus-material.mjs +663 -0
- package/fesm2020/kolektor-nucleus-material.mjs.map +1 -0
- package/lib/loaded-content/loading-state.d.ts +7 -1
- package/package.json +22 -9
- package/bundles/kolektor-nucleus-material.umd.js +0 -1095
- package/bundles/kolektor-nucleus-material.umd.js.map +0 -1
- package/esm2015/lib/dialog/dialog.service.js +0 -43
- package/esm2015/lib/loaded-content/loaded-content-component.js +0 -76
- package/esm2015/lib/loaded-content/loading-state.js +0 -53
- package/esm2015/lib/user-avatar/user-avatar-component.js +0 -55
- package/fesm2015/kolektor-nucleus-material.js.map +0 -1
|
File without changes
|
|
@@ -10,18 +10,13 @@ export class NucDialogComponent {
|
|
|
10
10
|
this.dialogData = dialogData;
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
NucDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
14
|
-
NucDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
13
|
+
NucDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
NucDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NucDialogComponent, selector: "nuc-dialog", ngImport: i0, template: "<ng-container *ngIf=\"dialogData\">\r\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\r\n {{dialogData.title}}\r\n </h2>\r\n <mat-dialog-content>{{dialogData.message}}</mat-dialog-content>\r\n <mat-dialog-actions>\r\n <ng-container *ngFor=\"let action of dialogData.actions\">\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value === undefined\" mat-button mat-dialog-close>{{action.text}}</button>\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value !== undefined\" mat-button [mat-dialog-close]=\"action.value\">{{action.text}}</button>\r\n </ng-container>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
|
-
args: [{
|
|
18
|
-
// eslint-disable-next-line @angular-eslint/component-selector
|
|
19
|
-
selector: 'nuc-dialog',
|
|
20
|
-
templateUrl: './dialog.component.html',
|
|
21
|
-
styleUrls: ['./dialog.component.scss']
|
|
22
|
-
}]
|
|
17
|
+
args: [{ selector: 'nuc-dialog', template: "<ng-container *ngIf=\"dialogData\">\r\n <h2 mat-dialog-title *ngIf=\"dialogData.title\">\r\n {{dialogData.title}}\r\n </h2>\r\n <mat-dialog-content>{{dialogData.message}}</mat-dialog-content>\r\n <mat-dialog-actions>\r\n <ng-container *ngFor=\"let action of dialogData.actions\">\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value === undefined\" mat-button mat-dialog-close>{{action.text}}</button>\r\n <button color=\"{{action.color || 'primary'}}\" *ngIf=\"action.value !== undefined\" mat-button [mat-dialog-close]=\"action.value\">{{action.text}}</button>\r\n </ng-container>\r\n </mat-dialog-actions>\r\n</ng-container>\r\n", styles: ["mat-dialog-actions{justify-content:flex-end}mat-dialog-content{white-space:pre-wrap}button{text-transform:uppercase;font-weight:700}\n"] }]
|
|
23
18
|
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
24
19
|
type: Inject,
|
|
25
20
|
args: [MAT_DIALOG_DATA]
|
|
26
21
|
}] }]; } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9kaWFsb2cvZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7O0FBVXpFLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDUyxTQUEyQyxFQUNsQixVQUF5QjtRQURsRCxjQUFTLEdBQVQsU0FBUyxDQUFrQztRQUNsQixlQUFVLEdBQVYsVUFBVSxDQUFlO0lBQ3ZELENBQUM7OytHQUpNLGtCQUFrQiw4Q0FHbkIsZUFBZTttR0FIZCxrQkFBa0Isa0RDWC9CLHFxQkFZQTsyRkREYSxrQkFBa0I7a0JBUDlCLFNBQVM7K0JBRUUsWUFBWTs7MEJBUW5CLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTnVjRGlhbG9nRGF0YSB9IGZyb20gJy4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXHJcbiAgc2VsZWN0b3I6ICdudWMtZGlhbG9nJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kaWFsb2cuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE51Y0RpYWxvZ0NvbXBvbmVudCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8TnVjRGlhbG9nQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGlhbG9nRGF0YTogTnVjRGlhbG9nRGF0YVxyXG4gICkgeyB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpYWxvZ0RhdGFcIj5cclxuICA8aDIgbWF0LWRpYWxvZy10aXRsZSAqbmdJZj1cImRpYWxvZ0RhdGEudGl0bGVcIj5cclxuICAgIHt7ZGlhbG9nRGF0YS50aXRsZX19XHJcbiAgPC9oMj5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50Pnt7ZGlhbG9nRGF0YS5tZXNzYWdlfX08L21hdC1kaWFsb2ctY29udGVudD5cclxuICA8bWF0LWRpYWxvZy1hY3Rpb25zPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGRpYWxvZ0RhdGEuYWN0aW9uc1wiPlxyXG4gICAgICA8YnV0dG9uIGNvbG9yPVwie3thY3Rpb24uY29sb3IgfHwgJ3ByaW1hcnknfX1cIiAqbmdJZj1cImFjdGlvbi52YWx1ZSA9PT0gdW5kZWZpbmVkXCIgbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPnt7YWN0aW9uLnRleHR9fTwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIGNvbG9yPVwie3thY3Rpb24uY29sb3IgfHwgJ3ByaW1hcnknfX1cIiAqbmdJZj1cImFjdGlvbi52YWx1ZSAhPT0gdW5kZWZpbmVkXCIgbWF0LWJ1dHRvbiBbbWF0LWRpYWxvZy1jbG9zZV09XCJhY3Rpb24udmFsdWVcIj57e2FjdGlvbi50ZXh0fX08L2J1dHRvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbWF0LWRpYWxvZy1hY3Rpb25zPlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
|
|
@@ -6,16 +6,16 @@ import { NucDialogComponent } from './dialog.component';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class NucDialogModule {
|
|
8
8
|
}
|
|
9
|
-
NucDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
10
|
-
NucDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
9
|
+
NucDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
NucDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogModule, declarations: [NucDialogComponent], imports: [CommonModule,
|
|
11
11
|
MatDialogModule,
|
|
12
12
|
MatButtonModule] });
|
|
13
|
-
NucDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
13
|
+
NucDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogModule, imports: [[
|
|
14
14
|
CommonModule,
|
|
15
15
|
MatDialogModule,
|
|
16
16
|
MatButtonModule
|
|
17
17
|
]] });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogModule, decorators: [{
|
|
19
19
|
type: NgModule,
|
|
20
20
|
args: [{
|
|
21
21
|
declarations: [
|
|
@@ -0,0 +1,40 @@
|
|
|
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
|
+
if (dialogData.actions && dialogData.actions.length > 0) {
|
|
19
|
+
if (dialogConfig) {
|
|
20
|
+
dialogConfig.data = dialogData;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
dialogConfig = { data: dialogData };
|
|
24
|
+
}
|
|
25
|
+
return await this._matDialog.open(NucDialogComponent, dialogConfig).beforeClosed().toPromise();
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
console.error('Nucleus.AppCore: NucDialogData requires at least one action.');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
NucDialogService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogService, deps: [{ token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
|
+
NucDialogService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogService, providedIn: 'root' });
|
|
34
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucDialogService, decorators: [{
|
|
35
|
+
type: Injectable,
|
|
36
|
+
args: [{
|
|
37
|
+
providedIn: 'root'
|
|
38
|
+
}]
|
|
39
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialog }]; } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9udWNsZXVzLW1hdGVyaWFsL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBbUIsTUFBTSwwQkFBMEIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBS3hELE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0IsWUFBb0IsVUFBcUI7UUFBckIsZUFBVSxHQUFWLFVBQVUsQ0FBVztJQUFJLENBQUM7SUFFOUM7Ozs7OztPQU1HO0lBQ0ksS0FBSyxDQUFDLElBQUksQ0FBQyxVQUF5QixFQUFFLFlBQThCO1FBQ3pFLElBQUksVUFBVSxDQUFDLE9BQU8sSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkQsSUFBSSxZQUFZLEVBQUU7Z0JBQ2hCLFlBQVksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO2FBQ2hDO2lCQUFNO2dCQUNMLFlBQVksR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQzthQUNyQztZQUNELE9BQU8sTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxZQUFZLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNoRzthQUFNO1lBQ0wsT0FBTyxDQUFDLEtBQUssQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1NBQy9FO0lBQ0gsQ0FBQzs7NkdBckJVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ0NvbmZpZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IE51Y0RpYWxvZ0RhdGEgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IE51Y0RpYWxvZ0NvbXBvbmVudCB9IGZyb20gJy4vZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdWNEaWFsb2dTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tYXREaWFsb2c6IE1hdERpYWxvZykgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE9wZW5zIGEgTnVjRGlhbG9nIHdpdGggY29udGVudCBmcm9tIGRpYWxvZ0RhdGEuXHJcbiAgICpcclxuICAgKiBAcGFyYW0gZGlhbG9nRGF0YSBOdWNEaWFsb2dEYXRhIGNvbnRhaW5pbmcgdGl0bGUsIG1lc3NhZ2UgYW5kIHBvc3NpYmxlIGFjdGlvbnMuXHJcbiAgICogQHBhcmFtIGRpYWxvZ0NvbmZpZyBFeHRyYSBjb25maWd1cmF0aW9uIG9wdGlvbnMuIERhdGEgcHJvcGVydHkgaXMgaWdub3JlZCwgc2luY2UgaXQgd2lsbCBiZSBzZXQgdG8gZGlhbG9nRGF0YS5cclxuICAgKiBAcmV0dXJucyBhIHByb21pc2Ugd2l0aCB2YWx1ZSB0aGF0IHdhcyBzcGVjaWZpZWQgaW5zaWRlIHByZXNzZWQgTnVjbGV1cyBhY3Rpb24uXHJcbiAgICovXHJcbiAgcHVibGljIGFzeW5jIG9wZW4oZGlhbG9nRGF0YTogTnVjRGlhbG9nRGF0YSwgZGlhbG9nQ29uZmlnPzogTWF0RGlhbG9nQ29uZmlnKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGlmIChkaWFsb2dEYXRhLmFjdGlvbnMgJiYgZGlhbG9nRGF0YS5hY3Rpb25zLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKGRpYWxvZ0NvbmZpZykge1xyXG4gICAgICAgIGRpYWxvZ0NvbmZpZy5kYXRhID0gZGlhbG9nRGF0YTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBkaWFsb2dDb25maWcgPSB7IGRhdGE6IGRpYWxvZ0RhdGEgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYXdhaXQgdGhpcy5fbWF0RGlhbG9nLm9wZW4oTnVjRGlhbG9nQ29tcG9uZW50LCBkaWFsb2dDb25maWcpLmJlZm9yZUNsb3NlZCgpLnRvUHJvbWlzZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc29sZS5lcnJvcignTnVjbGV1cy5BcHBDb3JlOiBOdWNEaWFsb2dEYXRhIHJlcXVpcmVzIGF0IGxlYXN0IG9uZSBhY3Rpb24uJyk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
File without changes
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { Component, Input, TemplateRef } from '@angular/core';
|
|
2
|
+
import { LoadingState, LoadingStatus } from './loading-state';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/progress-spinner";
|
|
5
|
+
import * as i2 from "@angular/material/button";
|
|
6
|
+
import * as i3 from "@angular/material/icon";
|
|
7
|
+
import * as i4 from "@angular/common";
|
|
8
|
+
export class NucLoadedContentComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this._errorDetailsVisible = false;
|
|
11
|
+
this.errorMessage = 'We are having trouble loading the data.';
|
|
12
|
+
this.showRetry = true;
|
|
13
|
+
}
|
|
14
|
+
get message() {
|
|
15
|
+
if (this.state.message != null) {
|
|
16
|
+
return this.state.message;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
if (this.state.status === LoadingStatus.failed) {
|
|
20
|
+
return this.errorMessage;
|
|
21
|
+
}
|
|
22
|
+
else if (this.state.status === LoadingStatus.inProgress) {
|
|
23
|
+
return this.inProgressMessage;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
get showRetryButton() {
|
|
29
|
+
return this.showRetry;
|
|
30
|
+
}
|
|
31
|
+
get inProgress() {
|
|
32
|
+
const inProgress = this.state.status === LoadingStatus.inProgress;
|
|
33
|
+
if (inProgress) {
|
|
34
|
+
this._errorDetailsVisible = false;
|
|
35
|
+
}
|
|
36
|
+
return inProgress;
|
|
37
|
+
}
|
|
38
|
+
get failed() {
|
|
39
|
+
return this.state.status === LoadingStatus.failed;
|
|
40
|
+
}
|
|
41
|
+
get completed() {
|
|
42
|
+
return this.state.status === LoadingStatus.completed;
|
|
43
|
+
}
|
|
44
|
+
get errorDetailsVisible() {
|
|
45
|
+
return this._errorDetailsVisible;
|
|
46
|
+
}
|
|
47
|
+
showErrorDetails() {
|
|
48
|
+
this._errorDetailsVisible = true;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
NucLoadedContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
NucLoadedContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", 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\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p>\r\n {{message}}\r\n </p>\r\n\r\n <div *ngIf=\"state.errorDetails\">\r\n <button *ngIf=\"!errorDetailsVisible\" mat-button color=\"warn\" (click)=\"showErrorDetails()\">show details</button>\r\n\r\n <div *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n <strong>details:</strong><br />\r\n <p>{{state.errorDetails}}</p>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n\r\n </div>\r\n</ng-template>\r\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}\n"], components: [{ type: i1.MatSpinner, selector: "mat-spinner", inputs: ["color"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ selector: 'nuc-loaded-content-component', template: "<ng-container *ngIf=\"completed\">\r\n <ng-container *ngTemplateOutlet=\"completedTemplate\"></ng-container>\r\n</ng-container>\r\n\r\n<div class=\"indicators-container\" *ngIf=\"inProgress || failed\">\r\n <ng-container *ngIf=\"inProgress\">\r\n <ng-container *ngTemplateOutlet=\"inProgressTemplate ? inProgressTemplate: defaultInProgressTemplate\"></ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"failed\">\r\n <ng-container *ngTemplateOutlet=\"errorTemplate ? errorTemplate: defaultErrorTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n\r\n<ng-template #defaultInProgressTemplate>\r\n <div class=\"spinner\">\r\n <mat-spinner [diameter]=\"45\"></mat-spinner>\r\n </div>\r\n <p>\r\n {{message}}\r\n </p>\r\n</ng-template>\r\n\r\n<ng-template #defaultErrorTemplate>\r\n <div>\r\n <p>\r\n {{message}}\r\n </p>\r\n\r\n <div *ngIf=\"state.errorDetails\">\r\n <button *ngIf=\"!errorDetailsVisible\" mat-button color=\"warn\" (click)=\"showErrorDetails()\">show details</button>\r\n\r\n <div *ngIf=\"errorDetailsVisible\" class=\"error-details mat-small\">\r\n <strong>details:</strong><br />\r\n <p>{{state.errorDetails}}</p>\r\n </div>\r\n </div>\r\n\r\n <p *ngIf=\"showRetryButton\">\r\n <button mat-mini-fab color=\"primary\" (click)=\"state.retry()\">\r\n <mat-icon>refresh</mat-icon>\r\n </button>\r\n </p>\r\n\r\n </div>\r\n</ng-template>\r\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}\n"] }]
|
|
56
|
+
}], propDecorators: { completedTemplate: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], errorTemplate: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}], inProgressTemplate: [{
|
|
61
|
+
type: Input
|
|
62
|
+
}], state: [{
|
|
63
|
+
type: Input
|
|
64
|
+
}], inProgressMessage: [{
|
|
65
|
+
type: Input
|
|
66
|
+
}], errorMessage: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], showRetry: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}] } });
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVkLWNvbnRlbnQtY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL2xvYWRlZC1jb250ZW50L2xvYWRlZC1jb250ZW50LWNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9sb2FkZWQtY29udGVudC9sb2FkZWQtY29udGVudC1jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBUTlELE1BQU0sT0FBTyx5QkFBeUI7SUFOdEM7UUFRVSx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFrQjlCLGlCQUFZLEdBQUcseUNBQXlDLENBQUM7UUFHekQsY0FBUyxHQUFHLElBQUksQ0FBQztLQTBDekI7SUF4Q0MsSUFBVyxPQUFPO1FBQ2hCLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFO1lBQzlCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7U0FDM0I7YUFBTTtZQUNMLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLE1BQU0sRUFBRTtnQkFDOUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzFCO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssYUFBYSxDQUFDLFVBQVUsRUFBRTtnQkFDekQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7YUFDL0I7U0FDRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxhQUFhLENBQUMsVUFBVSxDQUFDO1FBQ2xFLElBQUksVUFBVSxFQUFFO1lBQ2QsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztTQUNuQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQVcsU0FBUztRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDdkQsQ0FBQztJQUVELElBQVcsbUJBQW1CO1FBQzVCLE9BQU8sSUFBSSxDQUFDLG9CQUFvQixDQUFDO0lBQ25DLENBQUM7SUFFTSxnQkFBZ0I7UUFDckIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQztJQUNuQyxDQUFDOztzSEFoRVUseUJBQXlCOzBHQUF6Qix5QkFBeUIsZ1RDVHRDLHU3Q0E2Q0E7MkZEcENhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFFRSw4QkFBOEI7OEJBU3hDLGlCQUFpQjtzQkFEaEIsS0FBSztnQkFJTixhQUFhO3NCQURaLEtBQUs7Z0JBSU4sa0JBQWtCO3NCQURqQixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxpQkFBaUI7c0JBRHZCLEtBQUs7Z0JBSUMsWUFBWTtzQkFEbEIsS0FBSztnQkFJQyxTQUFTO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2FkaW5nU3RhdGUsIExvYWRpbmdTdGF0dXMgfSBmcm9tICcuL2xvYWRpbmctc3RhdGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ251Yy1sb2FkZWQtY29udGVudC1jb21wb25lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2FkZWQtY29udGVudC1jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbG9hZGVkLWNvbnRlbnQtY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTnVjTG9hZGVkQ29udGVudENvbXBvbmVudCB7XHJcblxyXG4gIHByaXZhdGUgX2Vycm9yRGV0YWlsc1Zpc2libGUgPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjb21wbGV0ZWRUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KClcclxuICBlcnJvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGluUHJvZ3Jlc3NUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc3RhdGU6IExvYWRpbmdTdGF0ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgaW5Qcm9ncmVzc01lc3NhZ2U6IHN0cmluZztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXJyb3JNZXNzYWdlID0gJ1dlIGFyZSBoYXZpbmcgdHJvdWJsZSBsb2FkaW5nIHRoZSBkYXRhLic7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dSZXRyeSA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBnZXQgbWVzc2FnZSgpIHtcclxuICAgIGlmICh0aGlzLnN0YXRlLm1lc3NhZ2UgIT0gbnVsbCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5zdGF0ZS5tZXNzYWdlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc3RhdGUuc3RhdHVzID09PSBMb2FkaW5nU3RhdHVzLmZhaWxlZCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLmVycm9yTWVzc2FnZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXRlLnN0YXR1cyA9PT0gTG9hZGluZ1N0YXR1cy5pblByb2dyZXNzKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5Qcm9ncmVzc01lc3NhZ2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzaG93UmV0cnlCdXR0b24oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zaG93UmV0cnk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGluUHJvZ3Jlc3MoKSB7XHJcbiAgICBjb25zdCBpblByb2dyZXNzID0gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuaW5Qcm9ncmVzcztcclxuICAgIGlmIChpblByb2dyZXNzKSB7XHJcbiAgICAgIHRoaXMuX2Vycm9yRGV0YWlsc1Zpc2libGUgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBpblByb2dyZXNzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBmYWlsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuZmFpbGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBjb21wbGV0ZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS5zdGF0dXMgPT09IExvYWRpbmdTdGF0dXMuY29tcGxldGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBlcnJvckRldGFpbHNWaXNpYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yRGV0YWlsc1Zpc2libGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2hvd0Vycm9yRGV0YWlscygpIHtcclxuICAgIHRoaXMuX2Vycm9yRGV0YWlsc1Zpc2libGUgPSB0cnVlO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiY29tcGxldGVkXCI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbXBsZXRlZFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPGRpdiBjbGFzcz1cImluZGljYXRvcnMtY29udGFpbmVyXCIgKm5nSWY9XCJpblByb2dyZXNzIHx8IGZhaWxlZFwiPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpblByb2dyZXNzXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaW5Qcm9ncmVzc1RlbXBsYXRlID8gaW5Qcm9ncmVzc1RlbXBsYXRlOiBkZWZhdWx0SW5Qcm9ncmVzc1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9uZy1jb250YWluZXI+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZhaWxlZFwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImVycm9yVGVtcGxhdGUgPyBlcnJvclRlbXBsYXRlOiBkZWZhdWx0RXJyb3JUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEluUHJvZ3Jlc3NUZW1wbGF0ZT5cclxuICA8ZGl2IGNsYXNzPVwic3Bpbm5lclwiPlxyXG4gICAgPG1hdC1zcGlubmVyIFtkaWFtZXRlcl09XCI0NVwiPjwvbWF0LXNwaW5uZXI+XHJcbiAgPC9kaXY+XHJcbiAgPHA+XHJcbiAgICB7e21lc3NhZ2V9fVxyXG4gIDwvcD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEVycm9yVGVtcGxhdGU+XHJcbiAgPGRpdj5cclxuICAgIDxwPlxyXG4gICAgICB7e21lc3NhZ2V9fVxyXG4gICAgPC9wPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJzdGF0ZS5lcnJvckRldGFpbHNcIj5cclxuICAgICAgPGJ1dHRvbiAqbmdJZj1cIiFlcnJvckRldGFpbHNWaXNpYmxlXCIgbWF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIiAoY2xpY2spPVwic2hvd0Vycm9yRGV0YWlscygpXCI+c2hvdyBkZXRhaWxzPC9idXR0b24+XHJcblxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JEZXRhaWxzVmlzaWJsZVwiIGNsYXNzPVwiZXJyb3ItZGV0YWlscyBtYXQtc21hbGxcIj5cclxuICAgICAgICA8c3Ryb25nPmRldGFpbHM6PC9zdHJvbmc+PGJyIC8+XHJcbiAgICAgICAgPHA+e3tzdGF0ZS5lcnJvckRldGFpbHN9fTwvcD5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8cCAqbmdJZj1cInNob3dSZXRyeUJ1dHRvblwiPlxyXG4gICAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic3RhdGUucmV0cnkoKVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5yZWZyZXNoPC9tYXQtaWNvbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L3A+XHJcblxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -53,9 +53,9 @@ export class NucLoadedContentDirective {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
-
NucLoadedContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
57
|
-
NucLoadedContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
56
|
+
NucLoadedContentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentDirective, deps: [{ token: i0.ViewContainerRef }, { token: i0.TemplateRef }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Directive });
|
|
57
|
+
NucLoadedContentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: NucLoadedContentDirective, selector: "[nucLoadedContent]", inputs: { nucLoadedContent: "nucLoadedContent", errorTemplate: ["nucLoadedContentError", "errorTemplate"], inProgressTemplate: ["nucLoadedContentInProgress", "inProgressTemplate"], inProgressMessage: ["nucLoadedContentInProgressMessage", "inProgressMessage"], errorMessage: ["nucLoadedContentErrorMessage", "errorMessage"], showRetry: ["nucLoadedContentShowRetry", "showRetry"] }, ngImport: i0 });
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentDirective, decorators: [{
|
|
59
59
|
type: Directive,
|
|
60
60
|
args: [{ selector: '[nucLoadedContent]' }]
|
|
61
61
|
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.TemplateRef }, { type: i0.ComponentFactoryResolver }]; }, propDecorators: { nucLoadedContent: [{
|
|
@@ -8,19 +8,19 @@ import { NucLoadedContentDirective } from './loaded-content-directive';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export class NucLoadedContentModule {
|
|
10
10
|
}
|
|
11
|
-
NucLoadedContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
12
|
-
NucLoadedContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
11
|
+
NucLoadedContentModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
12
|
+
NucLoadedContentModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentModule, declarations: [NucLoadedContentDirective,
|
|
13
13
|
NucLoadedContentComponent], imports: [CommonModule,
|
|
14
14
|
MatProgressSpinnerModule,
|
|
15
15
|
MatButtonModule,
|
|
16
16
|
MatIconModule], exports: [NucLoadedContentDirective] });
|
|
17
|
-
NucLoadedContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
17
|
+
NucLoadedContentModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentModule, imports: [[
|
|
18
18
|
CommonModule,
|
|
19
19
|
MatProgressSpinnerModule,
|
|
20
20
|
MatButtonModule,
|
|
21
21
|
MatIconModule
|
|
22
22
|
]] });
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucLoadedContentModule, decorators: [{
|
|
24
24
|
type: NgModule,
|
|
25
25
|
args: [{
|
|
26
26
|
declarations: [
|
|
@@ -0,0 +1,93 @@
|
|
|
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
|
+
this._message = null;
|
|
13
|
+
this._errorDetails = null;
|
|
14
|
+
this._lastSubscription = null;
|
|
15
|
+
}
|
|
16
|
+
get status() {
|
|
17
|
+
return this._status;
|
|
18
|
+
}
|
|
19
|
+
get message() {
|
|
20
|
+
return this._message;
|
|
21
|
+
}
|
|
22
|
+
get errorDetails() {
|
|
23
|
+
return this._errorDetails;
|
|
24
|
+
}
|
|
25
|
+
load(observable, resultFunction, errorFunction, completeFunction) {
|
|
26
|
+
return this._load(true, null, observable, resultFunction, errorFunction, completeFunction);
|
|
27
|
+
}
|
|
28
|
+
loadWithMessage(observable, message, resultFunction, errorFunction, completeFunction) {
|
|
29
|
+
return this._load(true, message, observable, resultFunction, errorFunction, completeFunction);
|
|
30
|
+
}
|
|
31
|
+
invoke(observable, resultFunction, errorFunction, completeFunction) {
|
|
32
|
+
return this._load(false, null, observable, resultFunction, errorFunction, completeFunction);
|
|
33
|
+
}
|
|
34
|
+
invokeWithMessage(observable, message, resultFunction, errorFunction, completeFunction) {
|
|
35
|
+
return this._load(false, message, observable, resultFunction, errorFunction, completeFunction);
|
|
36
|
+
}
|
|
37
|
+
retry() {
|
|
38
|
+
if (this._lastSubscription) {
|
|
39
|
+
this._lastSubscription.unsubscribe();
|
|
40
|
+
}
|
|
41
|
+
this.setInProgress();
|
|
42
|
+
this._lastSubscription = this._loadObservable.subscribe(this._resultFunction, this._errorFunction, this._completeFunction);
|
|
43
|
+
return this._lastSubscription;
|
|
44
|
+
}
|
|
45
|
+
setInProgress(message = null) {
|
|
46
|
+
this._status = LoadingStatus.inProgress;
|
|
47
|
+
this._message = message;
|
|
48
|
+
}
|
|
49
|
+
setCompleted() {
|
|
50
|
+
this._status = LoadingStatus.completed;
|
|
51
|
+
}
|
|
52
|
+
setFailed(message = null, error = null) {
|
|
53
|
+
this._status = LoadingStatus.failed;
|
|
54
|
+
this._message = message;
|
|
55
|
+
this._errorDetails = error;
|
|
56
|
+
}
|
|
57
|
+
_load(saveAsLoadObservable, progressMessage, observable, resultFunction, errorFunction, completeFunction) {
|
|
58
|
+
if (this._lastSubscription) {
|
|
59
|
+
this._lastSubscription.unsubscribe();
|
|
60
|
+
}
|
|
61
|
+
this.setInProgress(progressMessage);
|
|
62
|
+
const obs = observable.pipe(tap(() => {
|
|
63
|
+
if (!saveAsLoadObservable && this.message) { // if message was used one time we clear it
|
|
64
|
+
this._message = null;
|
|
65
|
+
}
|
|
66
|
+
this.setCompleted();
|
|
67
|
+
}, (err) => {
|
|
68
|
+
this.setFailed(null, LoadingState.getErrorDetails(err));
|
|
69
|
+
}));
|
|
70
|
+
if (saveAsLoadObservable) {
|
|
71
|
+
this._loadObservable = obs;
|
|
72
|
+
this._resultFunction = resultFunction;
|
|
73
|
+
this._errorFunction = errorFunction;
|
|
74
|
+
this._completeFunction = completeFunction;
|
|
75
|
+
}
|
|
76
|
+
this._lastSubscription = obs.subscribe(resultFunction, errorFunction, completeFunction);
|
|
77
|
+
return this._lastSubscription;
|
|
78
|
+
}
|
|
79
|
+
static getErrorDetails(error) {
|
|
80
|
+
// this routine tries to get the best error details from:
|
|
81
|
+
// - standard rfc7807 http error: https://datatracker.ietf.org/doc/html/rfc7807
|
|
82
|
+
// - angular HttpError
|
|
83
|
+
// - JS Error object
|
|
84
|
+
const problem = error?.error;
|
|
85
|
+
if (problem?.title && problem?.detail) {
|
|
86
|
+
return `${problem.title}: ${problem.detail}`;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return problem?.title || problem?.detail || error.message || error;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zdGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi9sb2FkZWQtY29udGVudC9sb2FkaW5nLXN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxNQUFNLENBQU4sSUFBWSxhQUEwRDtBQUF0RSxXQUFZLGFBQWE7SUFBRywyREFBUyxDQUFBO0lBQUUsNkRBQVUsQ0FBQTtJQUFFLHFEQUFNLENBQUE7SUFBRSwyREFBUyxDQUFBO0FBQUMsQ0FBQyxFQUExRCxhQUFhLEtBQWIsYUFBYSxRQUE2QztBQUV0RSxNQUFNLE9BQU8sWUFBWTtJQUF6QjtRQUNVLFlBQU8sR0FBa0IsYUFBYSxDQUFDLFNBQVMsQ0FBQztRQUNqRCxhQUFRLEdBQVcsSUFBSSxDQUFDO1FBQ3hCLGtCQUFhLEdBQVcsSUFBSSxDQUFDO1FBSzdCLHNCQUFpQixHQUFpQixJQUFJLENBQUM7SUErSGpELENBQUM7SUE3SEMsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM1QixDQUFDO0lBRU0sSUFBSSxDQUNQLFVBQXlCLEVBQ3pCLGNBQW9DLEVBQ3BDLGFBQWtELEVBQ2xELGdCQUE2QjtRQUUvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdGLENBQUM7SUFFTSxlQUFlLENBQ2xCLFVBQXlCLEVBQ3pCLE9BQWUsRUFDZixjQUFvQyxFQUNwQyxhQUFrRCxFQUNsRCxnQkFBNkI7UUFFL0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztJQUNoRyxDQUFDO0lBRU0sTUFBTSxDQUNULFVBQXlCLEVBQ3pCLGNBQW9DLEVBQ3BDLGFBQWtELEVBQ2xELGdCQUE2QjtRQUUvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzlGLENBQUM7SUFFTSxpQkFBaUIsQ0FDcEIsVUFBeUIsRUFDekIsT0FBZSxFQUNmLGNBQW9DLEVBQ3BDLGFBQWtELEVBQ2xELGdCQUE2QjtRQUUvQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFTSxLQUFLO1FBQ1YsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3RDO1FBQ0QsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDM0gsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVNLGFBQWEsQ0FBQyxVQUFrQixJQUFJO1FBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUMxQixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDekMsQ0FBQztJQUVNLFNBQVMsQ0FBQyxVQUFrQixJQUFJLEVBQUUsUUFBZ0IsSUFBSTtRQUMzRCxJQUFJLENBQUMsT0FBTyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVPLEtBQUssQ0FDVCxvQkFBNkIsRUFDN0IsZUFBdUIsRUFDdkIsVUFBeUIsRUFDekIsY0FBb0MsRUFDcEMsYUFBa0QsRUFDbEQsZ0JBQTZCO1FBRS9CLElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFO1lBQzFCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN0QztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDcEMsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FDekIsR0FBRyxDQUNELEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxvQkFBb0IsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsMkNBQTJDO2dCQUN0RixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQzthQUN0QjtZQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUMxRCxDQUFDLENBQ0YsQ0FDRixDQUFDO1FBRUYsSUFBSSxvQkFBb0IsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLEdBQUcsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQztZQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztZQUNwQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsZ0JBQWdCLENBQUM7U0FDM0M7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDeEYsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDaEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBVTtRQUN0Qyx5REFBeUQ7UUFDekQsK0VBQStFO1FBQy9FLHNCQUFzQjtRQUN0QixvQkFBb0I7UUFFcEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxFQUFFLEtBQUssQ0FBQztRQUM3QixJQUFJLE9BQU8sRUFBRSxLQUFLLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRTtZQUNyQyxPQUFPLEdBQUcsT0FBTyxDQUFDLEtBQUssS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDOUM7YUFBTTtZQUNMLE9BQU8sT0FBTyxFQUFFLEtBQUssSUFBSSxPQUFPLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5leHBvcnQgZW51bSBMb2FkaW5nU3RhdHVzIHsgY29tcGxldGVkLCBpblByb2dyZXNzLCBmYWlsZWQsIHVuZGVmaW5lZCB9XHJcblxyXG5leHBvcnQgY2xhc3MgTG9hZGluZ1N0YXRlIHtcclxuICBwcml2YXRlIF9zdGF0dXM6IExvYWRpbmdTdGF0dXMgPSBMb2FkaW5nU3RhdHVzLnVuZGVmaW5lZDtcclxuICBwcml2YXRlIF9tZXNzYWdlOiBzdHJpbmcgPSBudWxsO1xyXG4gIHByaXZhdGUgX2Vycm9yRGV0YWlsczogc3RyaW5nID0gbnVsbDtcclxuICBwcml2YXRlIF9yZXN1bHRGdW5jdGlvbjogKHJlc3VsdDogYW55KSA9PiB2b2lkO1xyXG4gIHByaXZhdGUgX2Vycm9yRnVuY3Rpb246IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQ7XHJcbiAgcHJpdmF0ZSBfY29tcGxldGVGdW5jdGlvbjogKCkgPT4gdm9pZDtcclxuICBwcml2YXRlIF9sb2FkT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gIHByaXZhdGUgX2xhc3RTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XHJcblxyXG4gIGdldCBzdGF0dXMoKTogTG9hZGluZ1N0YXR1cyB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3RhdHVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG1lc3NhZ2UoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9tZXNzYWdlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVycm9yRGV0YWlscygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Vycm9yRGV0YWlscztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkPFQ+KFxyXG4gICAgICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+LFxyXG4gICAgICByZXN1bHRGdW5jdGlvbj86IChyZXN1bHQ6IFQpID0+IHZvaWQsXHJcbiAgICAgIGVycm9yRnVuY3Rpb24/OiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkLFxyXG4gICAgICBjb21wbGV0ZUZ1bmN0aW9uPzogKCkgPT4gdm9pZFxyXG4gICk6IFN1YnNjcmlwdGlvbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbG9hZCh0cnVlLCBudWxsLCBvYnNlcnZhYmxlLCByZXN1bHRGdW5jdGlvbiwgZXJyb3JGdW5jdGlvbiwgY29tcGxldGVGdW5jdGlvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbG9hZFdpdGhNZXNzYWdlPFQ+KFxyXG4gICAgICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+LFxyXG4gICAgICBtZXNzYWdlOiBzdHJpbmcsXHJcbiAgICAgIHJlc3VsdEZ1bmN0aW9uPzogKHJlc3VsdDogVCkgPT4gdm9pZCxcclxuICAgICAgZXJyb3JGdW5jdGlvbj86IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsXHJcbiAgICAgIGNvbXBsZXRlRnVuY3Rpb24/OiAoKSA9PiB2b2lkXHJcbiAgKTogU3Vic2NyaXB0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLl9sb2FkKHRydWUsIG1lc3NhZ2UsIG9ic2VydmFibGUsIHJlc3VsdEZ1bmN0aW9uLCBlcnJvckZ1bmN0aW9uLCBjb21wbGV0ZUZ1bmN0aW9uKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBpbnZva2U8VD4oXHJcbiAgICAgIG9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sXHJcbiAgICAgIHJlc3VsdEZ1bmN0aW9uPzogKHJlc3VsdDogVCkgPT4gdm9pZCxcclxuICAgICAgZXJyb3JGdW5jdGlvbj86IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHZvaWQsXHJcbiAgICAgIGNvbXBsZXRlRnVuY3Rpb24/OiAoKSA9PiB2b2lkXHJcbiAgKTogU3Vic2NyaXB0aW9uIHtcclxuICAgIHJldHVybiB0aGlzLl9sb2FkKGZhbHNlLCBudWxsLCBvYnNlcnZhYmxlLCByZXN1bHRGdW5jdGlvbiwgZXJyb3JGdW5jdGlvbiwgY29tcGxldGVGdW5jdGlvbik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaW52b2tlV2l0aE1lc3NhZ2U8VD4oXHJcbiAgICAgIG9ic2VydmFibGU6IE9ic2VydmFibGU8VD4sXHJcbiAgICAgIG1lc3NhZ2U6IHN0cmluZyxcclxuICAgICAgcmVzdWx0RnVuY3Rpb24/OiAocmVzdWx0OiBUKSA9PiB2b2lkLFxyXG4gICAgICBlcnJvckZ1bmN0aW9uPzogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gdm9pZCxcclxuICAgICAgY29tcGxldGVGdW5jdGlvbj86ICgpID0+IHZvaWRcclxuICApOiBTdWJzY3JpcHRpb24ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xvYWQoZmFsc2UsIG1lc3NhZ2UsIG9ic2VydmFibGUsIHJlc3VsdEZ1bmN0aW9uLCBlcnJvckZ1bmN0aW9uLCBjb21wbGV0ZUZ1bmN0aW9uKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXRyeSgpIHtcclxuICAgIGlmICh0aGlzLl9sYXN0U3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMuX2xhc3RTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0SW5Qcm9ncmVzcygpO1xyXG4gICAgdGhpcy5fbGFzdFN1YnNjcmlwdGlvbiA9IHRoaXMuX2xvYWRPYnNlcnZhYmxlLnN1YnNjcmliZSh0aGlzLl9yZXN1bHRGdW5jdGlvbiwgdGhpcy5fZXJyb3JGdW5jdGlvbiwgdGhpcy5fY29tcGxldGVGdW5jdGlvbik7XHJcbiAgICByZXR1cm4gdGhpcy5fbGFzdFN1YnNjcmlwdGlvbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRJblByb2dyZXNzKG1lc3NhZ2U6IHN0cmluZyA9IG51bGwpIHtcclxuICAgIHRoaXMuX3N0YXR1cyA9IExvYWRpbmdTdGF0dXMuaW5Qcm9ncmVzcztcclxuICAgIHRoaXMuX21lc3NhZ2UgPSBtZXNzYWdlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldENvbXBsZXRlZCgpIHtcclxuICAgIHRoaXMuX3N0YXR1cyA9IExvYWRpbmdTdGF0dXMuY29tcGxldGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEZhaWxlZChtZXNzYWdlOiBzdHJpbmcgPSBudWxsLCBlcnJvcjogc3RyaW5nID0gbnVsbCkge1xyXG4gICAgdGhpcy5fc3RhdHVzID0gTG9hZGluZ1N0YXR1cy5mYWlsZWQ7XHJcbiAgICB0aGlzLl9tZXNzYWdlID0gbWVzc2FnZTtcclxuICAgIHRoaXMuX2Vycm9yRGV0YWlscyA9IGVycm9yO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfbG9hZDxUPihcclxuICAgICAgc2F2ZUFzTG9hZE9ic2VydmFibGU6IGJvb2xlYW4sXHJcbiAgICAgIHByb2dyZXNzTWVzc2FnZTogc3RyaW5nLFxyXG4gICAgICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPFQ+LFxyXG4gICAgICByZXN1bHRGdW5jdGlvbj86IChyZXN1bHQ6IFQpID0+IHZvaWQsXHJcbiAgICAgIGVycm9yRnVuY3Rpb24/OiAoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB2b2lkLFxyXG4gICAgICBjb21wbGV0ZUZ1bmN0aW9uPzogKCkgPT4gdm9pZFxyXG4gICk6IFN1YnNjcmlwdGlvbiB7XHJcbiAgICBpZiAodGhpcy5fbGFzdFN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLl9sYXN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXRJblByb2dyZXNzKHByb2dyZXNzTWVzc2FnZSk7XHJcbiAgICBjb25zdCBvYnMgPSBvYnNlcnZhYmxlLnBpcGUoXHJcbiAgICAgIHRhcChcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXNhdmVBc0xvYWRPYnNlcnZhYmxlICYmIHRoaXMubWVzc2FnZSkgeyAvLyBpZiBtZXNzYWdlIHdhcyB1c2VkIG9uZSB0aW1lIHdlIGNsZWFyIGl0XHJcbiAgICAgICAgICAgIHRoaXMuX21lc3NhZ2UgPSBudWxsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZXRDb21wbGV0ZWQoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2V0RmFpbGVkKG51bGwsIExvYWRpbmdTdGF0ZS5nZXRFcnJvckRldGFpbHMoZXJyKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICApO1xyXG5cclxuICAgIGlmIChzYXZlQXNMb2FkT2JzZXJ2YWJsZSkge1xyXG4gICAgICB0aGlzLl9sb2FkT2JzZXJ2YWJsZSA9IG9icztcclxuICAgICAgdGhpcy5fcmVzdWx0RnVuY3Rpb24gPSByZXN1bHRGdW5jdGlvbjtcclxuICAgICAgdGhpcy5fZXJyb3JGdW5jdGlvbiA9IGVycm9yRnVuY3Rpb247XHJcbiAgICAgIHRoaXMuX2NvbXBsZXRlRnVuY3Rpb24gPSBjb21wbGV0ZUZ1bmN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX2xhc3RTdWJzY3JpcHRpb24gPSBvYnMuc3Vic2NyaWJlKHJlc3VsdEZ1bmN0aW9uLCBlcnJvckZ1bmN0aW9uLCBjb21wbGV0ZUZ1bmN0aW9uKTtcclxuICAgIHJldHVybiB0aGlzLl9sYXN0U3Vic2NyaXB0aW9uO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBnZXRFcnJvckRldGFpbHMoZXJyb3I6IGFueSkge1xyXG4gICAgLy8gdGhpcyByb3V0aW5lIHRyaWVzIHRvIGdldCB0aGUgYmVzdCBlcnJvciBkZXRhaWxzIGZyb206XHJcbiAgICAvLyAtIHN0YW5kYXJkIHJmYzc4MDcgaHR0cCBlcnJvcjogaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9yZmM3ODA3XHJcbiAgICAvLyAtIGFuZ3VsYXIgSHR0cEVycm9yXHJcbiAgICAvLyAtIEpTIEVycm9yIG9iamVjdFxyXG5cclxuICAgIGNvbnN0IHByb2JsZW0gPSBlcnJvcj8uZXJyb3I7XHJcbiAgICBpZiAocHJvYmxlbT8udGl0bGUgJiYgcHJvYmxlbT8uZGV0YWlsKSB7XHJcbiAgICAgIHJldHVybiBgJHtwcm9ibGVtLnRpdGxlfTogJHtwcm9ibGVtLmRldGFpbH1gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHByb2JsZW0/LnRpdGxlIHx8IHByb2JsZW0/LmRldGFpbCB8fCBlcnJvci5tZXNzYWdlIHx8IGVycm9yO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
File without changes
|
|
@@ -56,9 +56,9 @@ export class NativeStylingService {
|
|
|
56
56
|
return Windows.UI.ColorHelper.fromArgb(color.a, color.r * factor, color.g * factor, color.b * factor);
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
|
-
NativeStylingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
60
|
-
NativeStylingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
59
|
+
NativeStylingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NativeStylingService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
60
|
+
NativeStylingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NativeStylingService, providedIn: 'root' });
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NativeStylingService, decorators: [{
|
|
62
62
|
type: Injectable,
|
|
63
63
|
args: [{
|
|
64
64
|
providedIn: 'root'
|
|
File without changes
|
package/{esm2015/lib/snackbar/snackbar.module.js → esm2020/lib/snackbar/snackbar.module.mjs}
RENAMED
|
@@ -4,14 +4,14 @@ import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class NucSnackbarModule {
|
|
6
6
|
}
|
|
7
|
-
NucSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
NucSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
7
|
+
NucSnackbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
NucSnackbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarModule, imports: [CommonModule,
|
|
9
9
|
MatSnackBarModule] });
|
|
10
|
-
NucSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
10
|
+
NucSnackbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarModule, imports: [[
|
|
11
11
|
CommonModule,
|
|
12
12
|
MatSnackBarModule
|
|
13
13
|
]] });
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarModule, decorators: [{
|
|
15
15
|
type: NgModule,
|
|
16
16
|
args: [{
|
|
17
17
|
declarations: [],
|
package/{esm2015/lib/snackbar/snackbar.service.js → esm2020/lib/snackbar/snackbar.service.mjs}
RENAMED
|
@@ -25,9 +25,9 @@ export class NucSnackbarService {
|
|
|
25
25
|
return snackbarRef;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
NucSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
29
|
-
NucSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
28
|
+
NucSnackbarService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarService, deps: [{ token: i1.MatSnackBar }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
29
|
+
NucSnackbarService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarService, providedIn: 'root' });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSnackbarService, decorators: [{
|
|
31
31
|
type: Injectable,
|
|
32
32
|
args: [{
|
|
33
33
|
providedIn: 'root'
|
|
@@ -52,9 +52,9 @@ export class NucSwipeTabsDirective {
|
|
|
52
52
|
return offset;
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
NucSwipeTabsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
56
|
-
NucSwipeTabsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
55
|
+
NucSwipeTabsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsDirective, deps: [{ token: i0.ElementRef }, { token: i1.MatTabGroup }], target: i0.ɵɵFactoryTarget.Directive });
|
|
56
|
+
NucSwipeTabsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.2", type: NucSwipeTabsDirective, selector: "[nucSwipe]", ngImport: i0 });
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsDirective, decorators: [{
|
|
58
58
|
type: Directive,
|
|
59
59
|
args: [{ selector: '[nucSwipe]' }]
|
|
60
60
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MatTabGroup }]; } });
|
package/{esm2015/lib/swipe-tabs/swipe-tabs-module.js → esm2020/lib/swipe-tabs/swipe-tabs-module.mjs}
RENAMED
|
@@ -4,12 +4,12 @@ import { CommonModule } from '@angular/common';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class NucSwipeTabsModule {
|
|
6
6
|
}
|
|
7
|
-
NucSwipeTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
NucSwipeTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
9
|
-
NucSwipeTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
7
|
+
NucSwipeTabsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
NucSwipeTabsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsModule, declarations: [NucSwipeTabsDirective], imports: [CommonModule], exports: [NucSwipeTabsDirective] });
|
|
9
|
+
NucSwipeTabsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsModule, imports: [[
|
|
10
10
|
CommonModule
|
|
11
11
|
]] });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucSwipeTabsModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
declarations: [
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class NucUserAvatarComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.size = 'medium';
|
|
7
|
+
this.background = false;
|
|
8
|
+
}
|
|
9
|
+
getUserInitials() {
|
|
10
|
+
const nameParts = this.name.split(' ');
|
|
11
|
+
return nameParts[0].charAt(0).toUpperCase() + '' + nameParts[nameParts.length - 1].charAt(0).toUpperCase();
|
|
12
|
+
}
|
|
13
|
+
getHslString() {
|
|
14
|
+
if (!this.background) {
|
|
15
|
+
return `hsl(${0},${0}%,${100}%)`;
|
|
16
|
+
}
|
|
17
|
+
let hash = 0;
|
|
18
|
+
for (let i = 0; i < this.name.length; i++) {
|
|
19
|
+
/*
|
|
20
|
+
* Javascript uses double precision floating-point format for all numerical datatypes.
|
|
21
|
+
* Except when using bitwise operations, where operators are converted to 32-bit signed integers.
|
|
22
|
+
* Result of bitwise operations are then converted back to double precision floating-point format.
|
|
23
|
+
*
|
|
24
|
+
* We make a bitwise OR operation between the new hash and 0.
|
|
25
|
+
* This keeps only the lower 32 bits in the new hash value.
|
|
26
|
+
*/
|
|
27
|
+
// eslint-disable-next-line no-bitwise
|
|
28
|
+
hash = (this.name.charCodeAt(i) + ((hash << 15) - hash)) | 0;
|
|
29
|
+
}
|
|
30
|
+
const hue = Math.abs(hash % 360);
|
|
31
|
+
const lightness = 49.2;
|
|
32
|
+
const saturation = 42.6;
|
|
33
|
+
return `hsl(${hue},${saturation}%,${lightness}%)`;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
NucUserAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
NucUserAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.2", type: NucUserAvatarComponent, selector: "nuc-user-avatar", inputs: { name: "name", image: "image", size: "size", background: "background" }, ngImport: i0, template: "<ng-container *ngIf=\"image\">\r\n <div class=\"user-avatar size-{{size}}\">\r\n <img src=\"{{image}}\" />\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!image\">\r\n <div class=\"user-avatar size-{{size}} unselectable\" [style.background-color]=\"getHslString()\" [ngClass]=\"{'white-text': background, 'black-text border': !background}\">\r\n {{getUserInitials()}}\r\n </div>\r\n</ng-container>\r\n", styles: [".user-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;text-align:center;font-weight:400}.user-avatar img{object-fit:contain;width:inherit;height:inherit;border-radius:50%}.white-text{color:#fff}.black-text{color:#333}.unselectable{-webkit-user-select:none;user-select:none}.border{border:2px solid #333333}.user-avatar.size-small{height:24px;width:24px;font-size:.8em;line-height:24px}.user-avatar.size-medium{height:40px;width:40px;font-size:1.2em;line-height:40px}.user-avatar.size-large{height:64px;width:64px;font-size:2em;line-height:64px}.user-avatar.size-xlarge{height:90px;width:90px;font-size:3em;line-height:90px}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{ selector: 'nuc-user-avatar', template: "<ng-container *ngIf=\"image\">\r\n <div class=\"user-avatar size-{{size}}\">\r\n <img src=\"{{image}}\" />\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"!image\">\r\n <div class=\"user-avatar size-{{size}} unselectable\" [style.background-color]=\"getHslString()\" [ngClass]=\"{'white-text': background, 'black-text border': !background}\">\r\n {{getUserInitials()}}\r\n </div>\r\n</ng-container>\r\n", styles: [".user-avatar{display:flex;align-items:center;justify-content:center;border-radius:50%;position:relative;text-align:center;font-weight:400}.user-avatar img{object-fit:contain;width:inherit;height:inherit;border-radius:50%}.white-text{color:#fff}.black-text{color:#333}.unselectable{-webkit-user-select:none;user-select:none}.border{border:2px solid #333333}.user-avatar.size-small{height:24px;width:24px;font-size:.8em;line-height:24px}.user-avatar.size-medium{height:40px;width:40px;font-size:1.2em;line-height:40px}.user-avatar.size-large{height:64px;width:64px;font-size:2em;line-height:64px}.user-avatar.size-xlarge{height:90px;width:90px;font-size:3em;line-height:90px}\n"] }]
|
|
41
|
+
}], ctorParameters: function () { return []; }, propDecorators: { name: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], image: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], size: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], background: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}] } });
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hdmF0YXItY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbnVjbGV1cy1tYXRlcmlhbC9zcmMvbGliL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLWNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL251Y2xldXMtbWF0ZXJpYWwvc3JjL2xpYi91c2VyLWF2YXRhci91c2VyLWF2YXRhci1jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBV2pELE1BQU0sT0FBTyxzQkFBc0I7SUFPakM7UUFIUyxTQUFJLEdBQWUsUUFBUSxDQUFDO1FBQzVCLGVBQVUsR0FBZSxLQUFLLENBQUM7SUFHeEMsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN2QyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM3RyxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1NBQ2xDO1FBR0QsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pDOzs7Ozs7O2VBT0c7WUFDSCxzQ0FBc0M7WUFDdEMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM5RDtRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBRWpDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQztRQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFFeEIsT0FBTyxPQUFPLEdBQUcsSUFBSSxVQUFVLEtBQUssU0FBUyxJQUFJLENBQUM7SUFDcEQsQ0FBQzs7bUhBekNVLHNCQUFzQjt1R0FBdEIsc0JBQXNCLHlJQ1huQywwYUFXQTsyRkRBYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBRUUsaUJBQWlCOzBFQU9sQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5leHBvcnQgdHlwZSBBdmF0YXJTaXplID0gJ3NtYWxsJyB8ICdtZWRpdW0nIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnO1xyXG5leHBvcnQgdHlwZSBCYWNrZ3JvdW5kID0gdHJ1ZSB8IGZhbHNlO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ251Yy11c2VyLWF2YXRhcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXItYXZhdGFyLWNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi91c2VyLWF2YXRhci1jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgTnVjVXNlckF2YXRhckNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcclxuICBASW5wdXQoKSBpbWFnZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNpemU6IEF2YXRhclNpemUgPSAnbWVkaXVtJztcclxuICBASW5wdXQoKSBiYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckluaXRpYWxzKCkge1xyXG4gICAgY29uc3QgbmFtZVBhcnRzID0gdGhpcy5uYW1lLnNwbGl0KCcgJyk7XHJcbiAgICByZXR1cm4gbmFtZVBhcnRzWzBdLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgJycgKyBuYW1lUGFydHNbbmFtZVBhcnRzLmxlbmd0aCAtIDFdLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SHNsU3RyaW5nKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuYmFja2dyb3VuZCkge1xyXG4gICAgICByZXR1cm4gYGhzbCgkezB9LCR7MH0lLCR7MTAwfSUpYDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgbGV0IGhhc2ggPSAwO1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm5hbWUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgLypcclxuICAgICAgICogSmF2YXNjcmlwdCB1c2VzIGRvdWJsZSBwcmVjaXNpb24gZmxvYXRpbmctcG9pbnQgZm9ybWF0IGZvciBhbGwgbnVtZXJpY2FsIGRhdGF0eXBlcy5cclxuICAgICAgICogRXhjZXB0IHdoZW4gdXNpbmcgYml0d2lzZSBvcGVyYXRpb25zLCB3aGVyZSBvcGVyYXRvcnMgYXJlIGNvbnZlcnRlZCB0byAzMi1iaXQgc2lnbmVkIGludGVnZXJzLlxyXG4gICAgICAgKiBSZXN1bHQgb2YgYml0d2lzZSBvcGVyYXRpb25zIGFyZSB0aGVuIGNvbnZlcnRlZCBiYWNrIHRvIGRvdWJsZSBwcmVjaXNpb24gZmxvYXRpbmctcG9pbnQgZm9ybWF0LlxyXG4gICAgICAgKlxyXG4gICAgICAgKiBXZSBtYWtlIGEgYml0d2lzZSBPUiBvcGVyYXRpb24gYmV0d2VlbiB0aGUgbmV3IGhhc2ggYW5kIDAuXHJcbiAgICAgICAqIFRoaXMga2VlcHMgb25seSB0aGUgbG93ZXIgMzIgYml0cyBpbiB0aGUgbmV3IGhhc2ggdmFsdWUuXHJcbiAgICAgICAqL1xyXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZVxyXG4gICAgICBoYXNoID0gKHRoaXMubmFtZS5jaGFyQ29kZUF0KGkpICsgKChoYXNoIDw8IDE1KSAtIGhhc2gpKSB8IDA7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHVlID0gTWF0aC5hYnMoaGFzaCAlIDM2MCk7XHJcblxyXG4gICAgY29uc3QgbGlnaHRuZXNzID0gNDkuMjtcclxuICAgIGNvbnN0IHNhdHVyYXRpb24gPSA0Mi42O1xyXG5cclxuICAgIHJldHVybiBgaHNsKCR7aHVlfSwke3NhdHVyYXRpb259JSwke2xpZ2h0bmVzc30lKWA7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpbWFnZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ1c2VyLWF2YXRhciBzaXplLXt7c2l6ZX19XCI+XHJcbiAgICA8aW1nIHNyYz1cInt7aW1hZ2V9fVwiICAvPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaW1hZ2VcIj5cclxuICA8ZGl2IGNsYXNzPVwidXNlci1hdmF0YXIgc2l6ZS17e3NpemV9fSB1bnNlbGVjdGFibGVcIiBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnZXRIc2xTdHJpbmcoKVwiIFtuZ0NsYXNzXT1cInsnd2hpdGUtdGV4dCc6IGJhY2tncm91bmQsICdibGFjay10ZXh0IGJvcmRlcic6ICFiYWNrZ3JvdW5kfVwiPlxyXG4gICAge3tnZXRVc2VySW5pdGlhbHMoKX19XHJcbiAgPC9kaXY+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
@@ -4,12 +4,12 @@ import { NucUserAvatarComponent } from './user-avatar-component';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class NucUserAvatarModule {
|
|
6
6
|
}
|
|
7
|
-
NucUserAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
NucUserAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
|
|
9
|
-
NucUserAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
7
|
+
NucUserAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
NucUserAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarModule, declarations: [NucUserAvatarComponent], imports: [CommonModule], exports: [NucUserAvatarComponent] });
|
|
9
|
+
NucUserAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarModule, imports: [[
|
|
10
10
|
CommonModule,
|
|
11
11
|
]] });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImport: i0, type: NucUserAvatarModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
declarations: [
|
|
File without changes
|