ngx-avatars
Version:
A universal avatar component for Angular applications that fetches / generates avatar based on the information you have about the user.
48 lines • 6.23 kB
JavaScript
import { Injectable, Inject, Optional } from '@angular/core';
import { AVATAR_CONFIG } from './avatar-config.token';
import * as i0 from "@angular/core";
export class AvatarConfigService {
constructor(userConfig) {
this.userConfig = userConfig;
}
getAvatarSources(defaultSources) {
if (this.userConfig &&
this.userConfig.sourcePriorityOrder &&
this.userConfig.sourcePriorityOrder.length) {
const uniqueSources = [...new Set(this.userConfig.sourcePriorityOrder)];
const validSources = uniqueSources.filter(source => defaultSources.includes(source));
return [
...validSources,
...defaultSources.filter(source => !validSources.includes(source))
];
}
return defaultSources;
}
getAvatarColors(defaultColors) {
return ((this.userConfig &&
this.userConfig.colors &&
this.userConfig.colors.length &&
this.userConfig.colors) ||
defaultColors);
}
getDisableSrcCache(defaultDisableSrcCache) {
if (this.userConfig == null || this.userConfig.disableSrcCache == null) {
return defaultDisableSrcCache;
}
else {
return this.userConfig.disableSrcCache;
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AvatarConfigService, deps: [{ token: AVATAR_CONFIG, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AvatarConfigService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: AvatarConfigService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}], ctorParameters: () => [{ type: undefined, decorators: [{
type: Optional
}, {
type: Inject,
args: [AVATAR_CONFIG]
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXZhdGFyLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWF2YXRhcnMvc3JjL2xpYi9hdmF0YXItY29uZmlnLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFJdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixZQUdTLFVBQXdCO1FBQXhCLGVBQVUsR0FBVixVQUFVLENBQWM7SUFDOUIsQ0FBQztJQUVHLGdCQUFnQixDQUFDLGNBQThCO1FBQ3BELElBQ0UsSUFBSSxDQUFDLFVBQVU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQjtZQUNuQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFDMUMsQ0FBQztZQUNELE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQztZQUN4RSxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQ2pELGNBQWMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ2hDLENBQUM7WUFDRixPQUFPO2dCQUNMLEdBQUcsWUFBWTtnQkFDZixHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDbkUsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRU0sZUFBZSxDQUFDLGFBQXVCO1FBQzVDLE9BQU8sQ0FDTCxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQ2QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7WUFDekIsYUFBYSxDQUNkLENBQUM7SUFDSixDQUFDO0lBRU0sa0JBQWtCLENBQUMsc0JBQStCO1FBQ3ZELElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkUsT0FBTyxzQkFBc0IsQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxlQUFlLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7OEdBekNVLG1CQUFtQixrQkFHcEIsYUFBYTtrSEFIWixtQkFBbUIsY0FEUCxNQUFNOzsyRkFDbEIsbUJBQW1CO2tCQUQvQixVQUFVO21CQUFDLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQzs7MEJBRzNCLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEF2YXRhclNvdXJjZSB9IGZyb20gJy4vc291cmNlcy9hdmF0YXItc291cmNlLmVudW0nO1xyXG5pbXBvcnQgeyBBVkFUQVJfQ09ORklHIH0gZnJvbSAnLi9hdmF0YXItY29uZmlnLnRva2VuJztcclxuaW1wb3J0IHsgQXZhdGFyQ29uZmlnIH0gZnJvbSAnLi9hdmF0YXItY29uZmlnJztcclxuXHJcbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxyXG5leHBvcnQgY2xhc3MgQXZhdGFyQ29uZmlnU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBAT3B0aW9uYWwoKVxyXG4gICAgQEluamVjdChBVkFUQVJfQ09ORklHKVxyXG4gICAgcHVibGljIHVzZXJDb25maWc6IEF2YXRhckNvbmZpZ1xyXG4gICkge31cclxuXHJcbiAgcHVibGljIGdldEF2YXRhclNvdXJjZXMoZGVmYXVsdFNvdXJjZXM6IEF2YXRhclNvdXJjZVtdKTogQXZhdGFyU291cmNlW10ge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnVzZXJDb25maWcgJiZcclxuICAgICAgdGhpcy51c2VyQ29uZmlnLnNvdXJjZVByaW9yaXR5T3JkZXIgJiZcclxuICAgICAgdGhpcy51c2VyQ29uZmlnLnNvdXJjZVByaW9yaXR5T3JkZXIubGVuZ3RoXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgdW5pcXVlU291cmNlcyA9IFsuLi5uZXcgU2V0KHRoaXMudXNlckNvbmZpZy5zb3VyY2VQcmlvcml0eU9yZGVyKV07XHJcbiAgICAgIGNvbnN0IHZhbGlkU291cmNlcyA9IHVuaXF1ZVNvdXJjZXMuZmlsdGVyKHNvdXJjZSA9PlxyXG4gICAgICAgIGRlZmF1bHRTb3VyY2VzLmluY2x1ZGVzKHNvdXJjZSlcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuIFtcclxuICAgICAgICAuLi52YWxpZFNvdXJjZXMsXHJcbiAgICAgICAgLi4uZGVmYXVsdFNvdXJjZXMuZmlsdGVyKHNvdXJjZSA9PiAhdmFsaWRTb3VyY2VzLmluY2x1ZGVzKHNvdXJjZSkpXHJcbiAgICAgIF07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGVmYXVsdFNvdXJjZXM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QXZhdGFyQ29sb3JzKGRlZmF1bHRDb2xvcnM6IHN0cmluZ1tdKTogc3RyaW5nW10ge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgKHRoaXMudXNlckNvbmZpZyAmJlxyXG4gICAgICAgIHRoaXMudXNlckNvbmZpZy5jb2xvcnMgJiZcclxuICAgICAgICB0aGlzLnVzZXJDb25maWcuY29sb3JzLmxlbmd0aCAmJlxyXG4gICAgICAgIHRoaXMudXNlckNvbmZpZy5jb2xvcnMpIHx8XHJcbiAgICAgIGRlZmF1bHRDb2xvcnNcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGlzYWJsZVNyY0NhY2hlKGRlZmF1bHREaXNhYmxlU3JjQ2FjaGU6IGJvb2xlYW4pOiBib29sZWFuIHtcclxuICAgIGlmICh0aGlzLnVzZXJDb25maWcgPT0gbnVsbCB8fCB0aGlzLnVzZXJDb25maWcuZGlzYWJsZVNyY0NhY2hlID09IG51bGwpIHtcclxuICAgICAgcmV0dXJuIGRlZmF1bHREaXNhYmxlU3JjQ2FjaGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy51c2VyQ29uZmlnLmRpc2FibGVTcmNDYWNoZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19