@alauda-fe/common
Version:
Alauda frontend team common codes.
43 lines • 4.98 kB
JavaScript
import { Directive } from '@angular/core';
import { NgControl } from '@angular/forms';
import * as i0 from "@angular/core";
import * as i1 from "@angular/forms";
function getSelector(validator) {
return `[ngModel][${validator}],[formControl][${validator}],[formControlName][${validator}]`;
}
export class ValidatorsDirective {
constructor(ngControl) {
this.ngControl = ngControl;
}
ngAfterViewInit() {
this.validate();
}
ngOnDestroy() {
this.validate();
}
validate() {
this.ngControl.control?.updateValueAndValidity();
}
static { this.ɵfac = function ValidatorsDirective_Factory(t) { return new (t || ValidatorsDirective)(i0.ɵɵdirectiveInject(i1.NgControl)); }; }
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: ValidatorsDirective, selectors: [["", "ngModel", "", "required", ""], ["", "formControl", "", "required", ""], ["", "formControlName", "", "required", ""], ["", "ngModel", "", "pattern", ""], ["", "formControl", "", "pattern", ""], ["", "formControlName", "", "pattern", ""], ["", "ngModel", "", "min", ""], ["", "formControl", "", "min", ""], ["", "formControlName", "", "min", ""], ["", "ngModel", "", "max", ""], ["", "formControl", "", "max", ""], ["", "formControlName", "", "max", ""], ["", "ngModel", "", "minlength", ""], ["", "formControl", "", "minlength", ""], ["", "formControlName", "", "minlength", ""], ["", "ngModel", "", "maxlength", ""], ["", "formControl", "", "maxlength", ""], ["", "formControlName", "", "maxlength", ""], ["", "ngModel", "", "email", ""], ["", "formControl", "", "email", ""], ["", "formControlName", "", "email", ""]], standalone: true }); }
}
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ValidatorsDirective, [{
type: Directive,
args: [{
selector: getSelector('required') +
',' +
getSelector('pattern') +
',' +
getSelector('min') +
',' +
getSelector('max') +
',' +
getSelector('minlength') +
',' +
getSelector('maxlength') +
',' +
getSelector('email'),
standalone: true,
}]
}], () => [{ type: i1.NgControl }], null); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZWZmZWN0LWRpcmVjdGl2ZS92YWxpZGF0b3JzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUUzQyxTQUFTLFdBQVcsQ0FBQyxTQUFpQjtJQUNwQyxPQUFPLGFBQWEsU0FBUyxtQkFBbUIsU0FBUyx1QkFBdUIsU0FBUyxHQUFHLENBQUM7QUFDL0YsQ0FBQztBQW1CRCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQTZCLFNBQW9CO1FBQXBCLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFBRyxDQUFDO0lBRXJELGVBQWU7UUFDYixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbEIsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxDQUFDO0lBQ25ELENBQUM7b0ZBYlUsbUJBQW1CO29FQUFuQixtQkFBbUI7O2lGQUFuQixtQkFBbUI7Y0FqQi9CLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQ04sV0FBVyxDQUFDLFVBQVUsQ0FBQztvQkFDdkIsR0FBRztvQkFDSCxXQUFXLENBQUMsU0FBUyxDQUFDO29CQUN0QixHQUFHO29CQUNILFdBQVcsQ0FBQyxLQUFLLENBQUM7b0JBQ2xCLEdBQUc7b0JBQ0gsV0FBVyxDQUFDLEtBQUssQ0FBQztvQkFDbEIsR0FBRztvQkFDSCxXQUFXLENBQUMsV0FBVyxDQUFDO29CQUN4QixHQUFHO29CQUNILFdBQVcsQ0FBQyxXQUFXLENBQUM7b0JBQ3hCLEdBQUc7b0JBQ0gsV0FBVyxDQUFDLE9BQU8sQ0FBQztnQkFDdEIsVUFBVSxFQUFFLElBQUk7YUFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBEaXJlY3RpdmUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5mdW5jdGlvbiBnZXRTZWxlY3Rvcih2YWxpZGF0b3I6IHN0cmluZykge1xuICByZXR1cm4gYFtuZ01vZGVsXVske3ZhbGlkYXRvcn1dLFtmb3JtQ29udHJvbF1bJHt2YWxpZGF0b3J9XSxbZm9ybUNvbnRyb2xOYW1lXVske3ZhbGlkYXRvcn1dYDtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOlxuICAgIGdldFNlbGVjdG9yKCdyZXF1aXJlZCcpICtcbiAgICAnLCcgK1xuICAgIGdldFNlbGVjdG9yKCdwYXR0ZXJuJykgK1xuICAgICcsJyArXG4gICAgZ2V0U2VsZWN0b3IoJ21pbicpICtcbiAgICAnLCcgK1xuICAgIGdldFNlbGVjdG9yKCdtYXgnKSArXG4gICAgJywnICtcbiAgICBnZXRTZWxlY3RvcignbWlubGVuZ3RoJykgK1xuICAgICcsJyArXG4gICAgZ2V0U2VsZWN0b3IoJ21heGxlbmd0aCcpICtcbiAgICAnLCcgK1xuICAgIGdldFNlbGVjdG9yKCdlbWFpbCcpLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBWYWxpZGF0b3JzRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuICB9XG5cbiAgdmFsaWRhdGUoKSB7XG4gICAgdGhpcy5uZ0NvbnRyb2wuY29udHJvbD8udXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICB9XG59XG4iXX0=