8
0

mouseobserver.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /**
  2. * @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
  4. */
  5. /**
  6. * @module engine/view/observer/mouseobserver
  7. */
  8. import DomEventObserver from './domeventobserver';
  9. /**
  10. * Mouse events observer.
  11. *
  12. * Note that this observer is not available by default. To make it available it needs to be added to
  13. * {@link module:engine/view/view~View} by {@link module:engine/view/view~View#addObserver} method.
  14. *
  15. * @extends module:engine/view/observer/domeventobserver~DomEventObserver
  16. */
  17. export default class MouseObserver extends DomEventObserver {
  18. constructor( view ) {
  19. super( view );
  20. // TODO: either enhance or new classes
  21. this.domEventType = [ 'mousedown', 'mousemove', 'mouseup', 'mouseleave' ];
  22. }
  23. onDomEvent( domEvent ) {
  24. this.fire( domEvent.type, domEvent );
  25. }
  26. }
  27. /**
  28. * Fired when mouse button is pressed down on one of the editables.
  29. *
  30. * Introduced by {@link module:engine/view/observer/mouseobserver~MouseObserver}.
  31. *
  32. * Note that this event is not available by default. To make it available {@link module:engine/view/observer/mouseobserver~MouseObserver}
  33. * needs to be added to {@link module:engine/view/view~View} by a {@link module:engine/view/view~View#addObserver} method.
  34. *
  35. * @see module:engine/view/observer/mouseobserver~MouseObserver
  36. * @event module:engine/view/document~Document#event:mousedown
  37. * @param {module:engine/view/observer/domeventdata~DomEventData} data Event data.
  38. */