focusobserver.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /**
  2. * @license Copyright (c) 2003-2015, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. 'use strict';
  6. import DomEventObserver from './domeventobserver.js';
  7. /**
  8. * {@link core.treeView.TreeView#focus Focus} and {@link core.treeView.TreeView#blur blur} events observer.
  9. *
  10. * @memberOf core.treeView.observer
  11. * @extends core.treeView.observer.DomEventObserver
  12. */
  13. export default class FocusObserver extends DomEventObserver {
  14. constructor( treeView ) {
  15. super( treeView );
  16. this.domEventType = [ 'focus', 'blur' ];
  17. }
  18. onDomEvent( domEvt ) {
  19. const treeView = this.treeView;
  20. this.fire( domEvt.type, {
  21. get viewTarget() {
  22. return treeView.domConverter.getCorrespondingViewElement( domEvt.target );
  23. },
  24. domTarget: domEvt.target
  25. } );
  26. }
  27. }
  28. /**
  29. * Fired when one of the editables gets focus.
  30. *
  31. * @event core.treeView.TreeView#focus
  32. * @param {core.treeView.Element} data.viewTarget The event view target (editable element that was focused).
  33. * @param {HTMLElement} data.domTarget The event DOM target (editable element that was focused).
  34. */
  35. /**
  36. * Fired when one of the editables loses focus.
  37. *
  38. * @event core.treeView.TreeView#blur
  39. * @param {core.treeView.Element} data.viewTarget The event view target (editable element that was blurred).
  40. * @param {HTMLElement} data.domTarget The event DOM target (editable element that was blurred).
  41. */