From 44064c5e5c5fe61ebf4cdc7c9f2406e105c5853d Mon Sep 17 00:00:00 2001 From: tugcekucukoglu Date: Thu, 20 Feb 2025 11:13:20 +0300 Subject: [PATCH] Refactor #7062 --- .../primevue/src/datepicker/DatePicker.vue | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/packages/primevue/src/datepicker/DatePicker.vue b/packages/primevue/src/datepicker/DatePicker.vue index 408fba853..a161a14c4 100755 --- a/packages/primevue/src/datepicker/DatePicker.vue +++ b/packages/primevue/src/datepicker/DatePicker.vue @@ -2568,22 +2568,23 @@ export default { if (this.timeOnly) { focusableElements[0].focus(); } else { - let spanIndex = null; + let elementIndex = focusableElements.findIndex((el) => el.tagName === 'SPAN'); - for (let i = 0; i < focusableElements.length; i++) { - if (focusableElements[i].tagName === 'SPAN') { - spanIndex = i; - break; - } else if (focusableElements[i].tagName === 'BUTTON') { - spanIndex = i; - break; - } + if (elementIndex === -1) { + elementIndex = focusableElements.findIndex((el) => el.tagName === 'BUTTON'); } - focusableElements[spanIndex].focus(); + if (elementIndex !== -1) { + focusableElements[elementIndex].focus(); + } else { + focusableElements[0].focus(); + } } - } else if (focusedIndex === focusableElements.length - 1) focusableElements[0].focus(); - else focusableElements[focusedIndex + 1].focus(); + } else if (focusedIndex === focusableElements.length - 1) { + focusableElements[0].focus(); + } else { + focusableElements[focusedIndex + 1].focus(); + } } } }