UNPKG

@yoyoboot/l-52abp-ng

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.13.

61 lines 7.03 kB
import { Directive, forwardRef, Input } from '@angular/core'; import { NG_VALIDATORS } from '@angular/forms'; import * as i0 from "@angular/core"; // Got from: https://scotch.io/tutorials/how-to-implement-a-custom-validator-directive-confirm-password-in-angular-2 export class EqualValidator { constructor() { this._default = {}; this._enabled = false; } set confirm(value) { this._confirmValue = value; this._enabled = typeof (value) === 'string'; if (this._onChange) { this._onChange(); } } set validateEqual(value) { this.confirm = value; } validate(control) { if (!this._enabled) { return this._default; } if (!control.value || control.value.trim() === '') { return this._default; } if (control.value !== this._confirmValue) { return { validateEqual: true, confirm: true, error: true }; } return this._default; } registerOnValidatorChange(fn) { this._onChange = fn; } } EqualValidator.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: EqualValidator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); EqualValidator.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: EqualValidator, selector: "[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel],:not([type=checkbox])[confirm][formControlName],:not([type=checkbox])[confirm][formControl],:not([type=checkbox])[confirm][ngModel]", inputs: { confirm: "confirm", validateEqual: "validateEqual" }, providers: [ { provide: NG_VALIDATORS, useExisting: forwardRef(() => EqualValidator), multi: true, }, ], ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: EqualValidator, decorators: [{ type: Directive, args: [{ selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel],:not([type=checkbox])[confirm][formControlName],:not([type=checkbox])[confirm][formControl],:not([type=checkbox])[confirm][ngModel]', providers: [ { provide: NG_VALIDATORS, useExisting: forwardRef(() => EqualValidator), multi: true, }, ], }] }], ctorParameters: function () { return []; }, propDecorators: { confirm: [{ type: Input }], validateEqual: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWwtdmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2wtNTJhYnAtbmcvc3JjL2RpcmVjdGl2ZXMvdmFsaWRhdGlvbi9lcXVhbC12YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFhLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQThCLGFBQWEsRUFBb0IsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFN0Ysb0hBQW9IO0FBWXBILE1BQU0sT0FBTyxjQUFjO0lBT3pCO1FBTFEsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFLekIsQ0FBQztJQUVELElBQ0ksT0FBTyxDQUFDLEtBQWE7UUFDdkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUSxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQsSUFDSSxhQUFhLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsUUFBUSxDQUFDLE9BQXdCO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ2pELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztTQUN0QjtRQUNELElBQUksT0FBTyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1NBQzVEO1FBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxFQUFjO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7OzRHQXhDVSxjQUFjO2dHQUFkLGNBQWMscVRBUmQ7UUFDVDtZQUNFLE9BQU8sRUFBRSxhQUFhO1lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO1lBQzdDLEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRjs0RkFFVSxjQUFjO2tCQVYxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw0TkFBNE47b0JBQ3RPLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsZUFBZSxDQUFDOzRCQUM3QyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjswRUFZSyxPQUFPO3NCQURWLEtBQUs7Z0JBVUYsYUFBYTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgQXR0cmlidXRlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9yLCBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8vIEdvdCBmcm9tOiBodHRwczovL3Njb3RjaC5pby90dXRvcmlhbHMvaG93LXRvLWltcGxlbWVudC1hLWN1c3RvbS12YWxpZGF0b3ItZGlyZWN0aXZlLWNvbmZpcm0tcGFzc3dvcmQtaW4tYW5ndWxhci0yXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1t2YWxpZGF0ZUVxdWFsXVtmb3JtQ29udHJvbE5hbWVdLFt2YWxpZGF0ZUVxdWFsXVtmb3JtQ29udHJvbF0sW3ZhbGlkYXRlRXF1YWxdW25nTW9kZWxdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtjb25maXJtXVtmb3JtQ29udHJvbE5hbWVdLDpub3QoW3R5cGU9Y2hlY2tib3hdKVtjb25maXJtXVtmb3JtQ29udHJvbF0sOm5vdChbdHlwZT1jaGVja2JveF0pW2NvbmZpcm1dW25nTW9kZWxdJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVxdWFsVmFsaWRhdG9yKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEVxdWFsVmFsaWRhdG9yIGltcGxlbWVudHMgVmFsaWRhdG9yIHtcblxuICBwcml2YXRlIF9kZWZhdWx0ID0ge307XG4gIHByaXZhdGUgX2VuYWJsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfb25DaGFuZ2U/OiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIF9jb25maXJtVmFsdWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBjb25maXJtKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9jb25maXJtVmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLl9lbmFibGVkID0gdHlwZW9mICh2YWx1ZSkgPT09ICdzdHJpbmcnO1xuICAgIGlmICh0aGlzLl9vbkNoYW5nZSkge1xuICAgICAgdGhpcy5fb25DaGFuZ2UoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdmFsaWRhdGVFcXVhbCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5jb25maXJtID0gdmFsdWU7XG4gIH1cblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLl9lbmFibGVkKSB7XG4gICAgICByZXR1cm4gdGhpcy5fZGVmYXVsdDtcbiAgICB9XG4gICAgaWYgKCFjb250cm9sLnZhbHVlIHx8IGNvbnRyb2wudmFsdWUudHJpbSgpID09PSAnJykge1xuICAgICAgcmV0dXJuIHRoaXMuX2RlZmF1bHQ7XG4gICAgfVxuICAgIGlmIChjb250cm9sLnZhbHVlICE9PSB0aGlzLl9jb25maXJtVmFsdWUpIHtcbiAgICAgIHJldHVybiB7IHZhbGlkYXRlRXF1YWw6IHRydWUsIGNvbmZpcm06IHRydWUsIGVycm9yOiB0cnVlIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2RlZmF1bHQ7XG4gIH1cblxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcbiAgfVxufVxuIl19