mirror of
https://gitee.com/lijingbo-2021/open-anylink-web.git
synced 2025-12-30 11:02:25 +00:00
sessionList中当没有右键选中某个session时不应该打开菜单
This commit is contained in:
@@ -814,6 +814,10 @@ const onOpenSessionMenu = (sessionId) => {
|
||||
showMenuSessionId.value = sessionId
|
||||
}
|
||||
|
||||
const onCloseSessionMenu = () => {
|
||||
showMenuSessionId.value = ''
|
||||
}
|
||||
|
||||
const onNoneSelected = () => {
|
||||
messageData.setSelectedSessionId('')
|
||||
}
|
||||
@@ -969,7 +973,11 @@ const onSendEmoji = (key) => {
|
||||
</AddOprMenu>
|
||||
</div>
|
||||
|
||||
<SessionMenu :sessionId="showMenuSessionId" @selectMenu="onSelectMenu">
|
||||
<SessionMenu
|
||||
:sessionId="showMenuSessionId"
|
||||
@selectMenu="onSelectMenu"
|
||||
@closeMenu="onCloseSessionMenu"
|
||||
>
|
||||
<div class="session-list my-scrollbar" ref="sessionListRef">
|
||||
<SessionItem
|
||||
:ref="(el) => setSessionItemRef(item.sessionId, el)"
|
||||
|
||||
@@ -4,16 +4,24 @@ import { Top, Bottom, MuteNotification, Bell, CircleClose, Edit } from '@element
|
||||
import { messageStore } from '@/stores'
|
||||
|
||||
const props = defineProps(['sessionId'])
|
||||
const emit = defineEmits(['selectMenu'])
|
||||
const emit = defineEmits(['selectMenu', 'closeMenu'])
|
||||
|
||||
const messageData = messageStore()
|
||||
|
||||
const top = computed(() => {
|
||||
return messageData.sessionList[props.sessionId].top
|
||||
if (props.sessionId) {
|
||||
return messageData.sessionList[props.sessionId].top
|
||||
} else {
|
||||
return undefined
|
||||
}
|
||||
})
|
||||
|
||||
const dnd = computed(() => {
|
||||
return messageData.sessionList[props.sessionId].dnd
|
||||
if (props.sessionId) {
|
||||
return messageData.sessionList[props.sessionId].dnd
|
||||
} else {
|
||||
return undefined
|
||||
}
|
||||
})
|
||||
|
||||
const menu = computed(() => {
|
||||
@@ -62,9 +70,13 @@ onUnmounted(() => {
|
||||
})
|
||||
|
||||
const handleSessionMenu = (e) => {
|
||||
isShowMenu.value = props.sessionId && true
|
||||
if (!isShowMenu.value) {
|
||||
return
|
||||
}
|
||||
|
||||
e.preventDefault() //阻止浏览器默认行为
|
||||
e.stopPropagation() // 阻止冒泡
|
||||
isShowMenu.value = true
|
||||
x.value = e.clientX
|
||||
y.value = e.clientY
|
||||
|
||||
@@ -84,6 +96,7 @@ const handleEscEvent = (event) => {
|
||||
|
||||
const closeMenu = () => {
|
||||
isShowMenu.value = false
|
||||
emit('closeMenu')
|
||||
}
|
||||
|
||||
const handleClick = (item) => {
|
||||
|
||||
Reference in New Issue
Block a user