mirror of
https://github.com/element-plus/element-plus.git
synced 2026-03-13 07:51:17 +08:00
* refactor(components): popper composables - Refactor popper composables * updates * updates for tooltip * Updates for popper. TODO: fix controlled tooltip animation * Fix controlled mode popper animation issue * Add new feature for customizing tooltip theme * Fix popover and popconfirm error * - Add Collection component for wrapping a collection of component - Add FocusTrap component for trap focus for popups - Add RovingFocus component for roving focus component type - Adjust dropdown component based on these newly added components - Add popper-trigger component for placing the trigger - TODO: Finish current dropdown component, and all component's tests plus documents * Refactor popper * Complete organizing popper * Almost finish dropdown * Update popper tests * update only-child test * Finish focus trap component test * Finish tooltip content test * Finish tooltip trigger tests * Finish tooltip tests * finish tests for Collection and RovingFocusGroup * Fix test cases for timeselect & select & popover * Fix popover, popconfirm, menu bug and test cases * Fix select-v2 test error caused by updating popper * Fix date-picker test issue for updating popper * fix test cases * Fix eslint * Rebase dev & fix tests * Remove unused code
22 lines
530 B
TypeScript
22 lines
530 B
TypeScript
import { unref } from 'vue'
|
|
import { isArray } from '@element-plus/utils/util'
|
|
import type { Ref } from 'vue'
|
|
import type { Trigger } from './tooltip'
|
|
|
|
export const isTriggerType = (trigger: Trigger | Trigger[], type: Trigger) => {
|
|
if (isArray(trigger)) {
|
|
return trigger.includes(type)
|
|
}
|
|
return trigger === type
|
|
}
|
|
|
|
export const whenTrigger = (
|
|
trigger: Ref<Trigger | Trigger[]>,
|
|
type: Trigger,
|
|
handler: (e: Event) => void
|
|
) => {
|
|
return (e: Event) => {
|
|
isTriggerType(unref(trigger), type) && handler(e)
|
|
}
|
|
}
|