ソースを参照

Deprecate `ClassicEditorUIView#editableElement`.

Krzysztof Krztoń 7 年 前
コミット
1d6dd00a14

+ 1 - 1
packages/ckeditor5-editor-classic/src/classiceditor.js

@@ -201,7 +201,7 @@ export default class ClassicEditor extends Editor {
 
 						editor.fire( 'uiReady' );
 					} )
-					.then( () => editor.editing.view.attachDomRoot( editor.ui.view.editableElement ) )
+					.then( () => editor.editing.view.attachDomRoot( editor.ui.view.editable.editableElement ) )
 					.then( () => {
 						const initialData = isElement( sourceElementOrData ) ?
 							getDataFromElement( sourceElementOrData ) :

+ 1 - 1
packages/ckeditor5-editor-classic/src/classiceditorui.js

@@ -62,7 +62,7 @@ export default class ClassicEditorUI extends EditorUI {
 		view.editable.bind( 'isFocused' ).to( editor.editing.view.document );
 		view.editable.name = editingRoot.rootName;
 
-		this.focusTracker.add( this.view.editableElement );
+		this.focusTracker.add( this.view.editable.editableElement );
 
 		this.view.toolbar.fillFromConfig( this._toolbarConfig.items, this.componentFactory );
 

+ 13 - 2
packages/ckeditor5-editor-classic/src/classiceditoruiview.js

@@ -12,6 +12,8 @@ import InlineEditableUIView from '@ckeditor/ckeditor5-ui/src/editableui/inline/i
 import StickyPanelView from '@ckeditor/ckeditor5-ui/src/panel/sticky/stickypanelview';
 import ToolbarView from '@ckeditor/ckeditor5-ui/src/toolbar/toolbarview';
 
+import log from '@ckeditor/ckeditor5-utils/src/log';
+
 import '../theme/classiceditor.css';
 
 /**
@@ -69,9 +71,18 @@ export default class ClassicEditorUIView extends BoxedEditorUIView {
 	}
 
 	/**
-	 * @inheritDoc
+	 * **Deprecated** since `v12.0.0`. The {@link module:ui/editableui/editableuiview~EditableUIView#editableElement
+	 * `EditableUIView editableElement`} could be used instead.
+	 *
+	 * The element which is the main editable element (usually the one with `contentEditable="true"`).
+	 *
+	 * @deprecated v12.0.0 The {@link module:ui/editableui/editableuiview~EditableUIView#editableElement
+	 * `EditableUIView editableElement`} could be used instead.
+	 * @readonly
+	 * @member {HTMLElement} #editableElement
 	 */
 	get editableElement() {
-		return this.editable.element;
+		log.warn( 'deprecated-ui-view-editableElement: The ClassicEditorUIView#editableElement property is deprecated.' );
+		return this.editable.editableElement;
 	}
 }

+ 7 - 0
packages/ckeditor5-editor-classic/tests/classiceditoruiview.js

@@ -11,9 +11,14 @@ import ToolbarView from '@ckeditor/ckeditor5-ui/src/toolbar/toolbarview';
 import InlineEditableUIView from '@ckeditor/ckeditor5-ui/src/editableui/inline/inlineeditableuiview';
 import Locale from '@ckeditor/ckeditor5-utils/src/locale';
 
+import testUtils from '@ckeditor/ckeditor5-core/tests/_utils/utils';
+import log from '@ckeditor/ckeditor5-utils/src/log';
+
 describe( 'ClassicEditorUIView', () => {
 	let locale, view;
 
+	testUtils.createSinonSandbox();
+
 	beforeEach( () => {
 		locale = new Locale( 'en' );
 		view = new ClassicEditorUIView( locale );
@@ -70,6 +75,8 @@ describe( 'ClassicEditorUIView', () => {
 
 	describe( 'editableElement', () => {
 		it( 'returns editable\'s view element', () => {
+			testUtils.sinon.stub( log, 'warn' ).callsFake( () => {} );
+
 			document.body.appendChild( view.element );
 
 			view.stickyPanel.limiterElement = view.element;