Files
ComfyUI_frontend/src/utils/mouseDownUtil.ts
pythongosssss 62f3ba0689 V3 UI - Tabs & Menu rework (#4374)
Co-authored-by: github-actions <github-actions@github.com>
2025-07-24 00:09:12 -07:00

28 lines
569 B
TypeScript

import { useEventListener } from '@vueuse/core'
export const whileMouseDown = (
elementOrEvent: HTMLElement | Event,
callback: (iteration: number) => void,
interval: number = 30
) => {
const element =
elementOrEvent instanceof HTMLElement
? elementOrEvent
: (elementOrEvent.target as HTMLElement)
let iteration = 0
const intervalId = setInterval(() => {
callback(iteration++)
}, interval)
const dispose = useEventListener(element, 'mouseup', () => {
clearInterval(intervalId)
dispose()
})
return {
dispose
}
}