Преглед на файлове

Add paste handler stub to TableClipboard plugin.

Maciej Gołaszewski преди 5 години
родител
ревизия
6f7ba10a51
променени са 1 файла, в които са добавени 23 реда и са изтрити 0 реда
  1. 23 0
      packages/ckeditor5-table/src/tableclipboard.js

+ 23 - 0
packages/ckeditor5-table/src/tableclipboard.js

@@ -40,6 +40,7 @@ export default class TableClipboard extends Plugin {
 
 		this.listenTo( viewDocument, 'copy', ( evt, data ) => this._onCopyCut( evt, data ) );
 		this.listenTo( viewDocument, 'cut', ( evt, data ) => this._onCopyCut( evt, data ) );
+		this.listenTo( viewDocument, 'paste', ( evt, data ) => this._onPaste( evt, data ) );
 	}
 
 	/**
@@ -74,4 +75,26 @@ export default class TableClipboard extends Plugin {
 			method: evt.name
 		} );
 	}
+
+	/**
+	 * Handles "paste" event over a table.
+	 *
+	 * @private
+	 * @param {module:utils/eventinfo~EventInfo} evt An object containing information about the handled event.
+	 * @param {Object} data Clipboard event data.
+	 */
+	_onPaste( evt, data ) {
+		if ( this.editor.isReadOnly ) {
+			return;
+		}
+
+		const tableSelection = this.editor.plugins.get( 'TableSelection' );
+
+		if ( !tableSelection.getSelectedTableCells() ) {
+			return;
+		}
+
+		data.preventDefault();
+		evt.stop();
+	}
 }