enterobserver.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /**
  2. * @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
  3. * For licensing, see LICENSE.md.
  4. */
  5. 'use strict';
  6. import Observer from '../engine/view/observer/observer.js';
  7. import DomEventData from '../engine/view/observer/domeventdata.js';
  8. import KeyObserver from '../engine/view/observer/keyobserver.js';
  9. import { keyCodes } from '../utils/keyboard.js';
  10. /**
  11. * Enter observer introduce {@link engine.view.Document#enter} event.
  12. *
  13. * @memberOf enter
  14. * @extends engine.view.observer.Observer
  15. */
  16. export default class EnterObserver extends Observer {
  17. constructor( document ) {
  18. super( document );
  19. document.addObserver( KeyObserver );
  20. document.on( 'keydown', ( evt, data ) => {
  21. if ( this.isEnabled && data.keyCode == keyCodes.enter ) {
  22. document.fire( 'enter', new DomEventData( document, data.domEvent ) );
  23. }
  24. } );
  25. }
  26. /**
  27. * @inheritDoc
  28. */
  29. observe() {}
  30. }
  31. /**
  32. * Event fired when the user presses <kbd>Enter</kbd>.
  33. *
  34. * Note: This event is fired by the {@link enter.Enter enter feature}.
  35. *
  36. * @event engine.view.Document#enter
  37. * @param {engine.view.observer.DomEventData} data
  38. */