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.
86 lines • 12.6 kB
JavaScript
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
import { NumPadDialog } from './numpad.dialog.component';
import * as i0 from "@angular/core";
import * as i1 from "../modal/dialog/dialog.service";
import * as i2 from "@angular/common";
import * as i3 from "@angular/forms";
import * as i4 from "../directives/autofocus.directive";
export class NumPadComponent {
get value() {
return this._value;
}
set value(value) {
this._value = value;
this.valueChange.emit(this._value);
}
constructor(dialogService) {
this.dialogService = dialogService;
this.isPassword = false;
this.autofocus = false;
this.placeholder = '';
this.onClickSelectValue = false;
this.valueChange = new EventEmitter();
this.change = new EventEmitter();
}
openNumPadDialog() {
const parameters = NumPadDialog.getParameters();
parameters.value = this.value;
parameters.isPassword = this.isPassword;
this.dialogService.showDialog(NumPadDialog, parameters)
.subscribe(response => {
if (response != null) {
this.value = response;
this.doEnter();
}
});
}
doEnter() {
if (this.value && this.value.trim() !== '') {
this.change.emit(this.value);
}
}
focus() {
const element = this.getNumPadElement();
if (element) {
element.focus();
}
}
blur() {
const element = this.getNumPadElement();
if (element) {
element.blur();
}
}
getNumPadElement() {
return this.isPassword ? document.getElementById('numpaddialogPwd') : document.getElementById('numpaddialog');
}
doSelectValue() {
if (this.onClickSelectValue) {
this.input.nativeElement.select();
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NumPadComponent, deps: [{ token: i1.DialogService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: NumPadComponent, selector: "systelab-numpad", inputs: { isPassword: "isPassword", autofocus: "autofocus", placeholder: "placeholder", onClickSelectValue: "onClickSelectValue", value: "value" }, outputs: { valueChange: "valueChange", change: "change" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"input-group slab-numpad-container\">\n <input #input *ngIf=\"isPassword\" (click)=\"doSelectValue()\" class=\"form-control\" id=\"numpaddialogPwd\" type=\"password\" name=\"numpaddialog\" [placeholder]=\"placeholder\" [autoFocus]=\"autofocus\" [(ngModel)]=\"value\" (keyup.enter)=\"doEnter()\">\n <input #input *ngIf=\"!isPassword\" (click)=\"doSelectValue()\" class=\"form-control\" id=\"numpaddialog\" type=\"text\" name=\"numpaddialog\" [placeholder]=\"placeholder\" [autoFocus]=\"autofocus\" [(ngModel)]=\"value\" (keyup.enter)=\"doEnter()\">\n <div class=\"input-group-append\">\n <button id=\"showDialogButton\" class=\"btn pt-0 pb-0\" type=\"button\" (click)=\"openNumPadDialog()\"><i class=\"icon-numpad\"></i></button>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.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: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.AutofocusDirective, selector: "[autoFocus]", inputs: ["autoFocus"] }] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: NumPadComponent, decorators: [{
type: Component,
args: [{ selector: 'systelab-numpad', template: "<div class=\"input-group slab-numpad-container\">\n <input #input *ngIf=\"isPassword\" (click)=\"doSelectValue()\" class=\"form-control\" id=\"numpaddialogPwd\" type=\"password\" name=\"numpaddialog\" [placeholder]=\"placeholder\" [autoFocus]=\"autofocus\" [(ngModel)]=\"value\" (keyup.enter)=\"doEnter()\">\n <input #input *ngIf=\"!isPassword\" (click)=\"doSelectValue()\" class=\"form-control\" id=\"numpaddialog\" type=\"text\" name=\"numpaddialog\" [placeholder]=\"placeholder\" [autoFocus]=\"autofocus\" [(ngModel)]=\"value\" (keyup.enter)=\"doEnter()\">\n <div class=\"input-group-append\">\n <button id=\"showDialogButton\" class=\"btn pt-0 pb-0\" type=\"button\" (click)=\"openNumPadDialog()\"><i class=\"icon-numpad\"></i></button>\n </div>\n</div>\n" }]
}], ctorParameters: () => [{ type: i1.DialogService }], propDecorators: { isPassword: [{
type: Input
}], autofocus: [{
type: Input
}], placeholder: [{
type: Input
}], onClickSelectValue: [{
type: Input
}], valueChange: [{
type: Output
}], change: [{
type: Output
}], value: [{
type: Input
}], input: [{
type: ViewChild,
args: ['input']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtcGFkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi9udW1wYWQvbnVtcGFkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N5c3RlbGFiLWNvbXBvbmVudHMvc3JjL2xpYi9udW1wYWQvbnVtcGFkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlGLE9BQU8sRUFBRSxZQUFZLEVBQTBCLE1BQU0sMkJBQTJCLENBQUM7Ozs7OztBQU1qRixNQUFNLE9BQU8sZUFBZTtJQWEzQixJQUNJLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDcEIsQ0FBQztJQUVELElBQUksS0FBSyxDQUFDLEtBQWE7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFJRCxZQUFtQixhQUE0QjtRQUE1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXRCL0MsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUVaLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFVCxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFbkMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLFdBQU0sR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBZXJELENBQUM7SUFFTSxnQkFBZ0I7UUFDdEIsTUFBTSxVQUFVLEdBQTJCLFlBQVksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN4RSxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDOUIsVUFBVSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7YUFDckQsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFO1lBQ3JCLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtnQkFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxRQUFRLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQzthQUNmO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sT0FBTztRQUNiLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUMzQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDRixDQUFDO0lBRU0sS0FBSztRQUNYLE1BQU0sT0FBTyxHQUFnQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNyRCxJQUFJLE9BQU8sRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQjtJQUNGLENBQUM7SUFHTSxJQUFJO1FBQ1YsTUFBTSxPQUFPLEdBQWdCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3JELElBQUksT0FBTyxFQUFFO1lBQ1osT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2Y7SUFDRixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQy9HLENBQUM7SUFFTSxhQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2xDO0lBQ0YsQ0FBQzs4R0F0RVcsZUFBZTtrR0FBZixlQUFlLHNXQ1I1Qiw2d0JBT0E7OzJGRENhLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksaUJBQWlCO2tGQU05QixVQUFVO3NCQURULEtBQUs7Z0JBR0MsU0FBUztzQkFEZixLQUFLO2dCQUdVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBQ1Usa0JBQWtCO3NCQUFqQyxLQUFLO2dCQUVXLFdBQVc7c0JBQTNCLE1BQU07Z0JBQ1UsTUFBTTtzQkFBdEIsTUFBTTtnQkFHSCxLQUFLO3NCQURSLEtBQUs7Z0JBVXFCLEtBQUs7c0JBQS9CLFNBQVM7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi9tb2RhbC9kaWFsb2cvZGlhbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgTnVtUGFkRGlhbG9nLCBOdW1QYWREaWFsb2dQYXJhbWV0ZXJzIH0gZnJvbSAnLi9udW1wYWQuZGlhbG9nLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogICAgJ3N5c3RlbGFiLW51bXBhZCcsXG5cdHRlbXBsYXRlVXJsOiAnbnVtcGFkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBOdW1QYWRDb21wb25lbnQge1xuXHRwcm90ZWN0ZWQgX3ZhbHVlOiBzdHJpbmc7XG5cdEBJbnB1dCgpXG5cdGlzUGFzc3dvcmQgPSBmYWxzZTtcblx0QElucHV0KClcblx0cHVibGljIGF1dG9mb2N1cyA9IGZhbHNlO1xuXG5cdEBJbnB1dCgpIHB1YmxpYyBwbGFjZWhvbGRlciA9ICcnO1xuXHRASW5wdXQoKSBwdWJsaWMgb25DbGlja1NlbGVjdFZhbHVlOiBib29sZWFuID0gZmFsc2U7XG5cblx0QE91dHB1dCgpIHB1YmxpYyB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXHRAT3V0cHV0KCkgcHVibGljIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG5cdEBJbnB1dCgpXG5cdGdldCB2YWx1ZSgpOiBzdHJpbmcge1xuXHRcdHJldHVybiB0aGlzLl92YWx1ZTtcblx0fVxuXG5cdHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5fdmFsdWUgPSB2YWx1ZTtcblx0XHR0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGhpcy5fdmFsdWUpO1xuXHR9XG5cblx0QFZpZXdDaGlsZCgnaW5wdXQnKSBwdWJsaWMgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG5cblx0Y29uc3RydWN0b3IocHVibGljIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UpIHtcblx0fVxuXG5cdHB1YmxpYyBvcGVuTnVtUGFkRGlhbG9nKCkge1xuXHRcdGNvbnN0IHBhcmFtZXRlcnM6IE51bVBhZERpYWxvZ1BhcmFtZXRlcnMgPSBOdW1QYWREaWFsb2cuZ2V0UGFyYW1ldGVycygpO1xuXHRcdHBhcmFtZXRlcnMudmFsdWUgPSB0aGlzLnZhbHVlO1xuXHRcdHBhcmFtZXRlcnMuaXNQYXNzd29yZCA9IHRoaXMuaXNQYXNzd29yZDtcblx0XHR0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd0RpYWxvZyhOdW1QYWREaWFsb2csIHBhcmFtZXRlcnMpXG5cdFx0XHQuc3Vic2NyaWJlKHJlc3BvbnNlID0+IHtcblx0XHRcdFx0aWYgKHJlc3BvbnNlICE9IG51bGwpIHtcblx0XHRcdFx0XHR0aGlzLnZhbHVlID0gcmVzcG9uc2U7XG5cdFx0XHRcdFx0dGhpcy5kb0VudGVyKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHR9XG5cblx0cHVibGljIGRvRW50ZXIoKSB7XG5cdFx0aWYgKHRoaXMudmFsdWUgJiYgdGhpcy52YWx1ZS50cmltKCkgIT09ICcnKSB7XG5cdFx0XHR0aGlzLmNoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyBmb2N1cygpOiB2b2lkIHtcblx0XHRjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuZ2V0TnVtUGFkRWxlbWVudCgpO1xuXHRcdGlmIChlbGVtZW50KSB7XG5cdFx0XHRlbGVtZW50LmZvY3VzKCk7XG5cdFx0fVxuXHR9XG5cblxuXHRwdWJsaWMgYmx1cigpOiB2b2lkIHtcblx0XHRjb25zdCBlbGVtZW50OiBIVE1MRWxlbWVudCA9IHRoaXMuZ2V0TnVtUGFkRWxlbWVudCgpO1xuXHRcdGlmIChlbGVtZW50KSB7XG5cdFx0XHRlbGVtZW50LmJsdXIoKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGdldE51bVBhZEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuXHRcdHJldHVybiB0aGlzLmlzUGFzc3dvcmQgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbnVtcGFkZGlhbG9nUHdkJykgOiBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbnVtcGFkZGlhbG9nJyk7XG5cdH1cblxuXHRwdWJsaWMgZG9TZWxlY3RWYWx1ZSgpIHtcblx0XHRpZiAodGhpcy5vbkNsaWNrU2VsZWN0VmFsdWUpIHtcblx0XHRcdHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcblx0XHR9XG5cdH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBzbGFiLW51bXBhZC1jb250YWluZXJcIj5cbiAgICA8aW5wdXQgI2lucHV0ICpuZ0lmPVwiaXNQYXNzd29yZFwiIChjbGljayk9XCJkb1NlbGVjdFZhbHVlKClcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwibnVtcGFkZGlhbG9nUHdkXCIgdHlwZT1cInBhc3N3b3JkXCIgbmFtZT1cIm51bXBhZGRpYWxvZ1wiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFthdXRvRm9jdXNdPVwiYXV0b2ZvY3VzXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChrZXl1cC5lbnRlcik9XCJkb0VudGVyKClcIj5cbiAgICA8aW5wdXQgI2lucHV0ICpuZ0lmPVwiIWlzUGFzc3dvcmRcIiAoY2xpY2spPVwiZG9TZWxlY3RWYWx1ZSgpXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cIm51bXBhZGRpYWxvZ1wiIHR5cGU9XCJ0ZXh0XCIgbmFtZT1cIm51bXBhZGRpYWxvZ1wiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFthdXRvRm9jdXNdPVwiYXV0b2ZvY3VzXCIgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiIChrZXl1cC5lbnRlcik9XCJkb0VudGVyKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAtYXBwZW5kXCI+XG4gICAgICAgIDxidXR0b24gaWQ9XCJzaG93RGlhbG9nQnV0dG9uXCIgY2xhc3M9XCJidG4gcHQtMCBwYi0wXCIgdHlwZT1cImJ1dHRvblwiICAoY2xpY2spPVwib3Blbk51bVBhZERpYWxvZygpXCI+PGkgY2xhc3M9XCJpY29uLW51bXBhZFwiPjwvaT48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19