UNPKG

yyzone

Version:

yyzone vue components and utils

29 lines (27 loc) 1.24 kB
import { findComponentsDownward } from '../utils/assist' export default { methods: { handleKeydown(event) { if (this.closeable) { const $Dialogs = findComponentsDownward(this.$root, 'YYDialog').filter(item => item.$props.value) const $Modals = findComponentsDownward(this.$root, 'YYModal').filter(item => item.$props.value) const $Selects = findComponentsDownward(this.$root, 'YYSelectMember').filter(item => item.$props.value) const $TopWindow = [...$Dialogs, ...$Modals, ...$Selects].sort((a, b) => { return a.$data.transferIndex < b.$data.transferIndex ? 1 : -1 })[0] if (event.keyCode === 27) { event.preventDefault() setTimeout(() => { $TopWindow.closeable && $TopWindow.handleCancel() }, 0) } if ((event.metaKey || event.ctrlKey) && event.keyCode === 13) { event.preventDefault() setTimeout(() => { $TopWindow.handleOk() }, 0) } } } } }