Fixed #5055 - Calendar: When use with Datatable filter, the calendar would show at the bottom of the page.

This commit is contained in:
mertsincan 2024-01-21 11:56:17 +00:00
parent ae81a90b73
commit e3d9f41926
3 changed files with 11 additions and 4 deletions

View file

@ -22,12 +22,12 @@
<component :is="filterClearIconTemplate || 'FilterSlashIcon'" v-bind="getColumnPT('filterClearIcon')" />
</button>
<Portal>
<transition name="p-connected-overlay" @enter="onOverlayEnter" @leave="onOverlayLeave" @after-leave="onOverlayAfterLeave" v-bind="getColumnPT('transition')">
<transition name="p-connected-overlay" @enter="onOverlayEnter" @after-enter="onOverlayAfterEnter" @leave="onOverlayLeave" @after-leave="onOverlayAfterLeave" v-bind="getColumnPT('transition')">
<div
v-if="overlayVisible"
:ref="overlayRef"
:id="overlayId"
v-focustrap="{ autoFocus: true }"
v-focustrap
:aria-modal="overlayVisible"
role="dialog"
:class="[cx('filterOverlay'), filterMenuClass]"
@ -550,6 +550,9 @@ export default {
OverlayEventBus.on('overlay-click', this.overlayEventListener);
},
onOverlayAfterEnter() {
this.overlay?.$focustrap?.autoFocus();
},
onOverlayLeave() {
this.onOverlayHide();
},