mirror of
https://github.com/primefaces/primevue.git
synced 2025-05-10 17:32:36 +00:00
Fixed #729 - BUG: Calendar navigation (next, prev month) inside DataTable or OverlayPanel not working
This commit is contained in:
parent
e55f0701de
commit
a6bbdfbd53
2 changed files with 22 additions and 9 deletions
|
@ -1,7 +1,7 @@
|
|||
<template>
|
||||
<transition name="p-overlaypanel" @enter="onEnter" @leave="onLeave">
|
||||
<div class="p-overlaypanel p-component" v-if="visible" :ref="containerRef">
|
||||
<div class="p-overlaypanel-content">
|
||||
<div class="p-overlaypanel-content" @click="onContentClick">
|
||||
<slot></slot>
|
||||
</div>
|
||||
<button class="p-overlaypanel-close p-link" @click="hide" v-if="showCloseIcon" :aria-label="ariaCloseLabel" type="button" v-ripple>
|
||||
|
@ -48,6 +48,7 @@ export default {
|
|||
visible: false
|
||||
}
|
||||
},
|
||||
selfClick: false,
|
||||
target: null,
|
||||
outsideClickListener: null,
|
||||
scrollHandler: null,
|
||||
|
@ -81,6 +82,9 @@ export default {
|
|||
hide() {
|
||||
this.visible = false;
|
||||
},
|
||||
onContentClick() {
|
||||
this.selfClick = true;
|
||||
},
|
||||
onEnter() {
|
||||
this.appendContainer();
|
||||
this.alignOverlay();
|
||||
|
@ -119,9 +123,10 @@ export default {
|
|||
bindOutsideClickListener() {
|
||||
if (!this.outsideClickListener) {
|
||||
this.outsideClickListener = (event) => {
|
||||
if (this.visible && this.container && !this.container.contains(event.target) && !this.isTargetClicked(event)) {
|
||||
if (this.visible && !this.selfClick && !this.isTargetClicked(event)) {
|
||||
this.visible = false;
|
||||
}
|
||||
this.selfClick = false;
|
||||
};
|
||||
document.addEventListener('click', this.outsideClickListener);
|
||||
}
|
||||
|
@ -130,6 +135,7 @@ export default {
|
|||
if (this.outsideClickListener) {
|
||||
document.removeEventListener('click', this.outsideClickListener);
|
||||
this.outsideClickListener = null;
|
||||
this.selfClick = false;
|
||||
}
|
||||
},
|
||||
bindScrollListener() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue