@alauda-fe/common
Version:
Alauda frontend team common codes.
49 lines • 5.31 kB
JavaScript
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=