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.
35 lines • 6.06 kB
JavaScript
import { Component } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "@angular/forms";
export class PositiveIntegerInputCellEditorComponent {
constructor() {
this.isEditable = true;
}
agInit(params) {
this.params = params;
this.value = this.params.value;
}
getValue() {
return this.value;
}
// Only digits and some keys are allowed to enter a positive number
onKeyDown(event) {
const allowedKeys = ['Backspace', 'Tab', 'Delete', 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End', 'Enter'];
if (allowedKeys.includes(event.key)) {
return;
}
if (!/^\d+$/.test(event.key)) {
event.preventDefault();
}
}
refresh(params) {
return true;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: PositiveIntegerInputCellEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: PositiveIntegerInputCellEditorComponent, selector: "systelab-positive-integer-input-cell-editor", ngImport: i0, template: "<input title=\"input-cell\" type=\"number\" step=\"any\" class=\"w-100 h-100 border-0 bg-transparent\"\n [disabled]=\"!isEditable\"\n [(ngModel)]=\"value\"\n (keydown)=\"onKeyDown($event)\">\n", dependencies: [{ kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: PositiveIntegerInputCellEditorComponent, decorators: [{
type: Component,
args: [{ selector: 'systelab-positive-integer-input-cell-editor', template: "<input title=\"input-cell\" type=\"number\" step=\"any\" class=\"w-100 h-100 border-0 bg-transparent\"\n [disabled]=\"!isEditable\"\n [(ngModel)]=\"value\"\n (keydown)=\"onKeyDown($event)\">\n" }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9zaXRpdmUtaW50ZWdlci1pbnB1dC1jZWxsLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zeXN0ZWxhYi1jb21wb25lbnRzL3NyYy9saWIvZ3JpZC9jdXN0b20tY2VsbHMvcG9zaXRpdmUtaW50ZWdlci9wb3NpdGl2ZS1pbnRlZ2VyLWlucHV0LWNlbGwtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi9ncmlkL2N1c3RvbS1jZWxscy9wb3NpdGl2ZS1pbnRlZ2VyL3Bvc2l0aXZlLWludGVnZXItaW5wdXQtY2VsbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTzFDLE1BQU0sT0FBTyx1Q0FBdUM7SUFKcEQ7UUFNUSxlQUFVLEdBQUcsSUFBSSxDQUFDO0tBMkJ6QjtJQXhCTyxNQUFNLENBQUMsTUFBVztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxRQUFRO1FBQ2QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ25CLENBQUM7SUFFRCxtRUFBbUU7SUFDNUQsU0FBUyxDQUFDLEtBQW9CO1FBQ3BDLE1BQU0sV0FBVyxHQUFHLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUgsSUFBSSxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNwQyxPQUFPO1NBQ1A7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDN0IsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3ZCO0lBQ0YsQ0FBQztJQUVNLE9BQU8sQ0FBQyxNQUFXO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2IsQ0FBQzs4R0E1QlcsdUNBQXVDO2tHQUF2Qyx1Q0FBdUMsbUZDUHBELG9OQUlBOzsyRkRHYSx1Q0FBdUM7a0JBSm5ELFNBQVM7K0JBQ0MsNkNBQTZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZ0VkaXRvckNvbXBvbmVudCB9IGZyb20gJ2FnLWdyaWQtYW5ndWxhcic7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ3N5c3RlbGFiLXBvc2l0aXZlLWludGVnZXItaW5wdXQtY2VsbC1lZGl0b3InLFxuXHR0ZW1wbGF0ZVVybDogJ3Bvc2l0aXZlLWludGVnZXItaW5wdXQtY2VsbC1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxufSlcbmV4cG9ydCBjbGFzcyBQb3NpdGl2ZUludGVnZXJJbnB1dENlbGxFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBBZ0VkaXRvckNvbXBvbmVudCB7XG5cdHB1YmxpYyB2YWx1ZTogc3RyaW5nO1xuXHRwdWJsaWMgaXNFZGl0YWJsZSA9IHRydWU7XG5cdHB1YmxpYyBwYXJhbXM6IGFueTtcblxuXHRwdWJsaWMgYWdJbml0KHBhcmFtczogYW55KTogdm9pZCB7XG5cdFx0dGhpcy5wYXJhbXMgPSBwYXJhbXM7XG5cdFx0dGhpcy52YWx1ZSA9IHRoaXMucGFyYW1zLnZhbHVlO1xuXHR9XG5cblx0cHVibGljIGdldFZhbHVlKCk6IGFueSB7XG5cdFx0cmV0dXJuIHRoaXMudmFsdWU7XG5cdH1cblxuXHQvLyBPbmx5IGRpZ2l0cyBhbmQgc29tZSBrZXlzIGFyZSBhbGxvd2VkIHRvIGVudGVyIGEgcG9zaXRpdmUgbnVtYmVyXG5cdHB1YmxpYyBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcblx0XHRjb25zdCBhbGxvd2VkS2V5cyA9IFsnQmFja3NwYWNlJywgJ1RhYicsICdEZWxldGUnLCAnQXJyb3dMZWZ0JywgJ0Fycm93UmlnaHQnLCAnQXJyb3dVcCcsICdBcnJvd0Rvd24nLCAnSG9tZScsICdFbmQnLCAnRW50ZXInXTtcblx0XHRpZiAoYWxsb3dlZEtleXMuaW5jbHVkZXMoZXZlbnQua2V5KSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGlmICghL15cXGQrJC8udGVzdChldmVudC5rZXkpKSB7XG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyByZWZyZXNoKHBhcmFtczogYW55KTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cbn1cbiIsIjxpbnB1dCB0aXRsZT1cImlucHV0LWNlbGxcIiB0eXBlPVwibnVtYmVyXCIgc3RlcD1cImFueVwiIGNsYXNzPVwidy0xMDAgaC0xMDAgYm9yZGVyLTAgYmctdHJhbnNwYXJlbnRcIlxuICAgICAgIFtkaXNhYmxlZF09XCIhaXNFZGl0YWJsZVwiXG4gICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgKGtleWRvd24pPVwib25LZXlEb3duKCRldmVudClcIj5cbiJdfQ==