UNPKG

@sixbell-telco/sdk

Version:

A collection of reusable components designed for use in Sixbell Telco Angular projects

53 lines (49 loc) 2.17 kB
import * as i0 from '@angular/core'; import { input, HostListener, Directive } from '@angular/core'; class JustNumbersDirective { justNumbers = input(false); constructor() { } blockPaste(event) { if (!this.justNumbers()) return true; const justNumbersReg = new RegExp('^[0-9]+$'); const clipboardData = event.clipboardData; if (!clipboardData) return true; const pastedValue = clipboardData.getData('Text'); if (!justNumbersReg.test(pastedValue)) { event.preventDefault(); return false; } return true; } onKeyPress(event) { if (!this.justNumbers()) return true; const key = event.key; if (!/^[0-9]$/.test(key)) { event.preventDefault(); return false; } return true; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: JustNumbersDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.0", type: JustNumbersDirective, isStandalone: true, selector: "[stJustNumbers]", inputs: { justNumbers: { classPropertyName: "justNumbers", publicName: "justNumbers", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "paste": "blockPaste($event)", "keypress": "onKeyPress($event)" } }, ngImport: i0 }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.0", ngImport: i0, type: JustNumbersDirective, decorators: [{ type: Directive, args: [{ selector: '[stJustNumbers]', }] }], ctorParameters: () => [], propDecorators: { blockPaste: [{ type: HostListener, args: ['paste', ['$event']] }], onKeyPress: [{ type: HostListener, args: ['keypress', ['$event']] }] } }); /** * Generated bundle index. Do not edit. */ export { JustNumbersDirective }; //# sourceMappingURL=sixbell-telco-sdk-directives-only-numbers.mjs.map