{ "version": 3, "sources": ["libs/pos-shared/src/lib/components/pos2-numeric-input.component.ts"], "sourcesContent": ["import { Component, Input, Output, OnInit, EventEmitter, OnDestroy } from '@angular/core';\nimport { findByProperty } from '@proman/utils';\nimport { Subject } from '@proman/rxjs-common';\nimport { fromEvent } from '@proman/rxjs-common';\nimport { takeUntil } from '@proman/rxjs-common';\nimport { PromanButtonComponent } from '@proman/button';\nimport { CommonModule } from '@angular/common';\nimport { FlexLayoutModule } from 'ngx-flexible-layout';\n\nconst BUTTONS = [\n { name: '1', value: '1' },\n { name: '2', value: '2' },\n { name: '3', value: '3' },\n { name: '4', value: '4' },\n { name: '5', value: '5' },\n { name: '6', value: '6' },\n { name: '7', value: '7' },\n { name: '8', value: '8' },\n { name: '9', value: '9' },\n { icon: 'times', value: '-1' },\n { name: '0', value: '0' },\n];\n\n@Component({\n selector: 'pos2-numeric-input',\n standalone: true,\n imports: [\n CommonModule,\n FlexLayoutModule,\n PromanButtonComponent,\n ],\n providers: [],\n template: `\n
\n @for (button of buttons; track button) {\n \n }\n \n @if (isPoint) {\n \n } @else {\n \n }\n
\n `,\n styles: [`\n pro-btn {\n box-sizing: border-box;\n margin: 8px 2px;\n border: 1px solid #333;\n }\n `]\n})\n\n\nexport class Pos2NumericInputComponent implements OnInit, OnDestroy {\n @Input() isPoint: boolean;\n @Input() clearText: string;\n @Input() enterText: string;\n @Input() isLarge: boolean;\n @Output() onReturn: EventEmitter = new EventEmitter();\n @Output() onPoint: EventEmitter = new EventEmitter();\n @Output() onClick: EventEmitter = new EventEmitter();\n destroyed$: Subject = new Subject();\n readonly buttonFlex = 'calc(33% - 2px - 8px)';\n buttons: any[];\n\n constructor() {}\n\n ngOnInit() {\n this.buttons = BUTTONS;\n\n if (this.clearText) findByProperty(this.buttons, 'value', '-1').name = this.clearText;\n fromEvent(document, 'keydown')\n .pipe(takeUntil(this.destroyed$))\n .subscribe((event: KeyboardEvent) => {\n\n if (event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode >= 96 && event.keyCode <= 105) {\n this.onClick.emit(event.key);\n } else if (event.keyCode === 8) {\n this.onClick.emit('-1');\n } else if (event.key === '.' || event.key === ',') {\n this.onPoint.emit();\n } else if (event.key === 'Enter') {\n this.onReturn.emit();\n }\n return null;\n\n });\n }\n\n ngOnDestroy() {\n this.destroyed$.next();\n }\n\n handleClick(value: any) {\n this.onClick.emit(value);\n }\n\n handleEnter() {\n this.onReturn.emit();\n }\n\n handlePoint() {\n this.onPoint.emit();\n }\n\n\n}\n"], "mappings": "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", "names": ["i0", "\u0275\u0275elementStart", "\u0275\u0275listener", "Pos2NumericInputComponent_For_2_Template_pro_btn_onClick_0_listener", "restoredCtx", "\u0275\u0275restoreView", "_r7", "button_r3", "$implicit", "ctx_r6", "\u0275\u0275nextContext", "\u0275\u0275resetView", "handleClick", "value", "\u0275\u0275elementEnd", "\u0275\u0275property", "name", "icon", "ctx_r0", "buttonFlex", "\u0275\u0275attribute", "Pos2NumericInputComponent_Conditional_3_Template_pro_btn_onClick_0_listener", "_r9", "ctx_r8", "handlePoint", "ctx_r1", "Pos2NumericInputComponent_Conditional_4_Template_pro_btn_onClick_0_listener", "_r11", "ctx_r10", "handleEnter", "ctx_r2", "enterText", "BUTTONS", "Pos2NumericInputComponent", "constructor", "onReturn", "EventEmitter", "onPoint", "onClick", "destroyed$", "Subject", "ngOnInit", "buttons", "clearText", "findByProperty", "fromEvent", "document", "pipe", "takeUntil", "subscribe", "event", "keyCode", "emit", "key", "ngOnDestroy", "next", "selectors", "inputs", "isPoint", "isLarge", "outputs", "standalone", "features", "\u0275\u0275ProvidersFeature", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "Pos2NumericInputComponent_Template", "rf", "ctx", "\u0275\u0275repeaterCreate", "Pos2NumericInputComponent_For_2_Template", "\u0275\u0275repeaterTrackByIdentity", "\u0275\u0275template", "Pos2NumericInputComponent_Conditional_3_Template", "Pos2NumericInputComponent_Conditional_4_Template", "\u0275\u0275repeater", "\u0275\u0275advance", "\u0275\u0275conditional", "CommonModule", "FlexLayoutModule", "DefaultLayoutDirective", "DefaultFlexDirective", "PromanButtonComponent", "styles"] }