UNPKG

systelab-components

Version:

systelab-components is a set of components that use wide accepted and adopted standard technologies like Angular and Bootstrap, as well as other popular libraries. Please read the ATTRIBUTION.md file for a complete list of dependencies.

40 lines 5.66 kB
import { Directive, HostListener } from '@angular/core'; import * as i0 from "@angular/core"; import * as i1 from "systelab-translate"; import * as i2 from "../helper/number-helper"; export class NumpadDecimalNumericDirective { constructor(el, i18nService, numberHelper) { this.el = el; this.i18nService = i18nService; this.numberHelper = numberHelper; this.decimalSeparator = ','; } keyup(event) { // get position const pos = this.el.nativeElement.selectionStart; let val = this.el.nativeElement.value; if (event.code === 'NumpadDecimal' && event.key === '.') { const myNumber = 2.3; const stringNumber = this.numberHelper.getStringFromNumber(myNumber); this.decimalSeparator = stringNumber.substring(1, 2); val = val.substring(0, pos - 1) + this.decimalSeparator + val.substring(pos); this.el.nativeElement.value = val; setTimeout(() => { this.el.nativeElement.selectionStart = pos; this.el.nativeElement.selectionEnd = pos; }); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NumpadDecimalNumericDirective, deps: [{ token: i0.ElementRef }, { token: i1.I18nService }, { token: i2.NumberHelper }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.9", type: NumpadDecimalNumericDirective, selector: "[systelabNumPadDecimalNumericDirective]", host: { listeners: { "keyup": "keyup($event)" } }, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NumpadDecimalNumericDirective, decorators: [{ type: Directive, args: [{ selector: '[systelabNumPadDecimalNumericDirective]' }] }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.I18nService }, { type: i2.NumberHelper }], propDecorators: { keyup: [{ type: HostListener, args: ['keyup', ['$event']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtcGFkLWRlY2ltYWwtbnVtZXJpYy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeXN0ZWxhYi1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9udW1wYWQtZGVjaW1hbC1udW1lcmljLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVNwRSxNQUFNLE9BQU8sNkJBQTZCO0lBSXpDLFlBQW9CLEVBQWMsRUFDckIsV0FBd0IsRUFDMUIsWUFBMEI7UUFGakIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUMxQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUo3QixxQkFBZ0IsR0FBRyxHQUFHLENBQUM7SUFJVSxDQUFDO0lBRVAsS0FBSyxDQUFDLEtBQW9CO1FBQzVELGVBQWU7UUFDZixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7UUFFakQsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDO1FBRXRDLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxlQUFlLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUU7WUFDeEQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQ3JCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JELEdBQUcsR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUUsR0FBRyxDQUFDLENBQUU7WUFDL0UsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQztZQUVsQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNmLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGNBQWMsR0FBRyxHQUFHLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUM7U0FDSDtJQUNGLENBQUM7OEdBMUJXLDZCQUE2QjtrR0FBN0IsNkJBQTZCOzsyRkFBN0IsNkJBQTZCO2tCQUp6QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx5Q0FBeUM7aUJBQ25EO29JQVVtQyxLQUFLO3NCQUF2QyxZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJMThuU2VydmljZSB9IGZyb20gJ3N5c3RlbGFiLXRyYW5zbGF0ZSc7XG5pbXBvcnQgeyBOdW1iZXJIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXIvbnVtYmVyLWhlbHBlcic7XG5cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW3N5c3RlbGFiTnVtUGFkRGVjaW1hbE51bWVyaWNEaXJlY3RpdmVdJ1xufSlcblxuZXhwb3J0IGNsYXNzIE51bXBhZERlY2ltYWxOdW1lcmljRGlyZWN0aXZlIHtcblxuXHRwcml2YXRlIGRlY2ltYWxTZXBhcmF0b3IgPSAnLCc7XG5cblx0Y29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZixcblx0XHRcdFx0cHJvdGVjdGVkIGkxOG5TZXJ2aWNlOiBJMThuU2VydmljZSxcblx0XHRcdFx0cHJpdmF0ZSBudW1iZXJIZWxwZXI6IE51bWJlckhlbHBlcikgeyB9XG5cblx0QEhvc3RMaXN0ZW5lcigna2V5dXAnLCBbJyRldmVudCddKSBrZXl1cChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuXHRcdC8vIGdldCBwb3NpdGlvblxuXHRcdGNvbnN0IHBvcyA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydDtcblxuXHRcdGxldCB2YWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cblx0XHRpZiAoZXZlbnQuY29kZSA9PT0gJ051bXBhZERlY2ltYWwnICYmIGV2ZW50LmtleSA9PT0gJy4nKSB7XG5cdFx0XHRjb25zdCBteU51bWJlciA9IDIuMztcblx0XHRcdGNvbnN0IHN0cmluZ051bWJlciA9IHRoaXMubnVtYmVySGVscGVyLmdldFN0cmluZ0Zyb21OdW1iZXIobXlOdW1iZXIpO1xuXHRcdFx0dGhpcy5kZWNpbWFsU2VwYXJhdG9yID0gc3RyaW5nTnVtYmVyLnN1YnN0cmluZygxLCAyKTtcblx0XHRcdHZhbCA9IHZhbC5zdWJzdHJpbmcoMCwgcG9zIC0gMSkgKyB0aGlzLmRlY2ltYWxTZXBhcmF0b3IgKyB2YWwuc3Vic3RyaW5nKCBwb3MpIDtcblx0XHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbDtcblxuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC5zZWxlY3Rpb25TdGFydCA9IHBvcztcblx0XHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnNlbGVjdGlvbkVuZCA9IHBvcztcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxufVxuIl19