UNPKG

@alauda-fe/common

Version:

Alauda frontend team common codes.

49 lines 5.31 kB
import { __decorate, __metadata } from "tslib"; import { Directive, Input, forwardRef } from '@angular/core'; import { NG_VALIDATORS, Validators, } from '@angular/forms'; import { ValueHook } from '../../core/public-api'; import * as i0 from "@angular/core"; export class FunctionValidatorDirective { get validateFn() { return Array.isArray(this.aclValidateFn) ? Validators.compose(this.aclValidateFn) : this.aclValidateFn; } validate(control) { return this.validateFn?.(control); } registerOnValidatorChange(fn) { this.onValidatorChange = fn; } static { this.ɵfac = function FunctionValidatorDirective_Factory(t) { return new (t || FunctionValidatorDirective)(); }; } static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: FunctionValidatorDirective, selectors: [["", "aclValidateFn", "", "ngModel", ""], ["", "aclValidateFn", "", "formControl", ""], ["", "aclValidateFn", "", "formControlName", ""]], inputs: { aclValidateFn: "aclValidateFn" }, standalone: true, features: [i0.ɵɵProvidersFeature([ { provide: NG_VALIDATORS, useExisting: forwardRef(() => FunctionValidatorDirective), multi: true, }, ])] }); } } __decorate([ ValueHook(null, null, function () { this.onValidatorChange?.(); }), __metadata("design:type", Object) ], FunctionValidatorDirective.prototype, "aclValidateFn", void 0); (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(FunctionValidatorDirective, [{ type: Directive, args: [{ standalone: true, selector: '[aclValidateFn][ngModel],[aclValidateFn][formControl],[aclValidateFn][formControlName]', providers: [ { provide: NG_VALIDATORS, useExisting: forwardRef(() => FunctionValidatorDirective), multi: true, }, ], }] }], null, { aclValidateFn: [{ type: Input }] }); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb24tdmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9mb3JtL3ZhbGlkYXRvcnMvZnVuY3Rpb24tdmFsaWRhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFFTCxhQUFhLEVBR2IsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWNsRCxNQUFNLE9BQU8sMEJBQTBCO0lBT3JDLElBQUksVUFBVTtRQUNaLE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3RDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDeEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUlELFFBQVEsQ0FBQyxPQUF3QjtRQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQseUJBQXlCLENBQUMsRUFBYztRQUN0QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQzlCLENBQUM7MkZBckJVLDBCQUEwQjtvRUFBMUIsMEJBQTBCLHdQQVIxQjtnQkFDVDtvQkFDRSxPQUFPLEVBQUUsYUFBYTtvQkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywwQkFBMEIsQ0FBQztvQkFDekQsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjs7QUFPRDtJQUpDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7SUFDN0IsQ0FBQyxDQUFDOztpRUFFeUM7aUZBTGhDLDBCQUEwQjtjQVp0QyxTQUFTO2VBQUM7Z0JBQ1QsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFFBQVEsRUFDTix3RkFBd0Y7Z0JBQzFGLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUM7d0JBQ3pELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2FBQ0Y7Z0JBTUMsYUFBYTtrQkFEWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBOR19WQUxJREFUT1JTLFxuICBWYWxpZGF0b3IsXG4gIFZhbGlkYXRvckZuLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFZhbHVlSG9vayB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjpcbiAgICAnW2FjbFZhbGlkYXRlRm5dW25nTW9kZWxdLFthY2xWYWxpZGF0ZUZuXVtmb3JtQ29udHJvbF0sW2FjbFZhbGlkYXRlRm5dW2Zvcm1Db250cm9sTmFtZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRnVuY3Rpb25WYWxpZGF0b3JEaXJlY3RpdmUpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRnVuY3Rpb25WYWxpZGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuICBAVmFsdWVIb29rKG51bGwsIG51bGwsIGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlPy4oKTtcbiAgfSlcbiAgQElucHV0KClcbiAgYWNsVmFsaWRhdGVGbjogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdO1xuXG4gIGdldCB2YWxpZGF0ZUZuKCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMuYWNsVmFsaWRhdGVGbilcbiAgICAgID8gVmFsaWRhdG9ycy5jb21wb3NlKHRoaXMuYWNsVmFsaWRhdGVGbilcbiAgICAgIDogdGhpcy5hY2xWYWxpZGF0ZUZuO1xuICB9XG5cbiAgZGVjbGFyZSBvblZhbGlkYXRvckNoYW5nZTogKCkgPT4gdm9pZDtcblxuICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpIHtcbiAgICByZXR1cm4gdGhpcy52YWxpZGF0ZUZuPy4oY29udHJvbCk7XG4gIH1cblxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICB9XG59XG4iXX0=