diff --git a/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.html b/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.html index 46b7068..81f3bed 100755 --- a/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.html +++ b/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.html @@ -26,7 +26,7 @@ > shash ENTER - + diff --git a/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.ts b/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.ts index 7b9356c..4ed1d5d 100755 --- a/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.ts +++ b/btc-UI/src/app/components/touch-pad-menu/touch-pad-menu.component.ts @@ -1241,4 +1241,42 @@ printTicket() { closeLimitPopup() { this.showLimitPopup = false; } + copyNumbers() { + if (!this.selectedLabel) { + console.warn('Please select a label before copying numbers.'); + return; + } + + const selections = this.selectionService.getSelections(); + if (selections.length === 0) { + console.warn('No previous rows to copy from.'); + return; + } + + // Copy numbers from the most recent finalized row + const lastRow = selections[selections.length - 1]; + const numbersToCopy = [...lastRow.numbers]; + + // Apply the copied numbers directly + this.selectedNumbers = numbersToCopy; + + // Validate against actual runners + const validNumbers = this.selectedNumbers.filter(num => { + if (typeof num === 'string') return num === 'F' || num === '-'; + return this.actualRunners.has(num); + }); + + this.selectedNumbers = validNumbers; + + // Update the current row in the selection service + this.selectionService.updatePartial({ + label: this.selectedLabel, + numbers: [...this.selectedNumbers], + isBoxed: this.isBoxed, + value: parseFloat(this.padValue) || 0 + }); + + this.updateCanPrint(); +} + } \ No newline at end of file