summaryrefslogtreecommitdiff
path: root/core/htmlparser/basicwriter.js
diff options
context:
space:
mode:
authorlsces <lester@lsces.co.uk>2013-07-15 14:22:23 +0100
committerlsces <lester@lsces.co.uk>2013-07-15 14:22:23 +0100
commit6d4c4f12d15ae68d912972921997a8c5180c9aea (patch)
tree104274447272d09617c483cf6b0ee79559c9fe6f /core/htmlparser/basicwriter.js
parentde6d09676a9527919813a4474cc28af554a35fe1 (diff)
downloadckeditor-6d4c4f12d15ae68d912972921997a8c5180c9aea.tar.gz
ckeditor-6d4c4f12d15ae68d912972921997a8c5180c9aea.tar.bz2
ckeditor-6d4c4f12d15ae68d912972921997a8c5180c9aea.zip
Upgrade to CKEditor V4
Directory structure changed so many files removed and replace in a new location This batch is the delete and add
Diffstat (limited to 'core/htmlparser/basicwriter.js')
-rw-r--r--core/htmlparser/basicwriter.js152
1 files changed, 152 insertions, 0 deletions
diff --git a/core/htmlparser/basicwriter.js b/core/htmlparser/basicwriter.js
new file mode 100644
index 0000000..54f19cd
--- /dev/null
+++ b/core/htmlparser/basicwriter.js
@@ -0,0 +1,152 @@
+/**
+ * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
+ * For licensing, see LICENSE.html or http://ckeditor.com/license
+ */
+
+/**
+ * TODO
+ *
+ * @class
+ * @todo
+ */
+CKEDITOR.htmlParser.basicWriter = CKEDITOR.tools.createClass({
+ /**
+ * Creates a basicWriter class instance.
+ *
+ * @constructor
+ */
+ $: function() {
+ this._ = {
+ output: []
+ };
+ },
+
+ proto: {
+ /**
+ * Writes the tag opening part for a opener tag.
+ *
+ * // Writes '<p'.
+ * writer.openTag( 'p', { class : 'MyClass', id : 'MyId' } );
+ *
+ * @param {String} tagName The element name for this tag.
+ * @param {Object} attributes The attributes defined for this tag. The
+ * attributes could be used to inspect the tag.
+ */
+ openTag: function( tagName, attributes ) {
+ this._.output.push( '<', tagName );
+ },
+
+ /**
+ * Writes the tag closing part for a opener tag.
+ *
+ * // Writes '>'.
+ * writer.openTagClose( 'p', false );
+ *
+ * // Writes ' />'.
+ * writer.openTagClose( 'br', true );
+ *
+ * @param {String} tagName The element name for this tag.
+ * @param {Boolean} isSelfClose Indicates that this is a self-closing tag,
+ * like `<br>` or `<img>`.
+ */
+ openTagClose: function( tagName, isSelfClose ) {
+ if ( isSelfClose )
+ this._.output.push( ' />' );
+ else
+ this._.output.push( '>' );
+ },
+
+ /**
+ * Writes an attribute. This function should be called after opening the
+ * tag with {@link #openTagClose}.
+ *
+ * // Writes ' class="MyClass"'.
+ * writer.attribute( 'class', 'MyClass' );
+ *
+ * @param {String} attName The attribute name.
+ * @param {String} attValue The attribute value.
+ */
+ attribute: function( attName, attValue ) {
+ // Browsers don't always escape special character in attribute values. (#4683, #4719).
+ if ( typeof attValue == 'string' )
+ attValue = CKEDITOR.tools.htmlEncodeAttr( attValue );
+
+ this._.output.push( ' ', attName, '="', attValue, '"' );
+ },
+
+ /**
+ * Writes a closer tag.
+ *
+ * // Writes '</p>'.
+ * writer.closeTag( 'p' );
+ *
+ * @param {String} tagName The element name for this tag.
+ */
+ closeTag: function( tagName ) {
+ this._.output.push( '</', tagName, '>' );
+ },
+
+ /**
+ * Writes text.
+ *
+ * // Writes 'Hello Word'.
+ * writer.text( 'Hello Word' );
+ *
+ * @param {String} text The text value.
+ */
+ text: function( text ) {
+ this._.output.push( text );
+ },
+
+ /**
+ * Writes a comment.
+ *
+ * // Writes '<!-- My comment -->'.
+ * writer.comment( ' My comment ' );
+ *
+ * @param {String} comment The comment text.
+ */
+ comment: function( comment ) {
+ this._.output.push( '<!--', comment, '-->' );
+ },
+
+ /**
+ * Writes any kind of data to the ouput.
+ *
+ * writer.write( 'This is an <b>example</b>.' );
+ *
+ * @param {String} data
+ */
+ write: function( data ) {
+ this._.output.push( data );
+ },
+
+ /**
+ * Empties the current output buffer.
+ *
+ * writer.reset();
+ */
+ reset: function() {
+ this._.output = [];
+ this._.indent = false;
+ },
+
+ /**
+ * Empties the current output buffer.
+ *
+ * var html = writer.getHtml();
+ *
+ * @param {Boolean} reset Indicates that the {@link #reset} method is to
+ * be automatically called after retrieving the HTML.
+ * @returns {String} The HTML written to the writer so far.
+ */
+ getHtml: function( reset ) {
+ var html = this._.output.join( '' );
+
+ if ( reset )
+ this.reset();
+
+ return html;
+ }
+ }
+});