MCPcopy Create free account
hub / github.com/editablejs/editable / handleAndDispatchCustomEvent

Function handleAndDispatchCustomEvent

packages/ui/src/dismissable-layer.tsx:323–338  ·  view source on GitHub ↗
(
  name: string,
  handler: ((event: E) => void) | undefined,
  detail: { originalEvent: OriginalEvent } & (E extends CustomEvent<infer D> ? D : never),
  { discrete }: { discrete: boolean },
)

Source from the content-addressed store, hash-verified

321}
322
323function handleAndDispatchCustomEvent<E extends CustomEvent, OriginalEvent extends Event>(
324 name: string,
325 handler: ((event: E) => void) | undefined,
326 detail: { originalEvent: OriginalEvent } & (E extends CustomEvent<infer D> ? D : never),
327 { discrete }: { discrete: boolean },
328) {
329 const target = detail.originalEvent.target
330 const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail })
331 if (handler) target.addEventListener(name, handler as EventListener, { once: true })
332
333 if (discrete) {
334 dispatchDiscreteCustomEvent(target, event)
335 } else {
336 target.dispatchEvent(event)
337 }
338}
339
340export { DismissableLayer, DismissableLayerBranch }

Calls 1

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…