widget.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. import * as dom from '../dom.js';
  6. import { StandardKeyboardEvent } from '../keyboardEvent.js';
  7. import { StandardMouseEvent } from '../mouseEvent.js';
  8. import { Gesture } from '../touch.js';
  9. import { Disposable } from '../../common/lifecycle.js';
  10. export class Widget extends Disposable {
  11. onclick(domNode, listener) {
  12. this._register(dom.addDisposableListener(domNode, dom.EventType.CLICK, (e) => listener(new StandardMouseEvent(e))));
  13. }
  14. onmousedown(domNode, listener) {
  15. this._register(dom.addDisposableListener(domNode, dom.EventType.MOUSE_DOWN, (e) => listener(new StandardMouseEvent(e))));
  16. }
  17. onmouseover(domNode, listener) {
  18. this._register(dom.addDisposableListener(domNode, dom.EventType.MOUSE_OVER, (e) => listener(new StandardMouseEvent(e))));
  19. }
  20. onnonbubblingmouseout(domNode, listener) {
  21. this._register(dom.addDisposableNonBubblingMouseOutListener(domNode, (e) => listener(new StandardMouseEvent(e))));
  22. }
  23. onkeydown(domNode, listener) {
  24. this._register(dom.addDisposableListener(domNode, dom.EventType.KEY_DOWN, (e) => listener(new StandardKeyboardEvent(e))));
  25. }
  26. onkeyup(domNode, listener) {
  27. this._register(dom.addDisposableListener(domNode, dom.EventType.KEY_UP, (e) => listener(new StandardKeyboardEvent(e))));
  28. }
  29. oninput(domNode, listener) {
  30. this._register(dom.addDisposableListener(domNode, dom.EventType.INPUT, listener));
  31. }
  32. onblur(domNode, listener) {
  33. this._register(dom.addDisposableListener(domNode, dom.EventType.BLUR, listener));
  34. }
  35. onfocus(domNode, listener) {
  36. this._register(dom.addDisposableListener(domNode, dom.EventType.FOCUS, listener));
  37. }
  38. ignoreGesture(domNode) {
  39. Gesture.ignoreTarget(domNode);
  40. }
  41. }