UNPKG

@ngspot/ngx-errors

Version:

<p align="center"> <img width="20%" height="20%" src="https://github.com/DmitryEfimenko/ngspot/blob/main/packages/ngx-errors/package/assets/logo.png?raw=true"> </p>

42 lines 5.82 kB
import { Directive, computed, effect, inject, input, } from '@angular/core'; import { ControlContainer } from '@angular/forms'; import { AllErrorsStateService } from './all-errors-state.service'; import { NgxErrorsFormDirective } from './form.directive'; import * as i0 from "@angular/core"; export class NgxErrorsBase { constructor() { this.errorsState = inject(AllErrorsStateService); this.formDirective = inject(NgxErrorsFormDirective, { optional: true, skipSelf: true, }); this.parentControlContainer = inject(ControlContainer, { optional: true, host: true, skipSelf: true, }); this.showWhen = input(); this.controlState = computed(() => { const control = this.resolvedControl(); if (!control) { return undefined; } const controlState = this.errorsState.getControlState(control); return controlState; }); this.registerResolvedControl = effect(() => { const control = this.resolvedControl(); if (!control) { return; } const form = this.formDirective?.form ?? null; this.errorsState.registerControl(control, form); }, { allowSignalWrites: true }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: NgxErrorsBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.7", type: NgxErrorsBase, inputs: { showWhen: { classPropertyName: "showWhen", publicName: "showWhen", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.7", ngImport: i0, type: NgxErrorsBase, decorators: [{ type: Directive }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLWJhc2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmd4LWVycm9ycy9wYWNrYWdlL3NyYy9saWIvZXJyb3JzLWJhc2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxHQUNOLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBbUIsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFHMUQsTUFBTSxPQUFnQixhQUFhO0lBRG5DO1FBRVUsZ0JBQVcsR0FBRyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUU1QyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsRUFBRTtZQUNyRCxRQUFRLEVBQUUsSUFBSTtZQUNkLFFBQVEsRUFBRSxJQUFJO1NBQ2YsQ0FBQyxDQUFDO1FBRUgsMkJBQXNCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFO1lBQ2hELFFBQVEsRUFBRSxJQUFJO1lBQ2QsSUFBSSxFQUFFLElBQUk7WUFDVixRQUFRLEVBQUUsSUFBSTtTQUNmLENBQUMsQ0FBQztRQUVILGFBQVEsR0FBRyxLQUFLLEVBQWlCLENBQUM7UUFJbEMsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztZQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRS9ELE9BQU8sWUFBWSxDQUFDO1FBQ3RCLENBQUMsQ0FBQyxDQUFDO1FBRUssNEJBQXVCLEdBQUcsTUFBTSxDQUN0QyxHQUFHLEVBQUU7WUFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNiLE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDO1lBQzlDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRCxDQUFDLEVBQ0QsRUFBRSxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsQ0FDNUIsQ0FBQztLQUNIOzhHQXhDcUIsYUFBYTtrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQURsQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBEaXJlY3RpdmUsXHJcbiAgU2lnbmFsLFxyXG4gIGNvbXB1dGVkLFxyXG4gIGVmZmVjdCxcclxuICBpbmplY3QsXHJcbiAgaW5wdXQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbENvbnRhaW5lciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbmltcG9ydCB7IEFsbEVycm9yc1N0YXRlU2VydmljZSB9IGZyb20gJy4vYWxsLWVycm9ycy1zdGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2hvd0Vycm9yV2hlbiB9IGZyb20gJy4vZXJyb3JzLWNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBOZ3hFcnJvcnNGb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLmRpcmVjdGl2ZSc7XHJcblxyXG5ARGlyZWN0aXZlKClcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5neEVycm9yc0Jhc2Uge1xyXG4gIHByaXZhdGUgZXJyb3JzU3RhdGUgPSBpbmplY3QoQWxsRXJyb3JzU3RhdGVTZXJ2aWNlKTtcclxuXHJcbiAgcHJpdmF0ZSBmb3JtRGlyZWN0aXZlID0gaW5qZWN0KE5neEVycm9yc0Zvcm1EaXJlY3RpdmUsIHtcclxuICAgIG9wdGlvbmFsOiB0cnVlLFxyXG4gICAgc2tpcFNlbGY6IHRydWUsXHJcbiAgfSk7XHJcblxyXG4gIHBhcmVudENvbnRyb2xDb250YWluZXIgPSBpbmplY3QoQ29udHJvbENvbnRhaW5lciwge1xyXG4gICAgb3B0aW9uYWw6IHRydWUsXHJcbiAgICBob3N0OiB0cnVlLFxyXG4gICAgc2tpcFNlbGY6IHRydWUsXHJcbiAgfSk7XHJcblxyXG4gIHNob3dXaGVuID0gaW5wdXQ8U2hvd0Vycm9yV2hlbj4oKTtcclxuXHJcbiAgYWJzdHJhY3QgcmVzb2x2ZWRDb250cm9sOiBTaWduYWw8QWJzdHJhY3RDb250cm9sPGFueSwgYW55PiB8IHVuZGVmaW5lZD47XHJcblxyXG4gIGNvbnRyb2xTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLnJlc29sdmVkQ29udHJvbCgpO1xyXG4gICAgaWYgKCFjb250cm9sKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY29udHJvbFN0YXRlID0gdGhpcy5lcnJvcnNTdGF0ZS5nZXRDb250cm9sU3RhdGUoY29udHJvbCk7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRyb2xTdGF0ZTtcclxuICB9KTtcclxuXHJcbiAgcHJpdmF0ZSByZWdpc3RlclJlc29sdmVkQ29udHJvbCA9IGVmZmVjdChcclxuICAgICgpID0+IHtcclxuICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMucmVzb2x2ZWRDb250cm9sKCk7XHJcbiAgICAgIGlmICghY29udHJvbCkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBjb25zdCBmb3JtID0gdGhpcy5mb3JtRGlyZWN0aXZlPy5mb3JtID8/IG51bGw7XHJcbiAgICAgIHRoaXMuZXJyb3JzU3RhdGUucmVnaXN0ZXJDb250cm9sKGNvbnRyb2wsIGZvcm0pO1xyXG4gICAgfSxcclxuICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcclxuICApO1xyXG59XHJcbiJdfQ==