Repositorio del curso CCOM4030 el semestre B91 del proyecto Artesanías con el Instituto de Cultura

Lifecycle.ts 694B

1234567891011121314151617181920212223242526272829
  1. /**
  2. * Copyright (c) 2018 The xterm.js authors. All rights reserved.
  3. * @license MIT
  4. */
  5. import { IDisposable } from 'common/Types';
  6. /**
  7. * Adds a disposable listener to a node in the DOM, returning the disposable.
  8. * @param type The event type.
  9. * @param handler The handler for the listener.
  10. */
  11. export function addDisposableDomListener(
  12. node: Element | Window | Document,
  13. type: string,
  14. handler: (e: any) => void,
  15. useCapture?: boolean
  16. ): IDisposable {
  17. node.addEventListener(type, handler, useCapture);
  18. return {
  19. dispose: () => {
  20. if (!handler) {
  21. // Already disposed
  22. return;
  23. }
  24. node.removeEventListener(type, handler, useCapture);
  25. }
  26. };
  27. }