@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
JavaScript
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==