8
0

selectionrendererobserver.js 1007 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /**
  2. * @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. /**
  6. * @module engine/view/observer/selectionrendererobserver
  7. */
  8. import Observer from './observer';
  9. /**
  10. * @extends module:engine/view/observer/domeventobserver~DomEventObserver
  11. */
  12. export default class SelectionRendererObserver extends Observer {
  13. constructor( view ) {
  14. super( view );
  15. const document = this.document;
  16. // TODO: althought this works it lacks the RENDERER API (or view API as renderer is _private).
  17. document.on( 'blur', () => {
  18. view._renderer.renderSelection = false;
  19. } );
  20. document.on( 'mousemove', ( evt, domEvt ) => {
  21. view._renderer.renderSelection = domEvt.domEvent.buttons != 1;
  22. } );
  23. document.on( 'mouseup', () => {
  24. view._renderer.renderSelection = true;
  25. } );
  26. document.on( 'mouseleave', () => {
  27. view._renderer.renderSelection = false;
  28. } );
  29. }
  30. observe() {
  31. // TODO: dummy method - might need better solution.
  32. }
  33. }