ソースを参照

Used EditorUI as an InlineEditorUI parent class.

Oskar Wróbel 7 年 前
コミット
2f124d8c1f

+ 5 - 34
packages/ckeditor5-editor-inline/src/inlineeditorui.js

@@ -7,43 +7,21 @@
  * @module editor-inline/inlineeditorui
  */
 
-import ComponentFactory from '@ckeditor/ckeditor5-ui/src/componentfactory';
-import FocusTracker from '@ckeditor/ckeditor5-utils/src/focustracker';
+import EditorUI from '@ckeditor/ckeditor5-core/src/editor/editorui';
 import enableToolbarKeyboardFocus from '@ckeditor/ckeditor5-ui/src/toolbar/enabletoolbarkeyboardfocus';
 import normalizeToolbarConfig from '@ckeditor/ckeditor5-ui/src/toolbar/normalizetoolbarconfig';
 
 /**
  * The inline editor UI class.
  *
- * @implements module:core/editor/editorui~EditorUI
+ * @extends module:core/editor/editorui~EditorUI
  */
-export default class InlineEditorUI {
+export default class InlineEditorUI extends EditorUI {
 	/**
-	 * Creates an instance of the editor UI class.
-	 *
-	 * @param {module:core/editor/editor~Editor} editor The editor instance.
-	 * @param {module:ui/editorui/editoruiview~EditorUIView} view The view of the UI.
+	 * @inheritDoc
 	 */
 	constructor( editor, view ) {
-		/**
-		 * @inheritDoc
-		 */
-		this.editor = editor;
-
-		/**
-		 * @inheritDoc
-		 */
-		this.view = view;
-
-		/**
-		 * @inheritDoc
-		 */
-		this.componentFactory = new ComponentFactory( editor );
-
-		/**
-		 * @inheritDoc
-		 */
-		this.focusTracker = new FocusTracker();
+		super( editor, view );
 
 		/**
 		 * A normalized `config.toolbar` object.
@@ -103,11 +81,4 @@ export default class InlineEditorUI {
 			toolbar: view.toolbar
 		} );
 	}
-
-	/**
-	 * Destroys the UI.
-	 */
-	destroy() {
-		this.view.destroy();
-	}
 }

+ 5 - 19
packages/ckeditor5-editor-inline/tests/inlineeditorui.js

@@ -5,15 +5,13 @@
 
 /* globals document, Event */
 
-import ComponentFactory from '@ckeditor/ckeditor5-ui/src/componentfactory';
 import View from '@ckeditor/ckeditor5-ui/src/view';
 
 import InlineEditorUI from '../src/inlineeditorui';
+import EditorUI from '@ckeditor/ckeditor5-core/src/editor/editorui';
 import InlineEditorUIView from '../src/inlineeditoruiview';
 import VirtualTestEditor from '@ckeditor/ckeditor5-core/tests/_utils/virtualtesteditor';
 
-import FocusTracker from '@ckeditor/ckeditor5-utils/src/focustracker';
-
 import { keyCodes } from '@ckeditor/ckeditor5-utils/src/keyboard';
 import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
 import utils from '@ckeditor/ckeditor5-utils/tests/_utils/utils';
@@ -41,20 +39,8 @@ describe( 'InlineEditorUI', () => {
 	} );
 
 	describe( 'constructor()', () => {
-		it( 'sets #editor', () => {
-			expect( ui.editor ).to.equal( editor );
-		} );
-
-		it( 'sets #view', () => {
-			expect( ui.view ).to.equal( view );
-		} );
-
-		it( 'creates #componentFactory factory', () => {
-			expect( ui.componentFactory ).to.be.instanceOf( ComponentFactory );
-		} );
-
-		it( 'creates #focusTracker', () => {
-			expect( ui.focusTracker ).to.be.instanceOf( FocusTracker );
+		it( 'extends EditorUI', () => {
+			expect( ui ).to.instanceof( EditorUI );
 		} );
 	} );
 
@@ -214,8 +200,8 @@ describe( 'InlineEditorUI', () => {
 	} );
 
 	describe( 'destroy()', () => {
-		it( 'destroys the #view', () => {
-			const spy = sinon.spy( view, 'destroy' );
+		it( 'calls EditorUI#destroy', () => {
+			const spy = testUtils.sinon.spy( EditorUI.prototype, 'destroy' );
 
 			return editor.destroy()
 				.then( () => {