/**
* @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md.
*/
import Feature from '../core/feature.js';
import DeleteCommand from './deletecommand.js';
import DeleteObserver from './deleteobserver.js';
/**
* The delete and backspace feature. Handles the Delete and Backspace keys in the editor.
*
* @memberOf typing
* @extends core.Feature
*/
export default class Delete extends Feature {
init() {
const editor = this.editor;
const editingView = editor.editing.view;
editingView.addObserver( DeleteObserver );
editor.commands.set( 'forwardDelete', new DeleteCommand( editor, 'forward' ) );
editor.commands.set( 'delete', new DeleteCommand( editor, 'backward' ) );
this.listenTo( editingView, 'delete', ( evt, data ) => {
editor.execute( data.direction == 'forward' ? 'forwardDelete' : 'delete' );
data.preventDefault();
} );
}
}