UNPKG

ckeditor5-image-upload-base64

Version:

The development environment of CKEditor 5 – the best browser-based rich text editor.

82 lines (74 loc) 2.88 kB
/** * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license */ /** * @module core/editor/utils/dataapimixin */ /** * Implementation of the {@link module:core/editor/utils/dataapimixin~DataApi}. * * @mixin DataApiMixin * @implements module:core/editor/utils/dataapimixin~DataApi */ const DataApiMixin = { /** * @inheritDoc */ setData( data ) { this.data.set( data ); }, /** * @inheritDoc */ getData( options ) { return this.data.get( options ); } }; export default DataApiMixin; /** * Interface defining editor methods for setting and getting data to and from the editor's main root element * using the {@link module:core/editor/editor~Editor#data data pipeline}. * * This interface is not a part of the {@link module:core/editor/editor~Editor} class because one may want to implement * an editor with multiple root elements, in which case the methods for setting and getting data will need to be implemented * differently. * * @interface DataApi */ /** * Sets the data in the editor. * * editor.setData( '<p>This is editor!</p>' ); * * By default the editor accepts HTML. This can be controlled by injecting a different data processor. * See the {@glink features/markdown Markdown output} guide for more details. * * Note: Not only is the format of the data configurable, but the type of the `setData()`'s parameter does not * have to be a string either. You can e.g. accept an object or a DOM `DocumentFragment` if you consider this * the right format for you. * * @method #setData * @param {String} data Input data. */ /** * Gets the data from the editor. * * editor.getData(); // -> '<p>This is editor!</p>' * * By default the editor outputs HTML. This can be controlled by injecting a different data processor. * See the {@glink features/markdown Markdown output} guide for more details. * * Note: Not only is the format of the data configurable, but the type of the `getData()`'s return value does not * have to be a string either. You can e.g. return an object or a DOM `DocumentFragment` if you consider this * the right format for you. * * @method #getData * @param {Object} [options] Additional configuration for the retrieved data. * Editor features may introduce more configuration options that can be set through this parameter. * @param {String} [options.rootName='main'] Root name. * @param {String} [options.trim='empty'] Whether returned data should be trimmed. This option is set to `'empty'` by default, * which means that whenever editor content is considered empty, an empty string is returned. To turn off trimming * use `'none'`. In such cases exact content will be returned (for example `'<p>&nbsp;</p>'` for an empty editor). * @returns {String} Output data. */