From d3fb27d1ca6f9f4a9e96197b25b9f1f130c4d7e9 Mon Sep 17 00:00:00 2001 From: colfin-96 Date: Fri, 10 Jan 2025 01:15:50 +0100 Subject: [PATCH] Refactor arrow key handling in toolbar and picker components for improved readability --- packages/quill/src/modules/toolbar.ts | 11 ++++------- packages/quill/src/ui/picker.ts | 7 ++----- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/packages/quill/src/modules/toolbar.ts b/packages/quill/src/modules/toolbar.ts index b522925c6b..25091592d7 100644 --- a/packages/quill/src/modules/toolbar.ts +++ b/packages/quill/src/modules/toolbar.ts @@ -153,12 +153,9 @@ class Toolbar extends Module { var target = e.currentTarget; if (!target) return; - switch (e.key) { - case 'ArrowLeft': - case 'ArrowRight': + if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') { this.updateTabIndexes(target, e.key); - break; - } + } } updateTabIndexes(target: EventTarget, key: string) { @@ -166,14 +163,14 @@ class Toolbar extends Module { const currentItem = this.controls[currentIndex][1]; currentItem.tabIndex = -1; - let nextIndex; + let nextIndex: number | null = null; if (key === 'ArrowLeft') { nextIndex = currentIndex === 0 ? this.controls.length - 1 : currentIndex - 1; } else if (key === 'ArrowRight') { nextIndex = currentIndex === this.controls.length - 1 ? 0 : currentIndex + 1; } - if (nextIndex === undefined) return; + if (nextIndex === null) return; const nextItem = this.controls[nextIndex][1]; if (nextItem.tagName === 'SELECT') { const qlPickerLabel = nextItem.previousElementSibling?.querySelectorAll('.ql-picker-label')[0]; diff --git a/packages/quill/src/ui/picker.ts b/packages/quill/src/ui/picker.ts index 4f6d6a2c48..5ba6390d09 100644 --- a/packages/quill/src/ui/picker.ts +++ b/packages/quill/src/ui/picker.ts @@ -129,12 +129,9 @@ class Picker { var target = e.currentTarget; if (!target) return; - switch (e.key) { - case 'ArrowLeft': - case 'ArrowRight': + if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') { this.updateTabIndexes(target, e.key); - break; - } + } } updateTabIndexes(target: EventTarget, key: string) {