mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-06 08:00:05 +00:00
28 lines
569 B
TypeScript
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
|
|
}
|
|
}
|