8
0
Просмотр исходного кода

Move util method to editor class as static one.

Mateusz Samsel 6 лет назад
Родитель
Сommit
d7e33fd75e

+ 19 - 0
packages/ckeditor5-core/src/editor/editor.js

@@ -16,6 +16,8 @@ import DataController from '@ckeditor/ckeditor5-engine/src/controller/datacontro
 import Conversion from '@ckeditor/ckeditor5-engine/src/conversion/conversion';
 import Model from '@ckeditor/ckeditor5-engine/src/model/model';
 import EditingKeystrokeHandler from '../editingkeystrokehandler';
+import CKEditorError from '@ckeditor/ckeditor5-utils/src/ckeditorerror';
+import { isElement } from 'lodash-es';
 
 import ObservableMixin from '@ckeditor/ckeditor5-utils/src/observablemixin';
 import mix from '@ckeditor/ckeditor5-utils/src/mix';
@@ -268,6 +270,23 @@ export default class Editor {
 		this.commands.execute( ...args );
 	}
 
+	/**
+	 * Methods creates rejected promise when provided parameter is a HTML Textarea element.
+	 * It resolves in any other case.
+	 *
+	 * @param {HTMLElement|String} sourceElementOrData The DOM element that will be the source for the created editor
+	 * or the editor's initial data.
+	 * @returns {Promise}
+	 */
+	static allowedElement( sourceElementOrData ) {
+		if ( isElement( sourceElementOrData ) && sourceElementOrData.tagName.toLowerCase() === 'textarea' ) {
+			return Promise.reject(
+				new CKEditorError( 'editor-wrong-element: This type of editor cannot be initialized inside <textarea> element.' )
+			);
+		}
+		return Promise.resolve();
+	}
+
 	/**
 	 * Creates and initializes a new editor instance.
 	 *

+ 0 - 27
packages/ckeditor5-core/src/editor/utils/preventrunintextarea.js

@@ -1,27 +0,0 @@
-/**
- * @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
- * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
-/**
- * @module core/editor/utils/preventrunintextarea
- */
-
-import { isElement } from 'lodash-es';
-import CKEditorError from '@ckeditor/ckeditor5-utils/src/ckeditorerror';
-
-/**
- * Function returns rejected promise, when passed argument is a textarea element.
- * In any other case is returned empty resolved promise.
- *
- * @param {HTMLElement|String} sourceElementOrData The DOM element that will be the source for the created editor
- * or the editor's initial data.
- * @returns {Promise}
- */
-export default function preventRunInTextarea( someElementOrData ) {
-	if ( isElement( someElementOrData ) && someElementOrData.tagName.toLowerCase() === 'textarea' ) {
-		return Promise.reject(
-			new CKEditorError( 'editor-wrong-element: This type of editor cannot be initialised inside <textarea> element.' )
-		);
-	}
-	return Promise.resolve();
-}