UNPKG

ontimize-web-ngx

Version:
41 lines 6.49 kB
import { Injectable, Injector } from '@angular/core'; import { MatIconRegistry } from '@angular/material/icon'; import { Observable } from 'rxjs'; import { OSafePipe } from '../pipes/o-safe.pipe'; import * as i0 from "@angular/core"; import * as i1 from "@angular/material/icon"; export class OntimizeMatIconRegistry { constructor(matIconRegistry, injector) { this.matIconRegistry = matIconRegistry; this.injector = injector; this.oSafePipe = new OSafePipe(injector); } initialize() { this.matIconRegistry.addSvgIconSetInNamespace(OntimizeMatIconRegistry.ONTIMIZE_NAMESPACE, this.oSafePipe.transform(OntimizeMatIconRegistry.ONTIMIZE_ICON_SET_PATH, 'resourceUrl')); } addOntimizeSvgIcon(iconName, url) { this.matIconRegistry.addSvgIconInNamespace(OntimizeMatIconRegistry.ONTIMIZE_NAMESPACE, iconName, this.oSafePipe.transform(url, 'resourceUrl')); return this.matIconRegistry; } getSVGElement(iconName) { return this.matIconRegistry.getNamedSvgIcon(iconName, OntimizeMatIconRegistry.ONTIMIZE_NAMESPACE); } existsIcon(iconName) { const self = this; return new Observable((observer) => { self.getSVGElement(iconName).subscribe((value) => { observer.next(true); }, error => { observer.next(false); }, () => observer.complete()); }); } } OntimizeMatIconRegistry.ONTIMIZE_ICON_SET_PATH = 'assets/svg/ontimize-icon-set.svg'; OntimizeMatIconRegistry.ONTIMIZE_NAMESPACE = 'ontimize'; OntimizeMatIconRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeMatIconRegistry, deps: [{ token: i1.MatIconRegistry }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); OntimizeMatIconRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeMatIconRegistry }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: OntimizeMatIconRegistry, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.MatIconRegistry }, { type: i0.Injector }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib250aW1pemUtaWNvbi1yZWdpc3RyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvb250aW1pemUtd2ViLW5neC9zcmMvbGliL3NlcnZpY2VzL29udGltaXplLWljb24tcmVnaXN0cnkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBWSxNQUFNLE1BQU0sQ0FBQztBQUM1QyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7OztBQUdqRCxNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLFlBQ1ksZUFBZ0MsRUFDaEMsUUFBa0I7UUFEbEIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFFNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQsVUFBVTtRQUNSLElBQUksQ0FBQyxlQUFlLENBQUMsd0JBQXdCLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLEVBQ3RGLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLHNCQUFzQixFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFDN0YsQ0FBQztJQUVELGtCQUFrQixDQUFDLFFBQWdCLEVBQUUsR0FBVztRQUM5QyxJQUFJLENBQUMsZUFBZSxDQUFDLHFCQUFxQixDQUFDLHVCQUF1QixDQUFDLGtCQUFrQixFQUFFLFFBQVEsRUFDN0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDaEQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFFRCxhQUFhLENBQUMsUUFBZ0I7UUFDNUIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUNwRyxDQUFDO0lBRUQsVUFBVSxDQUFDLFFBQWdCO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztRQUNsQixPQUFPLElBQUksVUFBVSxDQUFVLENBQUMsUUFBMkIsRUFBRSxFQUFFO1lBQzdELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBaUIsRUFBRSxFQUFFO2dCQUMzRCxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTtnQkFDVCxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBbENhLDhDQUFzQixHQUFHLGtDQUFrQyxDQUFDO0FBQzVELDBDQUFrQixHQUFHLFVBQVUsQ0FBQztxSEFIbkMsdUJBQXVCO3lIQUF2Qix1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRJY29uUmVnaXN0cnkgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPU2FmZVBpcGUgfSBmcm9tICcuLi9waXBlcy9vLXNhZmUucGlwZSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBPbnRpbWl6ZU1hdEljb25SZWdpc3RyeSB7XG5cbiAgcHVibGljIHN0YXRpYyBPTlRJTUlaRV9JQ09OX1NFVF9QQVRIID0gJ2Fzc2V0cy9zdmcvb250aW1pemUtaWNvbi1zZXQuc3ZnJztcbiAgcHVibGljIHN0YXRpYyBPTlRJTUlaRV9OQU1FU1BBQ0UgPSAnb250aW1pemUnO1xuICBwcm90ZWN0ZWQgb1NhZmVQaXBlOiBPU2FmZVBpcGU7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBtYXRJY29uUmVnaXN0cnk6IE1hdEljb25SZWdpc3RyeSxcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIHRoaXMub1NhZmVQaXBlID0gbmV3IE9TYWZlUGlwZShpbmplY3Rvcik7XG4gIH1cblxuICBpbml0aWFsaXplKCkge1xuICAgIHRoaXMubWF0SWNvblJlZ2lzdHJ5LmFkZFN2Z0ljb25TZXRJbk5hbWVzcGFjZShPbnRpbWl6ZU1hdEljb25SZWdpc3RyeS5PTlRJTUlaRV9OQU1FU1BBQ0UsXG4gICAgICB0aGlzLm9TYWZlUGlwZS50cmFuc2Zvcm0oT250aW1pemVNYXRJY29uUmVnaXN0cnkuT05USU1JWkVfSUNPTl9TRVRfUEFUSCwgJ3Jlc291cmNlVXJsJykpO1xuICB9XG5cbiAgYWRkT250aW1pemVTdmdJY29uKGljb25OYW1lOiBzdHJpbmcsIHVybDogc3RyaW5nKTogTWF0SWNvblJlZ2lzdHJ5IHtcbiAgICB0aGlzLm1hdEljb25SZWdpc3RyeS5hZGRTdmdJY29uSW5OYW1lc3BhY2UoT250aW1pemVNYXRJY29uUmVnaXN0cnkuT05USU1JWkVfTkFNRVNQQUNFLCBpY29uTmFtZSxcbiAgICAgIHRoaXMub1NhZmVQaXBlLnRyYW5zZm9ybSh1cmwsICdyZXNvdXJjZVVybCcpKTtcbiAgICByZXR1cm4gdGhpcy5tYXRJY29uUmVnaXN0cnk7XG4gIH1cblxuICBnZXRTVkdFbGVtZW50KGljb25OYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFNWR0VsZW1lbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5tYXRJY29uUmVnaXN0cnkuZ2V0TmFtZWRTdmdJY29uKGljb25OYW1lLCBPbnRpbWl6ZU1hdEljb25SZWdpc3RyeS5PTlRJTUlaRV9OQU1FU1BBQ0UpO1xuICB9XG5cbiAgZXhpc3RzSWNvbihpY29uTmFtZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPGJvb2xlYW4+KChvYnNlcnZlcjogT2JzZXJ2ZXI8Ym9vbGVhbj4pID0+IHtcbiAgICAgIHNlbGYuZ2V0U1ZHRWxlbWVudChpY29uTmFtZSkuc3Vic2NyaWJlKCh2YWx1ZTogU1ZHRWxlbWVudCkgPT4ge1xuICAgICAgICBvYnNlcnZlci5uZXh0KHRydWUpO1xuICAgICAgfSwgZXJyb3IgPT4ge1xuICAgICAgICBvYnNlcnZlci5uZXh0KGZhbHNlKTtcbiAgICAgIH0sICgpID0+IG9ic2VydmVyLmNvbXBsZXRlKCkpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=