UNPKG

@dotgov/core

Version:

DGS core.

45 lines 4.42 kB
import { Directive, ElementRef, Input } from '@angular/core'; export class NumberFiledsValidatorDirective { constructor(elRef) { this.noValidate = false; this.elemenet = elRef.nativeElement; } ngOnInit() { const restricted = [ 69, 187, 188, 189, ]; this.elemenet.addEventListener('keydown', event => { if (this.noValidate) { return; } if (restricted.indexOf(event.keyCode) !== -1) { event.preventDefault(); } }); this.elemenet.addEventListener('paste', event => { setTimeout(() => { if (this.noValidate || !this || !event || !event.target || !event.target['value']) { return; } if (!event.target['value']) { event.target['value'] = ''; } }); }); } } NumberFiledsValidatorDirective.decorators = [ { type: Directive, args: [{ selector: `[type='number']`, },] } ]; NumberFiledsValidatorDirective.ctorParameters = () => [ { type: ElementRef } ]; NumberFiledsValidatorDirective.propDecorators = { noValidate: [{ type: Input }] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLWZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZGlyZWN0aXZlcy9udW1iZXItZmllbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUtyRSxNQUFNLE9BQU8sOEJBQThCO0lBSXpDLFlBQVksS0FBaUI7UUFIcEIsZUFBVSxHQUFZLEtBQUssQ0FBQztRQUluQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUM7SUFDdEMsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLFVBQVUsR0FBRztZQUNqQixFQUFFO1lBQ0YsR0FBRztZQUNILEdBQUc7WUFDSCxHQUFHO1NBQ0osQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFO1lBQ2hELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDbkIsT0FBTzthQUNSO1lBQ0QsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDNUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtZQUM5QyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNqRixPQUFPO2lCQUNSO2dCQUNELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUMxQixLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQkFDNUI7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7O1lBcENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2FBQzVCOzs7WUFKbUIsVUFBVTs7O3lCQU0zQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogYFt0eXBlPSdudW1iZXInXWAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOdW1iZXJGaWxlZHNWYWxpZGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG5vVmFsaWRhdGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIGVsZW1lbmV0OiBIVE1MSW5wdXRFbGVtZW50O1xyXG5cclxuICBjb25zdHJ1Y3RvcihlbFJlZjogRWxlbWVudFJlZikge1xyXG4gICAgdGhpcy5lbGVtZW5ldCA9IGVsUmVmLm5hdGl2ZUVsZW1lbnQ7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGNvbnN0IHJlc3RyaWN0ZWQgPSBbXHJcbiAgICAgIDY5LCAvLyAgXCJlXCJcclxuICAgICAgMTg3LCAvLyAgXCI9XCJcclxuICAgICAgMTg4LCAvLyAgXCIsXCJcclxuICAgICAgMTg5LCAvLyAgXCItXCJcclxuICAgIF07XHJcbiAgICB0aGlzLmVsZW1lbmV0LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBldmVudCA9PiB7XHJcbiAgICAgIGlmICh0aGlzLm5vVmFsaWRhdGUpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHJlc3RyaWN0ZWQuaW5kZXhPZihldmVudC5rZXlDb2RlKSAhPT0gLTEpIHtcclxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZWxlbWVuZXQuYWRkRXZlbnRMaXN0ZW5lcigncGFzdGUnLCBldmVudCA9PiB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIGlmICh0aGlzLm5vVmFsaWRhdGUgfHwgIXRoaXMgfHwgIWV2ZW50IHx8ICFldmVudC50YXJnZXQgfHwgIWV2ZW50LnRhcmdldFsndmFsdWUnXSkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoIWV2ZW50LnRhcmdldFsndmFsdWUnXSkge1xyXG4gICAgICAgICAgZXZlbnQudGFyZ2V0Wyd2YWx1ZSddID0gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=