enterobserver.js 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  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 { keyCodes } from '../utils/keyboard.js';
  9. /**
  10. * Enter observer introduce {@link engine.view.Document#enter} event.
  11. *
  12. * @memberOf enter
  13. * @extends engine.view.observer.Observer
  14. */
  15. export default class EnterObserver extends Observer {
  16. constructor( document ) {
  17. super( document );
  18. document.on( 'keydown', ( evt, data ) => {
  19. if ( this.isEnabled && data.keyCode == keyCodes.enter ) {
  20. document.fire( 'enter', new DomEventData( document, data.domEvent ) );
  21. }
  22. } );
  23. }
  24. /**
  25. * @inheritDoc
  26. */
  27. observe() {}
  28. }
  29. /**
  30. * Event fired when the user presses <kbd>Enter</kbd>.
  31. *
  32. * Note: This event is fired by the {@link enter.Enter enter feature}.
  33. *
  34. * @event engine.view.Document#enter
  35. * @param {engine.view.observer.DomEventData} data
  36. */