@alauda-fe/common
Version:
Alauda frontend team common codes.
56 lines • 6.2 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Directive, Input, forwardRef } from '@angular/core';
import { NG_VALIDATORS, } from '@angular/forms';
import { ValueHook } from '../../core/public-api';
import * as i0 from "@angular/core";
export class NotBeValidatorDirective {
validate(control) {
const value = control.value;
if (this.notBeValues?.some(notBeValue => typeof notBeValue === 'string'
? notBeValue === value
: notBeValue?.test(value))) {
return {
notBe: control.value,
};
}
}
registerOnValidatorChange(fn) {
this.onValidatorChange = fn;
}
static { this.ɵfac = function NotBeValidatorDirective_Factory(t) { return new (t || NotBeValidatorDirective)(); }; }
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: NotBeValidatorDirective, selectors: [["", "aclNotBe", "", "ngModel", ""], ["", "aclNotBe", "", "formControl", ""], ["", "aclNotBe", "", "formControlName", ""]], inputs: { aclNotBe: "aclNotBe" }, standalone: true, features: [i0.ɵɵProvidersFeature([
{
provide: NG_VALIDATORS,
useExisting: forwardRef(() => NotBeValidatorDirective),
multi: true,
},
])] }); }
}
__decorate([
ValueHook(null, null, function (notBe) {
this.notBeValues = notBe
? Array.isArray(notBe)
? notBe
: [notBe]
: null;
this.onValidatorChange?.();
}),
__metadata("design:type", Object)
], NotBeValidatorDirective.prototype, "aclNotBe", void 0);
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NotBeValidatorDirective, [{
type: Directive,
args: [{
standalone: true,
selector: '[aclNotBe][ngModel],[aclNotBe][formControl],[aclNotBe][formControlName]',
providers: [
{
provide: NG_VALIDATORS,
useExisting: forwardRef(() => NotBeValidatorDirective),
multi: true,
},
],
}]
}], null, { aclNotBe: [{
type: Input
}] }); })();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90LWJlLXZhbGlkYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvZm9ybS92YWxpZGF0b3JzL25vdC1iZS12YWxpZGF0b3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUVMLGFBQWEsR0FHZCxNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFnQmxELE1BQU0sT0FBTyx1QkFBdUI7SUFvQmxDLFFBQVEsQ0FBQyxPQUF3QjtRQUMvQixNQUFNLEtBQUssR0FBVyxPQUFPLENBQUMsS0FBSyxDQUFDO1FBQ3BDLElBQ0UsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FDbEMsT0FBTyxVQUFVLEtBQUssUUFBUTtZQUM1QixDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUs7WUFDdEIsQ0FBQyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQzVCLEVBQ0QsQ0FBQztZQUNELE9BQU87Z0JBQ0wsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO2FBQ3JCLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELHlCQUF5QixDQUFDLEVBQWM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDO3dGQXJDVSx1QkFBdUI7b0VBQXZCLHVCQUF1QiwrTkFSdkI7Z0JBQ1Q7b0JBQ0UsT0FBTyxFQUFFLGFBQWE7b0JBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3RELEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7O0FBZ0JEO0lBYkMsU0FBUyxDQUNSLElBQUksRUFDSixJQUFJLEVBQ0osVUFBeUMsS0FBZ0M7UUFDdkUsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLO1lBQ3RCLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDcEIsQ0FBQyxDQUFDLEtBQUs7Z0JBQ1AsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQ1gsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNULElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUM7SUFDN0IsQ0FBQyxDQUNGOzt5REFFbUM7aUZBZHpCLHVCQUF1QjtjQVpuQyxTQUFTO2VBQUM7Z0JBQ1QsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLFFBQVEsRUFDTix5RUFBeUU7Z0JBQzNFLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsd0JBQXdCLENBQUM7d0JBQ3RELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2FBQ0Y7Z0JBZUMsUUFBUTtrQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBOR19WQUxJREFUT1JTLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHsgVmFsdWVIb29rIH0gZnJvbSAnLi4vLi4vY29yZS9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHR5cGUgTm90QmVWYWx1ZSA9IHN0cmluZyB8IFJlZ0V4cDtcblxuQERpcmVjdGl2ZSh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOlxuICAgICdbYWNsTm90QmVdW25nTW9kZWxdLFthY2xOb3RCZV1bZm9ybUNvbnRyb2xdLFthY2xOb3RCZV1bZm9ybUNvbnRyb2xOYW1lXScsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOb3RCZVZhbGlkYXRvckRpcmVjdGl2ZSksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBOb3RCZVZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciB7XG4gIEBWYWx1ZUhvb2soXG4gICAgbnVsbCxcbiAgICBudWxsLFxuICAgIGZ1bmN0aW9uICh0aGlzOiBOb3RCZVZhbGlkYXRvckRpcmVjdGl2ZSwgbm90QmU6IE5vdEJlVmFsdWUgfCBOb3RCZVZhbHVlW10pIHtcbiAgICAgIHRoaXMubm90QmVWYWx1ZXMgPSBub3RCZVxuICAgICAgICA/IEFycmF5LmlzQXJyYXkobm90QmUpXG4gICAgICAgICAgPyBub3RCZVxuICAgICAgICAgIDogW25vdEJlXVxuICAgICAgICA6IG51bGw7XG4gICAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlPy4oKTtcbiAgICB9LFxuICApXG4gIEBJbnB1dCgpXG4gIGFjbE5vdEJlOiBOb3RCZVZhbHVlIHwgTm90QmVWYWx1ZVtdO1xuXG4gIG5vdEJlVmFsdWVzOiBOb3RCZVZhbHVlW107XG5cbiAgb25WYWxpZGF0b3JDaGFuZ2U6ICgpID0+IHZvaWQ7XG5cbiAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB7XG4gICAgY29uc3QgdmFsdWU6IHN0cmluZyA9IGNvbnRyb2wudmFsdWU7XG4gICAgaWYgKFxuICAgICAgdGhpcy5ub3RCZVZhbHVlcz8uc29tZShub3RCZVZhbHVlID0+XG4gICAgICAgIHR5cGVvZiBub3RCZVZhbHVlID09PSAnc3RyaW5nJ1xuICAgICAgICAgID8gbm90QmVWYWx1ZSA9PT0gdmFsdWVcbiAgICAgICAgICA6IG5vdEJlVmFsdWU/LnRlc3QodmFsdWUpLFxuICAgICAgKVxuICAgICkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbm90QmU6IGNvbnRyb2wudmFsdWUsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2UoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLm9uVmFsaWRhdG9yQ2hhbmdlID0gZm47XG4gIH1cbn1cbiJdfQ==