@alauda-fe/common
Version:
Alauda frontend team common codes.
49 lines • 5.61 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Directive, Input, forwardRef } from '@angular/core';
import { NG_ASYNC_VALIDATORS, Validators, } from '@angular/forms';
import { ValueHook } from '../../core/public-api';
import * as i0 from "@angular/core";
export class AsyncFunctionValidatorDirective {
get asyncValidateFn() {
return Array.isArray(this.aclAsyncValidateFn)
? Validators.composeAsync(this.aclAsyncValidateFn)
: this.aclAsyncValidateFn;
}
validate(control) {
return this.asyncValidateFn?.(control);
}
registerOnValidatorChange(fn) {
this.onValidatorChange = fn;
}
static { this.ɵfac = function AsyncFunctionValidatorDirective_Factory(t) { return new (t || AsyncFunctionValidatorDirective)(); }; }
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: AsyncFunctionValidatorDirective, selectors: [["", "aclAsyncValidateFn", "", "ngModel", ""], ["", "aclAsyncValidateFn", "", "formControl", ""], ["", "aclAsyncValidateFn", "", "formControlName", ""]], inputs: { aclAsyncValidateFn: "aclAsyncValidateFn" }, standalone: true, features: [i0.ɵɵProvidersFeature([
{
provide: NG_ASYNC_VALIDATORS,
useExisting: forwardRef(() => AsyncFunctionValidatorDirective),
multi: true,
},
])] }); }
}
__decorate([
ValueHook(null, null, function () {
this.onValidatorChange?.();
}),
__metadata("design:type", Object)
], AsyncFunctionValidatorDirective.prototype, "aclAsyncValidateFn", void 0);
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AsyncFunctionValidatorDirective, [{
type: Directive,
args: [{
standalone: true,
selector: '[aclAsyncValidateFn][ngModel],[aclAsyncValidateFn][formControl],[aclAsyncValidateFn][formControlName]',
providers: [
{
provide: NG_ASYNC_VALIDATORS,
useExisting: forwardRef(() => AsyncFunctionValidatorDirective),
multi: true,
},
],
}]
}], null, { aclAsyncValidateFn: [{
type: Input
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtZnVuY3Rpb24tdmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy9mb3JtL3ZhbGlkYXRvcnMvYXN5bmMtZnVuY3Rpb24tdmFsaWRhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFJTCxtQkFBbUIsRUFDbkIsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWNsRCxNQUFNLE9BQU8sK0JBQStCO0lBTzFDLElBQUksZUFBZTtRQUNqQixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO1lBQzNDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztZQUNsRCxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQzlCLENBQUM7SUFJRCxRQUFRLENBQUMsT0FBd0I7UUFDL0IsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELHlCQUF5QixDQUFDLEVBQWM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO2dHQXJCVSwrQkFBK0I7b0VBQS9CLCtCQUErQixpUkFSL0I7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLG1CQUFtQjtvQkFDNUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywrQkFBK0IsQ0FBQztvQkFDOUQsS0FBSyxFQUFFLElBQUk7aUJBQ1o7YUFDRjs7QUFPRDtJQUpDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7SUFDN0IsQ0FBQyxDQUFDOzsyRUFFd0Q7aUZBTC9DLCtCQUErQjtjQVozQyxTQUFTO2VBQUM7Z0JBQ1QsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFFBQVEsRUFDTix1R0FBdUc7Z0JBQ3pHLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsbUJBQW1CO3dCQUM1QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxnQ0FBZ0MsQ0FBQzt3QkFDOUQsS0FBSyxFQUFFLElBQUk7cUJBQ1o7aUJBQ0Y7YUFDRjtnQkFNQyxrQkFBa0I7a0JBRGpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIElucHV0LCBmb3J3YXJkUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEFzeW5jVmFsaWRhdG9yLFxuICBBc3luY1ZhbGlkYXRvckZuLFxuICBOR19BU1lOQ19WQUxJREFUT1JTLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IFZhbHVlSG9vayB9IGZyb20gJy4uLy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjpcbiAgICAnW2FjbEFzeW5jVmFsaWRhdGVGbl1bbmdNb2RlbF0sW2FjbEFzeW5jVmFsaWRhdGVGbl1bZm9ybUNvbnRyb2xdLFthY2xBc3luY1ZhbGlkYXRlRm5dW2Zvcm1Db250cm9sTmFtZV0nLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19BU1lOQ19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQXN5bmNGdW5jdGlvblZhbGlkYXRvckRpcmVjdGl2ZSksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBc3luY0Z1bmN0aW9uVmFsaWRhdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgQXN5bmNWYWxpZGF0b3Ige1xuICBAVmFsdWVIb29rKG51bGwsIG51bGwsIGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlPy4oKTtcbiAgfSlcbiAgQElucHV0KClcbiAgYWNsQXN5bmNWYWxpZGF0ZUZuOiBBc3luY1ZhbGlkYXRvckZuIHwgQXN5bmNWYWxpZGF0b3JGbltdO1xuXG4gIGdldCBhc3luY1ZhbGlkYXRlRm4oKSB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodGhpcy5hY2xBc3luY1ZhbGlkYXRlRm4pXG4gICAgICA/IFZhbGlkYXRvcnMuY29tcG9zZUFzeW5jKHRoaXMuYWNsQXN5bmNWYWxpZGF0ZUZuKVxuICAgICAgOiB0aGlzLmFjbEFzeW5jVmFsaWRhdGVGbjtcbiAgfVxuXG4gIGRlY2xhcmUgb25WYWxpZGF0b3JDaGFuZ2U6ICgpID0+IHZvaWQ7XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XG4gICAgcmV0dXJuIHRoaXMuYXN5bmNWYWxpZGF0ZUZuPy4oY29udHJvbCk7XG4gIH1cblxuICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKSB7XG4gICAgdGhpcy5vblZhbGlkYXRvckNoYW5nZSA9IGZuO1xuICB9XG59XG4iXX0=