ckeditor5-image-upload-base64
Version:
The development environment of CKEditor 5 – the best browser-based rich text editor.
39 lines (30 loc) • 871 B
JavaScript
/**
* @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 word-count/utils
*/
/**
* Returns a plain text representation of an element and its children.
*
* @param {module:engine/model/element~Element} element
* @returns {String} Plain text representing the model's data.
*/
export function modelElementToPlainText( element ) {
if ( element.is( '$text' ) || element.is( '$textProxy' ) ) {
return element.data;
}
let text = '';
let prev = null;
for ( const child of element.getChildren() ) {
const childText = modelElementToPlainText( child );
// If last block was finish, start from new line.
if ( prev && prev.is( 'element' ) ) {
text += '\n';
}
text += childText;
prev = child;
}
return text;
}