2018-06-17 16:07:19 +00:00
|
|
|
/**
|
|
|
|
* @license Copyright (c) 2003-2018, CKSource - Frederico Knabben. All rights reserved.
|
|
|
|
* For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
2014-04-11 20:07:18 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
( function() {
|
|
|
|
/**
|
|
|
|
* A lightweight representation of HTML text.
|
|
|
|
*
|
|
|
|
* @class
|
|
|
|
* @extends CKEDITOR.htmlParser.node
|
|
|
|
* @constructor Creates a text class instance.
|
|
|
|
* @param {String} value The text node value.
|
|
|
|
*/
|
|
|
|
CKEDITOR.htmlParser.text = function( value ) {
|
|
|
|
/**
|
|
|
|
* The text value.
|
|
|
|
*
|
|
|
|
* @property {String}
|
|
|
|
*/
|
|
|
|
this.value = value;
|
|
|
|
|
|
|
|
/** @private */
|
|
|
|
this._ = {
|
|
|
|
isBlockLike: false
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
CKEDITOR.htmlParser.text.prototype = CKEDITOR.tools.extend( new CKEDITOR.htmlParser.node(), {
|
|
|
|
/**
|
|
|
|
* The node type. This is a constant value set to {@link CKEDITOR#NODE_TEXT}.
|
|
|
|
*
|
|
|
|
* @readonly
|
|
|
|
* @property {Number} [=CKEDITOR.NODE_TEXT]
|
|
|
|
*/
|
|
|
|
type: CKEDITOR.NODE_TEXT,
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Filter this text node with given filter.
|
|
|
|
*
|
|
|
|
* @since 4.1
|
|
|
|
* @param {CKEDITOR.htmlParser.filter} filter
|
|
|
|
* @returns {Boolean} Method returns `false` when this text node has
|
|
|
|
* been removed. This is an information for {@link CKEDITOR.htmlParser.element#filterChildren}
|
|
|
|
* that it has to repeat filter on current position in parent's children array.
|
|
|
|
*/
|
|
|
|
filter: function( filter, context ) {
|
|
|
|
if ( !( this.value = filter.onText( context, this.value, this ) ) ) {
|
|
|
|
this.remove();
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Writes the HTML representation of this text to a {CKEDITOR.htmlParser.basicWriter}.
|
|
|
|
*
|
|
|
|
* @param {CKEDITOR.htmlParser.basicWriter} writer The writer to which write the HTML.
|
|
|
|
* @param {CKEDITOR.htmlParser.filter} [filter] The filter to be applied to this node.
|
|
|
|
* **Note:** it's unsafe to filter offline (not appended) node.
|
|
|
|
*/
|
|
|
|
writeHtml: function( writer, filter ) {
|
|
|
|
if ( filter )
|
|
|
|
this.filter( filter );
|
|
|
|
|
|
|
|
writer.text( this.value );
|
|
|
|
}
|
|
|
|
} );
|
|
|
|
} )();
|