@dereekb/dbx-web 12.5.1 → 12.5.2
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/esm2022/lib/layout/avatar/avatar.component.mjs +6 -3
- package/esm2022/lib/layout/avatar/avatar.mjs +1 -1
- package/esm2022/lib/layout/avatar/avatar.view.component.mjs +28 -8
- package/fesm2022/dereekb-dbx-web.mjs +32 -9
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
- package/lib/layout/avatar/_avatar.scss +4 -0
- package/lib/layout/avatar/avatar.component.d.ts +3 -1
- package/lib/layout/avatar/avatar.d.ts +4 -0
- package/lib/layout/avatar/avatar.view.component.d.ts +6 -1
- package/package.json +1 -1
|
@@ -17,6 +17,7 @@ export class DbxAvatarComponent {
|
|
|
17
17
|
avatarIcon = input();
|
|
18
18
|
avatarStyle = input();
|
|
19
19
|
avatarSize = input(undefined);
|
|
20
|
+
avatarHideOnError = input();
|
|
20
21
|
contextSignal = computed(() => {
|
|
21
22
|
const inputContext = this.context();
|
|
22
23
|
const selector = this.avatarSelector() ?? inputContext?.selector;
|
|
@@ -25,13 +26,15 @@ export class DbxAvatarComponent {
|
|
|
25
26
|
const key = this.avatarKey() ?? inputContext?.key;
|
|
26
27
|
const icon = this.avatarIcon() ?? inputContext?.icon;
|
|
27
28
|
const style = this.avatarStyle() ?? inputContext?.style;
|
|
29
|
+
const hideOnError = this.avatarHideOnError() ?? inputContext?.hideOnError;
|
|
28
30
|
const context = {
|
|
29
31
|
selector,
|
|
30
32
|
uid,
|
|
31
33
|
url,
|
|
32
34
|
key,
|
|
33
35
|
icon,
|
|
34
|
-
style
|
|
36
|
+
style,
|
|
37
|
+
hideOnError
|
|
35
38
|
};
|
|
36
39
|
return context;
|
|
37
40
|
});
|
|
@@ -53,7 +56,7 @@ export class DbxAvatarComponent {
|
|
|
53
56
|
return config;
|
|
54
57
|
});
|
|
55
58
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxAvatarComponent, isStandalone: true, selector: "dbx-avatar", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null }, avatarSelector: { classPropertyName: "avatarSelector", publicName: "avatarSelector", isSignal: true, isRequired: false, transformFunction: null }, avatarUid: { classPropertyName: "avatarUid", publicName: "avatarUid", isSignal: true, isRequired: false, transformFunction: null }, avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, avatarKey: { classPropertyName: "avatarKey", publicName: "avatarKey", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarSize: { classPropertyName: "avatarSize", publicName: "avatarSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-avatar-small": "avatarSize() === 'small'", "class.dbx-avatar-large": "avatarSize() === 'large'" } }, ngImport: i0, template: `
|
|
59
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxAvatarComponent, isStandalone: true, selector: "dbx-avatar", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null }, avatarSelector: { classPropertyName: "avatarSelector", publicName: "avatarSelector", isSignal: true, isRequired: false, transformFunction: null }, avatarUid: { classPropertyName: "avatarUid", publicName: "avatarUid", isSignal: true, isRequired: false, transformFunction: null }, avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, avatarKey: { classPropertyName: "avatarKey", publicName: "avatarKey", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarSize: { classPropertyName: "avatarSize", publicName: "avatarSize", isSignal: true, isRequired: false, transformFunction: null }, avatarHideOnError: { classPropertyName: "avatarHideOnError", publicName: "avatarHideOnError", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-avatar-small": "avatarSize() === 'small'", "class.dbx-avatar-large": "avatarSize() === 'large'" } }, ngImport: i0, template: `
|
|
57
60
|
<dbx-injection [config]="configSignal()"></dbx-injection>
|
|
58
61
|
`, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
59
62
|
}
|
|
@@ -73,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
73
76
|
standalone: true
|
|
74
77
|
}]
|
|
75
78
|
}] });
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC13ZWIvc3JjL2xpYi9sYXlvdXQvYXZhdGFyL2F2YXRhci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUFFLDZCQUE2QixFQUFvRixNQUFNLFVBQVUsQ0FBQztBQUMzSSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQXNCLHFCQUFxQixFQUErQixvQkFBb0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUdqSTs7R0FFRztBQWNILE1BQU0sT0FBTyxrQkFBa0I7SUFDcEIsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QixhQUFhLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFN0MsT0FBTyxHQUFHLEtBQUssRUFBb0IsQ0FBQztJQUVwQyxjQUFjLEdBQUcsS0FBSyxFQUE0QixDQUFDO0lBQ25ELFNBQVMsR0FBRyxLQUFLLEVBQTZCLENBQUM7SUFDL0MsU0FBUyxHQUFHLEtBQUssRUFBK0IsQ0FBQztJQUNqRCxTQUFTLEdBQUcsS0FBSyxFQUF1QixDQUFDO0lBQ3pDLFVBQVUsR0FBRyxLQUFLLEVBQWlCLENBQUM7SUFDcEMsV0FBVyxHQUFHLEtBQUssRUFBeUIsQ0FBQztJQUM3QyxVQUFVLEdBQUcsS0FBSyxDQUF1QixTQUFTLENBQUMsQ0FBQztJQUNwRCxpQkFBaUIsR0FBRyxLQUFLLEVBQWtCLENBQUM7SUFFNUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDckMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXBDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxZQUFZLEVBQUUsUUFBUSxDQUFDO1FBQ2pFLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxZQUFZLEVBQUUsR0FBRyxDQUFDO1FBQ2xELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxZQUFZLEVBQUUsR0FBRyxDQUFDO1FBQ2xELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxZQUFZLEVBQUUsR0FBRyxDQUFDO1FBQ2xELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxZQUFZLEVBQUUsSUFBSSxDQUFDO1FBQ3JELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxZQUFZLEVBQUUsS0FBSyxDQUFDO1FBQ3hELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLFlBQVksRUFBRSxXQUFXLENBQUM7UUFFMUUsTUFBTSxPQUFPLEdBQUc7WUFDZCxRQUFRO1lBQ1IsR0FBRztZQUNILEdBQUc7WUFDSCxHQUFHO1lBQ0gsSUFBSTtZQUNKLEtBQUs7WUFDTCxXQUFXO1NBQ1osQ0FBQztRQUVGLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBRU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDcEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFN0UsTUFBTSxZQUFZLEdBQUc7WUFDbkIsT0FBTyxFQUFFLDZCQUE2QjtZQUN0QyxRQUFRLEVBQUUsT0FBTztTQUNsQixDQUFDO1FBRUYsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDckIsU0FBUyxFQUFFLG9CQUFvQixDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsU0FBUyxDQUFDO1NBQ3hFLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFnQztZQUMxQyxHQUFHLGNBQWM7WUFDakIsUUFBUTtTQUNULENBQUM7UUFFRixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQzt3R0EzRFEsa0JBQWtCOzRGQUFsQixrQkFBa0IseTZDQVhuQjs7R0FFVCw0REFDUyxxQkFBcUI7OzRGQVFwQixrQkFBa0I7a0JBYjlCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRTs7R0FFVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDaEMsSUFBSSxFQUFFO3dCQUNKLDBCQUEwQixFQUFFLDBCQUEwQjt3QkFDdEQsMEJBQTBCLEVBQUUsMEJBQTBCO3FCQUN2RDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgSW5qZWN0b3IsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEQlhfQVZBVEFSX0NPTlRFWFRfREFUQV9UT0tFTiwgRGJ4QXZhdGFyQ29udGV4dCwgRGJ4QXZhdGFyS2V5LCBEYnhBdmF0YXJTZWxlY3RvciwgRGJ4QXZhdGFyU2l6ZSwgRGJ4QXZhdGFyU3R5bGUgfSBmcm9tICcuL2F2YXRhcic7XG5pbXBvcnQgeyBEYnhBdmF0YXJWaWV3U2VydmljZSB9IGZyb20gJy4vYXZhdGFyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXV0aFVzZXJJZGVudGlmaWVyLCBEYnhJbmplY3Rpb25Db21wb25lbnQsIERieEluamVjdGlvbkNvbXBvbmVudENvbmZpZywgbWVyZ2VTdGF0aWNQcm92aWRlcnMgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBNYXliZSwgV2Vic2l0ZVVybFdpdGhQcmVmaXggfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuLyoqXG4gKiBDb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbiBhdmF0YXIgYmFzZWQgb24gdGhlIGlucHV0IGNvbnRleHQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1hdmF0YXInLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxkYngtaW5qZWN0aW9uIFtjb25maWddPVwiY29uZmlnU2lnbmFsKClcIj48L2RieC1pbmplY3Rpb24+XG4gIGAsXG4gIGltcG9ydHM6IFtEYnhJbmplY3Rpb25Db21wb25lbnRdLFxuICBob3N0OiB7XG4gICAgJ1tjbGFzcy5kYngtYXZhdGFyLXNtYWxsXSc6IGBhdmF0YXJTaXplKCkgPT09ICdzbWFsbCdgLFxuICAgICdbY2xhc3MuZGJ4LWF2YXRhci1sYXJnZV0nOiBgYXZhdGFyU2l6ZSgpID09PSAnbGFyZ2UnYFxuICB9LFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEYnhBdmF0YXJDb21wb25lbnQge1xuICByZWFkb25seSBpbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG4gIHJlYWRvbmx5IGF2YXRhclNlcnZpY2UgPSBpbmplY3QoRGJ4QXZhdGFyVmlld1NlcnZpY2UpO1xuXG4gIHJlYWRvbmx5IGNvbnRleHQgPSBpbnB1dDxEYnhBdmF0YXJDb250ZXh0PigpO1xuXG4gIHJlYWRvbmx5IGF2YXRhclNlbGVjdG9yID0gaW5wdXQ8TWF5YmU8RGJ4QXZhdGFyU2VsZWN0b3I+PigpO1xuICByZWFkb25seSBhdmF0YXJVaWQgPSBpbnB1dDxNYXliZTxBdXRoVXNlcklkZW50aWZpZXI+PigpO1xuICByZWFkb25seSBhdmF0YXJVcmwgPSBpbnB1dDxNYXliZTxXZWJzaXRlVXJsV2l0aFByZWZpeD4+KCk7XG4gIHJlYWRvbmx5IGF2YXRhcktleSA9IGlucHV0PE1heWJlPERieEF2YXRhcktleT4+KCk7XG4gIHJlYWRvbmx5IGF2YXRhckljb24gPSBpbnB1dDxNYXliZTxzdHJpbmc+PigpO1xuICByZWFkb25seSBhdmF0YXJTdHlsZSA9IGlucHV0PE1heWJlPERieEF2YXRhclN0eWxlPj4oKTtcbiAgcmVhZG9ubHkgYXZhdGFyU2l6ZSA9IGlucHV0PE1heWJlPERieEF2YXRhclNpemU+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBhdmF0YXJIaWRlT25FcnJvciA9IGlucHV0PE1heWJlPGJvb2xlYW4+PigpO1xuXG4gIHJlYWRvbmx5IGNvbnRleHRTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaW5wdXRDb250ZXh0ID0gdGhpcy5jb250ZXh0KCk7XG5cbiAgICBjb25zdCBzZWxlY3RvciA9IHRoaXMuYXZhdGFyU2VsZWN0b3IoKSA/PyBpbnB1dENvbnRleHQ/LnNlbGVjdG9yO1xuICAgIGNvbnN0IHVpZCA9IHRoaXMuYXZhdGFyVWlkKCkgPz8gaW5wdXRDb250ZXh0Py51aWQ7XG4gICAgY29uc3QgdXJsID0gdGhpcy5hdmF0YXJVcmwoKSA/PyBpbnB1dENvbnRleHQ/LnVybDtcbiAgICBjb25zdCBrZXkgPSB0aGlzLmF2YXRhcktleSgpID8/IGlucHV0Q29udGV4dD8ua2V5O1xuICAgIGNvbnN0IGljb24gPSB0aGlzLmF2YXRhckljb24oKSA/PyBpbnB1dENvbnRleHQ/Lmljb247XG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmF2YXRhclN0eWxlKCkgPz8gaW5wdXRDb250ZXh0Py5zdHlsZTtcbiAgICBjb25zdCBoaWRlT25FcnJvciA9IHRoaXMuYXZhdGFySGlkZU9uRXJyb3IoKSA/PyBpbnB1dENvbnRleHQ/LmhpZGVPbkVycm9yO1xuXG4gICAgY29uc3QgY29udGV4dCA9IHtcbiAgICAgIHNlbGVjdG9yLFxuICAgICAgdWlkLFxuICAgICAgdXJsLFxuICAgICAga2V5LFxuICAgICAgaWNvbixcbiAgICAgIHN0eWxlLFxuICAgICAgaGlkZU9uRXJyb3JcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbnRleHQ7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGNvbmZpZ1NpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jb250ZXh0U2lnbmFsKCk7XG4gICAgY29uc3QgcmV0dXJuZWRDb25maWcgPSB0aGlzLmF2YXRhclNlcnZpY2UuYXZhdGFyQ29tcG9uZW50Rm9yQ29udGV4dChjb250ZXh0KTtcblxuICAgIGNvbnN0IGRhdGFQcm92aWRlciA9IHtcbiAgICAgIHByb3ZpZGU6IERCWF9BVkFUQVJfQ09OVEVYVF9EQVRBX1RPS0VOLFxuICAgICAgdXNlVmFsdWU6IGNvbnRleHRcbiAgICB9O1xuXG4gICAgY29uc3QgaW5qZWN0b3IgPSBJbmplY3Rvci5jcmVhdGUoe1xuICAgICAgcGFyZW50OiB0aGlzLmluamVjdG9yLFxuICAgICAgcHJvdmlkZXJzOiBtZXJnZVN0YXRpY1Byb3ZpZGVycyhkYXRhUHJvdmlkZXIsIHJldHVybmVkQ29uZmlnLnByb3ZpZGVycylcbiAgICB9KTtcblxuICAgIGNvbnN0IGNvbmZpZzogRGJ4SW5qZWN0aW9uQ29tcG9uZW50Q29uZmlnID0ge1xuICAgICAgLi4ucmV0dXJuZWRDb25maWcsXG4gICAgICBpbmplY3RvclxuICAgIH07XG5cbiAgICByZXR1cm4gY29uZmlnO1xuICB9KTtcbn1cbiJdfQ==
|
|
@@ -4,4 +4,4 @@ import { InjectionToken } from '@angular/core';
|
|
|
4
4
|
* Injection token for the avatar context data.
|
|
5
5
|
*/
|
|
6
6
|
export const DBX_AVATAR_CONTEXT_DATA_TOKEN = new InjectionToken('DbxAvatarContextData');
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9hdmF0YXIvYXZhdGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUE0RC9DLHdCQUF3QjtBQUN4Qjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUFtQixzQkFBc0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEF1dGhVc2VySWRlbnRpZmllciB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IE1heWJlLCBXZWJzaXRlVXJsV2l0aFByZWZpeCB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIEFyYml0cmFyeSBzdHJpbmcgc2VsZWN0b3IgdXNlZCB0byBkaWZmZXJlbnRpYXRlIGF2YXRhcnMuXG4gKi9cbmV4cG9ydCB0eXBlIERieEF2YXRhclNlbGVjdG9yID0gc3RyaW5nO1xuXG4vKipcbiAqIEFyYml0cmFyeSBrZXkgdGhhdCBpcyB1c2VkIHRvIGNvbmZpZ3VyZSBhbiBhdmF0YXIgcGF0aC5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4QXZhdGFyS2V5ID0gc3RyaW5nO1xuXG4vKipcbiAqIFRoZSBhdmF0YXIgc3R5bGUuXG4gKi9cbmV4cG9ydCB0eXBlIERieEF2YXRhclN0eWxlID0gJ2NpcmNsZScgfCAnc3F1YXJlJztcblxuLyoqXG4gKiBUaGUgYXZhdGFyIHNpemUuXG4gKi9cbmV4cG9ydCB0eXBlIERieEF2YXRhclNpemUgPSAnc21hbGwnIHwgJ25vcm1hbCcgfCAnbGFyZ2UnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGNvbnRleHR1YWwgaW5mb3JtYXRpb24gZm9yIGRpc3BsYXlpbmcgYW4gYXZhdGFyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERieEF2YXRhckNvbnRleHQge1xuICAvKipcbiAgICogQW4gYXJiaXRyYXJ5IGRpc2NyaW1pbmF0b3IgdXNlZCB0byBkaWZmZXJlbnRpYXRlIGF2YXRhcnMuXG4gICAqL1xuICByZWFkb25seSBzZWxlY3Rvcj86IE1heWJlPERieEF2YXRhclNlbGVjdG9yPjtcbiAgLyoqXG4gICAqIFVzZXIgaWRlbnRpZmllci5cbiAgICpcbiAgICogTWF5IGJlIHVzZWQgaW4gc29tZSBjYXNlcyB0byBkaXNwbGF5IGEgdXNlci1zcGVjaWZpYyBhdmF0YXIuXG4gICAqL1xuICByZWFkb25seSB1aWQ/OiBNYXliZTxBdXRoVXNlcklkZW50aWZpZXI+O1xuICAvKipcbiAgICogQSBmdWxsIHdlYnNpdGUgVVJMIHRvIGFuIGF2YXRhciBpbWFnZS5cbiAgICovXG4gIHJlYWRvbmx5IHVybD86IE1heWJlPFdlYnNpdGVVcmxXaXRoUHJlZml4PjtcbiAgLyoqXG4gICAqIEFyYml0cmFyeSBrZXkgdGhhdCBpcyB1c2VkIHRvIGNvbmZpZ3VyZSBhbiBhdmF0YXIuXG4gICAqL1xuICByZWFkb25seSBrZXk/OiBNYXliZTxEYnhBdmF0YXJLZXk+O1xuICAvKipcbiAgICogVGhlIGF2YXRhciBzdHlsZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0eWxlPzogRGJ4QXZhdGFyU3R5bGU7XG4gIC8qKlxuICAgKiBJY29uIG5hbWUgdG8gdXNlIGZvciB0aGUgZmFsbGJhY2sgYXZhdGFyIHdoZW4gbm8gaW1hZ2UgaXMgcHJvdmlkZWQuXG4gICAqL1xuICByZWFkb25seSBpY29uPzogTWF5YmU8c3RyaW5nPjtcbiAgLyoqXG4gICAqIElmIHRydWUsIHdoZW4gdGhlIGltYWdlIGNhbm5vdCBiZSBsb2FkZWQgdGhlbiB0aGUgZW50aXJlIGF2YXRhciB2aWV3IHNob3VsZCBiZSBoaWRkZW4uXG4gICAqL1xuICByZWFkb25seSBoaWRlT25FcnJvcj86IE1heWJlPGJvb2xlYW4+O1xufVxuXG4vLyBNQVJLOiBJbmplY3Rpb24gVG9rZW5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgYXZhdGFyIGNvbnRleHQgZGF0YS5cbiAqL1xuZXhwb3J0IGNvbnN0IERCWF9BVkFUQVJfQ09OVEVYVF9EQVRBX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPERieEF2YXRhckNvbnRleHQ+KCdEYnhBdmF0YXJDb250ZXh0RGF0YScpO1xuIl19
|
|
@@ -15,13 +15,26 @@ export class DbxAvatarViewComponent {
|
|
|
15
15
|
avatarErrorUrlSignal = signal(null);
|
|
16
16
|
avatarStyle = input();
|
|
17
17
|
avatarIcon = input();
|
|
18
|
-
|
|
18
|
+
avatarHideOnError = input();
|
|
19
|
+
avatarHideOnErrorSignal = computed(() => {
|
|
20
|
+
const hideOnError = this.avatarHideOnError() ?? this.defaultContext?.hideOnError ?? false;
|
|
21
|
+
return hideOnError;
|
|
22
|
+
});
|
|
23
|
+
currentAvatarUrlSignal = computed(() => {
|
|
19
24
|
const directUrl = this.avatarUrl();
|
|
20
25
|
const contextUrl = this.defaultContext?.url;
|
|
21
|
-
|
|
22
|
-
|
|
26
|
+
const url = directUrl ?? contextUrl ?? this.defaultAvatarUrl ?? undefined;
|
|
27
|
+
return url;
|
|
28
|
+
});
|
|
29
|
+
hasAvatarErrorSignal = computed(() => {
|
|
23
30
|
const errorUrl = this.avatarErrorUrlSignal();
|
|
24
|
-
|
|
31
|
+
const currentUrl = this.currentAvatarUrlSignal();
|
|
32
|
+
return errorUrl === currentUrl;
|
|
33
|
+
});
|
|
34
|
+
avatarUrlSignal = computed(() => {
|
|
35
|
+
let url = this.currentAvatarUrlSignal();
|
|
36
|
+
const hasError = this.hasAvatarErrorSignal();
|
|
37
|
+
if (hasError) {
|
|
25
38
|
url = null;
|
|
26
39
|
}
|
|
27
40
|
return url;
|
|
@@ -31,9 +44,14 @@ export class DbxAvatarViewComponent {
|
|
|
31
44
|
avatarStyleClassSignal = computed(() => {
|
|
32
45
|
return this.avatarStyle() ?? this.defaultContext?.style ?? 'circle';
|
|
33
46
|
});
|
|
47
|
+
hideAvatarSignal = computed(() => {
|
|
48
|
+
const hideOnError = this.avatarHideOnErrorSignal();
|
|
49
|
+
const hasError = this.hasAvatarErrorSignal();
|
|
50
|
+
return hideOnError && hasError;
|
|
51
|
+
});
|
|
34
52
|
avatarIconSignal = computed(() => {
|
|
35
53
|
let icon = this.avatarIcon() ?? this.defaultContext?.icon;
|
|
36
|
-
if (!icon && this.
|
|
54
|
+
if (!icon && this.hasAvatarErrorSignal()) {
|
|
37
55
|
icon = this.avatarService.defaultAvatarErrorIcon;
|
|
38
56
|
}
|
|
39
57
|
else {
|
|
@@ -51,7 +69,7 @@ export class DbxAvatarViewComponent {
|
|
|
51
69
|
}
|
|
52
70
|
}
|
|
53
71
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAvatarViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxAvatarViewComponent, isStandalone: true, selector: "dbx-avatar-view", inputs: { avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-avatar-view-circle": "avatarStyleClassSignal() === \"circle\"", "class.dbx-avatar-view-square": "avatarStyleClassSignal() === \"square\"", "class.dbx-avatar-view-with-avatar": "hasAvatarSignal()", "class.dbx-avatar-view-no-avatar": "missingAvatarSignal()" }, classAttribute: "dbx-avatar-view" }, ngImport: i0, template: `
|
|
72
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxAvatarViewComponent, isStandalone: true, selector: "dbx-avatar-view", inputs: { avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarHideOnError: { classPropertyName: "avatarHideOnError", publicName: "avatarHideOnError", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-avatar-view-error": "hasAvatarErrorSignal()", "class.dbx-avatar-view-circle": "avatarStyleClassSignal() === \"circle\"", "class.dbx-avatar-view-square": "avatarStyleClassSignal() === \"square\"", "class.dbx-avatar-view-with-avatar": "hasAvatarSignal()", "class.dbx-avatar-view-no-avatar": "missingAvatarSignal()", "class.dbx-avatar-view-hide-avatar": "hideAvatarSignal()" }, classAttribute: "dbx-avatar-view" }, ngImport: i0, template: `
|
|
55
73
|
@if (avatarUrlSignal()) {
|
|
56
74
|
<img (error)="onAvatarImageError($event)" class="dbx-avatar-view-img" [src]="avatarUrlSignal()!" alt="." loading="lazy" decoding="async" />
|
|
57
75
|
} @else {
|
|
@@ -76,14 +94,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
76
94
|
`,
|
|
77
95
|
host: {
|
|
78
96
|
class: 'dbx-avatar-view',
|
|
97
|
+
'[class.dbx-avatar-view-error]': 'hasAvatarErrorSignal()',
|
|
79
98
|
'[class.dbx-avatar-view-circle]': 'avatarStyleClassSignal() === "circle"',
|
|
80
99
|
'[class.dbx-avatar-view-square]': 'avatarStyleClassSignal() === "square"',
|
|
81
100
|
'[class.dbx-avatar-view-with-avatar]': 'hasAvatarSignal()',
|
|
82
|
-
'[class.dbx-avatar-view-no-avatar]': 'missingAvatarSignal()'
|
|
101
|
+
'[class.dbx-avatar-view-no-avatar]': 'missingAvatarSignal()',
|
|
102
|
+
'[class.dbx-avatar-view-hide-avatar]': 'hideAvatarSignal()'
|
|
83
103
|
},
|
|
84
104
|
imports: [MatIconModule],
|
|
85
105
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
86
106
|
standalone: true
|
|
87
107
|
}]
|
|
88
108
|
}] });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLnZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LXdlYi9zcmMvbGliL2xheW91dC9hdmF0YXIvYXZhdGFyLnZpZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BHLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQW9CLDZCQUE2QixFQUFrQixNQUFNLFVBQVUsQ0FBQzs7O0FBRTNGOztHQUVHO0FBeUJILE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsY0FBYyxHQUE0QixNQUFNLENBQUMsNkJBQTZCLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUVwRyxhQUFhLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFN0MsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQztJQUV2RCxTQUFTLEdBQUcsS0FBSyxFQUErQixDQUFDO0lBQ2pELG9CQUFvQixHQUFHLE1BQU0sQ0FBd0MsSUFBSSxDQUFDLENBQUM7SUFFM0UsV0FBVyxHQUFHLEtBQUssRUFBeUIsQ0FBQztJQUM3QyxVQUFVLEdBQUcsS0FBSyxFQUFpQixDQUFDO0lBQ3BDLGlCQUFpQixHQUFHLEtBQUssRUFBa0IsQ0FBQztJQUU1Qyx1QkFBdUIsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQy9DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsV0FBVyxJ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Q3RDLENBQUM7SUFDSCxDQUFDO3dHQTVFVSxzQkFBc0I7NEZBQXRCLHNCQUFzQixxa0NBdEJ2Qjs7Ozs7Ozs7R0FRVCwyREFVUyxhQUFhOzs0RkFJWixzQkFBc0I7a0JBeEJsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7R0FRVDtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjt3QkFDeEIsK0JBQStCLEVBQUUsd0JBQXdCO3dCQUN6RCxnQ0FBZ0MsRUFBRSx1Q0FBdUM7d0JBQ3pFLGdDQUFnQyxFQUFFLHVDQUF1Qzt3QkFDekUscUNBQXFDLEVBQUUsbUJBQW1CO3dCQUMxRCxtQ0FBbUMsRUFBRSx1QkFBdUI7d0JBQzVELHFDQUFxQyxFQUFFLG9CQUFvQjtxQkFDNUQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF5YmUsIFdlYnNpdGVQYXRoLCBXZWJzaXRlVXJsV2l0aFByZWZpeCB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4QXZhdGFyVmlld1NlcnZpY2UgfSBmcm9tICcuL2F2YXRhci5zZXJ2aWNlJztcbmltcG9ydCB7IERieEF2YXRhckNvbnRleHQsIERCWF9BVkFUQVJfQ09OVEVYVF9EQVRBX1RPS0VOLCBEYnhBdmF0YXJTdHlsZSB9IGZyb20gJy4vYXZhdGFyJztcblxuLyoqXG4gKiBDb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbiBhdmF0YXIgaW1hZ2UuIEl0IGhhcyBhIGNvbmZpZ3VyYWJsZSBkZWZhdWx0IGF2YXRhci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWF2YXRhci12aWV3JyxcbiAgdGVtcGxhdGU6IGBcbiAgICBAaWYgKGF2YXRhclVybFNpZ25hbCgpKSB7XG4gICAgICA8aW1nIChlcnJvcik9XCJvbkF2YXRhckltYWdlRXJyb3IoJGV2ZW50KVwiIGNsYXNzPVwiZGJ4LWF2YXRhci12aWV3LWltZ1wiIFtzcmNdPVwiYXZhdGFyVXJsU2lnbmFsKCkhXCIgYWx0PVwiLlwiIGxvYWRpbmc9XCJsYXp5XCIgZGVjb2Rpbmc9XCJhc3luY1wiIC8+XG4gICAgfSBAZWxzZSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiZGJ4LWF2YXRhci12aWV3LWZhbGxiYWNrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgIDxtYXQtaWNvbj57eyBhdmF0YXJJY29uU2lnbmFsKCkgfX08L21hdC1pY29uPlxuICAgICAgPC9kaXY+XG4gICAgfVxuICBgLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkYngtYXZhdGFyLXZpZXcnLFxuICAgICdbY2xhc3MuZGJ4LWF2YXRhci12aWV3LWVycm9yXSc6ICdoYXNBdmF0YXJFcnJvclNpZ25hbCgpJyxcbiAgICAnW2NsYXNzLmRieC1hdmF0YXItdmlldy1jaXJjbGVdJzogJ2F2YXRhclN0eWxlQ2xhc3NTaWduYWwoKSA9PT0gXCJjaXJjbGVcIicsXG4gICAgJ1tjbGFzcy5kYngtYXZhdGFyLXZpZXctc3F1YXJlXSc6ICdhdmF0YXJTdHlsZUNsYXNzU2lnbmFsKCkgPT09IFwic3F1YXJlXCInLFxuICAgICdbY2xhc3MuZGJ4LWF2YXRhci12aWV3LXdpdGgtYXZhdGFyXSc6ICdoYXNBdmF0YXJTaWduYWwoKScsXG4gICAgJ1tjbGFzcy5kYngtYXZhdGFyLXZpZXctbm8tYXZhdGFyXSc6ICdtaXNzaW5nQXZhdGFyU2lnbmFsKCknLFxuICAgICdbY2xhc3MuZGJ4LWF2YXRhci12aWV3LWhpZGUtYXZhdGFyXSc6ICdoaWRlQXZhdGFyU2lnbmFsKCknXG4gIH0sXG4gIGltcG9ydHM6IFtNYXRJY29uTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QXZhdGFyVmlld0NvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGRlZmF1bHRDb250ZXh0OiBNYXliZTxEYnhBdmF0YXJDb250ZXh0PiA9IGluamVjdChEQlhfQVZBVEFSX0NPTlRFWFRfREFUQV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICByZWFkb25seSBhdmF0YXJTZXJ2aWNlID0gaW5qZWN0KERieEF2YXRhclZpZXdTZXJ2aWNlKTtcblxuICByZWFkb25seSBkZWZhdWx0QXZhdGFyVXJsID0gdGhpcy5hdmF0YXJTZXJ2aWNlLmRlZmF1bHRBdmF0YXJVcmw7XG5cbiAgcmVhZG9ubHkgYXZhdGFyVXJsID0gaW5wdXQ8TWF5YmU8V2Vic2l0ZVVybFdpdGhQcmVmaXg+PigpO1xuICByZWFkb25seSBhdmF0YXJFcnJvclVybFNpZ25hbCA9IHNpZ25hbDxNYXliZTxib29sZWFuIHwgV2Vic2l0ZVVybFdpdGhQcmVmaXg+PihudWxsKTtcblxuICByZWFkb25seSBhdmF0YXJTdHlsZSA9IGlucHV0PE1heWJlPERieEF2YXRhclN0eWxlPj4oKTtcbiAgcmVhZG9ubHkgYXZhdGFySWNvbiA9IGlucHV0PE1heWJlPHN0cmluZz4+KCk7XG4gIHJlYWRvbmx5IGF2YXRhckhpZGVPbkVycm9yID0gaW5wdXQ8TWF5YmU8Ym9vbGVhbj4+KCk7XG5cbiAgcmVhZG9ubHkgYXZhdGFySGlkZU9uRXJyb3JTaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaGlkZU9uRXJyb3IgPSB0aGlzLmF2YXRhckhpZGVPbkVycm9yKCkgPz8gdGhpcy5kZWZhdWx0Q29udGV4dD8uaGlkZU9uRXJyb3IgPz8gZmFsc2U7XG4gICAgcmV0dXJuIGhpZGVPbkVycm9yO1xuICB9KTtcblxuICByZWFkb25seSBjdXJyZW50QXZhdGFyVXJsU2lnbmFsID0gY29tcHV0ZWQ8TWF5YmU8V2Vic2l0ZVVybFdpdGhQcmVmaXggfCBXZWJzaXRlUGF0aD4+KCgpID0+IHtcbiAgICBjb25zdCBkaXJlY3RVcmwgPSB0aGlzLmF2YXRhclVybCgpO1xuICAgIGNvbnN0IGNvbnRleHRVcmwgPSB0aGlzLmRlZmF1bHRDb250ZXh0Py51cmw7XG5cbiAgICBjb25zdCB1cmw6IE1heWJlPFdlYnNpdGVVcmxXaXRoUHJlZml4IHwgV2Vic2l0ZVBhdGg+ID0gZGlyZWN0VXJsID8/IGNvbnRleHRVcmwgPz8gdGhpcy5kZWZhdWx0QXZhdGFyVXJsID8/IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gdXJsO1xuICB9KTtcblxuICByZWFkb25seSBoYXNBdmF0YXJFcnJvclNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBlcnJvclVybCA9IHRoaXMuYXZhdGFyRXJyb3JVcmxTaWduYWwoKTtcbiAgICBjb25zdCBjdXJyZW50VXJsID0gdGhpcy5jdXJyZW50QXZhdGFyVXJsU2lnbmFsKCk7XG4gICAgcmV0dXJuIGVycm9yVXJsID09PSBjdXJyZW50VXJsO1xuICB9KTtcblxuICByZWFkb25seSBhdmF0YXJVcmxTaWduYWwgPSBjb21wdXRlZDxNYXliZTxXZWJzaXRlVXJsV2l0aFByZWZpeCB8IFdlYnNpdGVQYXRoPj4oKCkgPT4ge1xuICAgIGxldCB1cmwgPSB0aGlzLmN1cnJlbnRBdmF0YXJVcmxTaWduYWwoKTtcbiAgICBjb25zdCBoYXNFcnJvciA9IHRoaXMuaGFzQXZhdGFyRXJyb3JTaWduYWwoKTtcblxuICAgIGlmIChoYXNFcnJvcikge1xuICAgICAgdXJsID0gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4gdXJsO1xuICB9KTtcblxuICByZWFkb25seSBoYXNBdmF0YXJTaWduYWwgPSBjb21wdXRlZCgoKSA9PiAhIXRoaXMuYXZhdGFyVXJsU2lnbmFsKCkpO1xuICByZWFkb25seSBtaXNzaW5nQXZhdGFyU2lnbmFsID0gY29tcHV0ZWQoKCkgPT4gIXRoaXMuaGFzQXZhdGFyU2lnbmFsKCkpO1xuXG4gIHJlYWRvbmx5IGF2YXRhclN0eWxlQ2xhc3NTaWduYWwgPSBjb21wdXRlZDwnY2lyY2xlJyB8ICdzcXVhcmUnPigoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuYXZhdGFyU3R5bGUoKSA/PyB0aGlzLmRlZmF1bHRDb250ZXh0Py5zdHlsZSA/PyAnY2lyY2xlJztcbiAgfSk7XG5cbiAgcmVhZG9ubHkgaGlkZUF2YXRhclNpZ25hbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBoaWRlT25FcnJvciA9IHRoaXMuYXZhdGFySGlkZU9uRXJyb3JTaWduYWwoKTtcbiAgICBjb25zdCBoYXNFcnJvciA9IHRoaXMuaGFzQXZhdGFyRXJyb3JTaWduYWwoKTtcbiAgICByZXR1cm4gaGlkZU9uRXJyb3IgJiYgaGFzRXJyb3I7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGF2YXRhckljb25TaWduYWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgbGV0IGljb24gPSB0aGlzLmF2YXRhckljb24oKSA/PyB0aGlzLmRlZmF1bHRDb250ZXh0Py5pY29uO1xuXG4gICAgaWYgKCFpY29uICYmIHRoaXMuaGFzQXZhdGFyRXJyb3JTaWduYWwoKSkge1xuICAgICAgaWNvbiA9IHRoaXMuYXZhdGFyU2VydmljZS5kZWZhdWx0QXZhdGFyRXJyb3JJY29uO1xuICAgIH0gZWxzZSB7XG4gICAgICBpY29uID0gaWNvbiA/PyB0aGlzLmF2YXRhclNlcnZpY2UuZGVmYXVsdEF2YXRhckljb247XG4gICAgfVxuXG4gICAgcmV0dXJuIGljb24gPz8gJ3BlcnNvbic7XG4gIH0pO1xuXG4gIG9uQXZhdGFySW1hZ2VFcnJvcihldmVudDogRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0KSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICAgIHRoaXMuYXZhdGFyRXJyb3JVcmxTaWduYWwuc2V0KHRhcmdldC5zcmMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmF2YXRhckVycm9yVXJsU2lnbmFsLnNldCh0cnVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -7044,13 +7044,26 @@ class DbxAvatarViewComponent {
|
|
|
7044
7044
|
avatarErrorUrlSignal = signal(null);
|
|
7045
7045
|
avatarStyle = input();
|
|
7046
7046
|
avatarIcon = input();
|
|
7047
|
-
|
|
7047
|
+
avatarHideOnError = input();
|
|
7048
|
+
avatarHideOnErrorSignal = computed(() => {
|
|
7049
|
+
const hideOnError = this.avatarHideOnError() ?? this.defaultContext?.hideOnError ?? false;
|
|
7050
|
+
return hideOnError;
|
|
7051
|
+
});
|
|
7052
|
+
currentAvatarUrlSignal = computed(() => {
|
|
7048
7053
|
const directUrl = this.avatarUrl();
|
|
7049
7054
|
const contextUrl = this.defaultContext?.url;
|
|
7050
|
-
|
|
7051
|
-
|
|
7055
|
+
const url = directUrl ?? contextUrl ?? this.defaultAvatarUrl ?? undefined;
|
|
7056
|
+
return url;
|
|
7057
|
+
});
|
|
7058
|
+
hasAvatarErrorSignal = computed(() => {
|
|
7052
7059
|
const errorUrl = this.avatarErrorUrlSignal();
|
|
7053
|
-
|
|
7060
|
+
const currentUrl = this.currentAvatarUrlSignal();
|
|
7061
|
+
return errorUrl === currentUrl;
|
|
7062
|
+
});
|
|
7063
|
+
avatarUrlSignal = computed(() => {
|
|
7064
|
+
let url = this.currentAvatarUrlSignal();
|
|
7065
|
+
const hasError = this.hasAvatarErrorSignal();
|
|
7066
|
+
if (hasError) {
|
|
7054
7067
|
url = null;
|
|
7055
7068
|
}
|
|
7056
7069
|
return url;
|
|
@@ -7060,9 +7073,14 @@ class DbxAvatarViewComponent {
|
|
|
7060
7073
|
avatarStyleClassSignal = computed(() => {
|
|
7061
7074
|
return this.avatarStyle() ?? this.defaultContext?.style ?? 'circle';
|
|
7062
7075
|
});
|
|
7076
|
+
hideAvatarSignal = computed(() => {
|
|
7077
|
+
const hideOnError = this.avatarHideOnErrorSignal();
|
|
7078
|
+
const hasError = this.hasAvatarErrorSignal();
|
|
7079
|
+
return hideOnError && hasError;
|
|
7080
|
+
});
|
|
7063
7081
|
avatarIconSignal = computed(() => {
|
|
7064
7082
|
let icon = this.avatarIcon() ?? this.defaultContext?.icon;
|
|
7065
|
-
if (!icon && this.
|
|
7083
|
+
if (!icon && this.hasAvatarErrorSignal()) {
|
|
7066
7084
|
icon = this.avatarService.defaultAvatarErrorIcon;
|
|
7067
7085
|
}
|
|
7068
7086
|
else {
|
|
@@ -7080,7 +7098,7 @@ class DbxAvatarViewComponent {
|
|
|
7080
7098
|
}
|
|
7081
7099
|
}
|
|
7082
7100
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAvatarViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7083
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxAvatarViewComponent, isStandalone: true, selector: "dbx-avatar-view", inputs: { avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-avatar-view-circle": "avatarStyleClassSignal() === \"circle\"", "class.dbx-avatar-view-square": "avatarStyleClassSignal() === \"square\"", "class.dbx-avatar-view-with-avatar": "hasAvatarSignal()", "class.dbx-avatar-view-no-avatar": "missingAvatarSignal()" }, classAttribute: "dbx-avatar-view" }, ngImport: i0, template: `
|
|
7101
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxAvatarViewComponent, isStandalone: true, selector: "dbx-avatar-view", inputs: { avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarHideOnError: { classPropertyName: "avatarHideOnError", publicName: "avatarHideOnError", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-avatar-view-error": "hasAvatarErrorSignal()", "class.dbx-avatar-view-circle": "avatarStyleClassSignal() === \"circle\"", "class.dbx-avatar-view-square": "avatarStyleClassSignal() === \"square\"", "class.dbx-avatar-view-with-avatar": "hasAvatarSignal()", "class.dbx-avatar-view-no-avatar": "missingAvatarSignal()", "class.dbx-avatar-view-hide-avatar": "hideAvatarSignal()" }, classAttribute: "dbx-avatar-view" }, ngImport: i0, template: `
|
|
7084
7102
|
@if (avatarUrlSignal()) {
|
|
7085
7103
|
<img (error)="onAvatarImageError($event)" class="dbx-avatar-view-img" [src]="avatarUrlSignal()!" alt="." loading="lazy" decoding="async" />
|
|
7086
7104
|
} @else {
|
|
@@ -7105,10 +7123,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
7105
7123
|
`,
|
|
7106
7124
|
host: {
|
|
7107
7125
|
class: 'dbx-avatar-view',
|
|
7126
|
+
'[class.dbx-avatar-view-error]': 'hasAvatarErrorSignal()',
|
|
7108
7127
|
'[class.dbx-avatar-view-circle]': 'avatarStyleClassSignal() === "circle"',
|
|
7109
7128
|
'[class.dbx-avatar-view-square]': 'avatarStyleClassSignal() === "square"',
|
|
7110
7129
|
'[class.dbx-avatar-view-with-avatar]': 'hasAvatarSignal()',
|
|
7111
|
-
'[class.dbx-avatar-view-no-avatar]': 'missingAvatarSignal()'
|
|
7130
|
+
'[class.dbx-avatar-view-no-avatar]': 'missingAvatarSignal()',
|
|
7131
|
+
'[class.dbx-avatar-view-hide-avatar]': 'hideAvatarSignal()'
|
|
7112
7132
|
},
|
|
7113
7133
|
imports: [MatIconModule],
|
|
7114
7134
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -7205,6 +7225,7 @@ class DbxAvatarComponent {
|
|
|
7205
7225
|
avatarIcon = input();
|
|
7206
7226
|
avatarStyle = input();
|
|
7207
7227
|
avatarSize = input(undefined);
|
|
7228
|
+
avatarHideOnError = input();
|
|
7208
7229
|
contextSignal = computed(() => {
|
|
7209
7230
|
const inputContext = this.context();
|
|
7210
7231
|
const selector = this.avatarSelector() ?? inputContext?.selector;
|
|
@@ -7213,13 +7234,15 @@ class DbxAvatarComponent {
|
|
|
7213
7234
|
const key = this.avatarKey() ?? inputContext?.key;
|
|
7214
7235
|
const icon = this.avatarIcon() ?? inputContext?.icon;
|
|
7215
7236
|
const style = this.avatarStyle() ?? inputContext?.style;
|
|
7237
|
+
const hideOnError = this.avatarHideOnError() ?? inputContext?.hideOnError;
|
|
7216
7238
|
const context = {
|
|
7217
7239
|
selector,
|
|
7218
7240
|
uid,
|
|
7219
7241
|
url,
|
|
7220
7242
|
key,
|
|
7221
7243
|
icon,
|
|
7222
|
-
style
|
|
7244
|
+
style,
|
|
7245
|
+
hideOnError
|
|
7223
7246
|
};
|
|
7224
7247
|
return context;
|
|
7225
7248
|
});
|
|
@@ -7241,7 +7264,7 @@ class DbxAvatarComponent {
|
|
|
7241
7264
|
return config;
|
|
7242
7265
|
});
|
|
7243
7266
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxAvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7244
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxAvatarComponent, isStandalone: true, selector: "dbx-avatar", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null }, avatarSelector: { classPropertyName: "avatarSelector", publicName: "avatarSelector", isSignal: true, isRequired: false, transformFunction: null }, avatarUid: { classPropertyName: "avatarUid", publicName: "avatarUid", isSignal: true, isRequired: false, transformFunction: null }, avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, avatarKey: { classPropertyName: "avatarKey", publicName: "avatarKey", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarSize: { classPropertyName: "avatarSize", publicName: "avatarSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-avatar-small": "avatarSize() === 'small'", "class.dbx-avatar-large": "avatarSize() === 'large'" } }, ngImport: i0, template: `
|
|
7267
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxAvatarComponent, isStandalone: true, selector: "dbx-avatar", inputs: { context: { classPropertyName: "context", publicName: "context", isSignal: true, isRequired: false, transformFunction: null }, avatarSelector: { classPropertyName: "avatarSelector", publicName: "avatarSelector", isSignal: true, isRequired: false, transformFunction: null }, avatarUid: { classPropertyName: "avatarUid", publicName: "avatarUid", isSignal: true, isRequired: false, transformFunction: null }, avatarUrl: { classPropertyName: "avatarUrl", publicName: "avatarUrl", isSignal: true, isRequired: false, transformFunction: null }, avatarKey: { classPropertyName: "avatarKey", publicName: "avatarKey", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarSize: { classPropertyName: "avatarSize", publicName: "avatarSize", isSignal: true, isRequired: false, transformFunction: null }, avatarHideOnError: { classPropertyName: "avatarHideOnError", publicName: "avatarHideOnError", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.dbx-avatar-small": "avatarSize() === 'small'", "class.dbx-avatar-large": "avatarSize() === 'large'" } }, ngImport: i0, template: `
|
|
7245
7268
|
<dbx-injection [config]="configSignal()"></dbx-injection>
|
|
7246
7269
|
`, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7247
7270
|
}
|