From ba94985e39225b72e0aee50bcc13eef1c900c421 Mon Sep 17 00:00:00 2001 From: SavageCore Date: Fri, 1 Dec 2023 02:16:44 +0000 Subject: [PATCH] Clear the correct button when right-clicking --- src/components/keypad/index.spec.ts | 14 +++++++++++++- src/components/keypad/index.svelte | 16 ++++++++++++++-- src/components/keypad/number/index.svelte | 3 ++- 3 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/components/keypad/index.spec.ts b/src/components/keypad/index.spec.ts index fa3d173..fae52e9 100644 --- a/src/components/keypad/index.spec.ts +++ b/src/components/keypad/index.spec.ts @@ -423,7 +423,7 @@ describe('Component', () => { } }); - it('should clear a number if right clicked', async () => { + it('should delete a number if right clicked', async () => { const buttons = [ { number: '0', button: zeroButton }, { number: '1', button: oneButton }, @@ -446,6 +446,18 @@ describe('Component', () => { } }); + it('should delete a number if right clicked out of sequence', async () => { + await fireEvent.click(oneButton); + await fireEvent.click(twoButton); + await fireEvent.click(threeButton); + + expect(display.textContent).toBe(`123*`); + + await fireEvent.contextMenu(twoButton); + + expect(display.textContent).toBe(`13**`); + }); + it('should delete a digit when Backspace is typed', async () => { await fireEvent.keyDown(document.body, { key: '1' }); expect(display.textContent).toBe('1***'); diff --git a/src/components/keypad/index.svelte b/src/components/keypad/index.svelte index 40b4a9b..ec8000c 100644 --- a/src/components/keypad/index.svelte +++ b/src/components/keypad/index.svelte @@ -197,6 +197,18 @@ params.delete('code'); window.history.replaceState({}, '', `${location.pathname}?${params}`); }; + + const clearNumber = (number: number) => { + toggleButton(number.toString()); + pressedNumbers.update((numbers) => numbers.filter((n) => n !== number)); + + combinations = []; + currentCombination = 0; + + if ($pressedNumbers.length === 0) { + clearKeyPad(); + } + };
@@ -222,7 +234,7 @@ {#each [[1, 2, 3], [4, 5, 6], [7, 8, 9]] as row}
{#each row as number} - + {/each}
{/each} @@ -234,7 +246,7 @@ > - +