From 23e0651e0be7be8879667194b2f2b6ddc27003e5 Mon Sep 17 00:00:00 2001 From: Trevor Parscal Date: Fri, 4 Nov 2011 21:06:06 +0000 Subject: [PATCH] Added documentation for es.Transaction --- modules/es/es.Transaction.js | 55 ++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/modules/es/es.Transaction.js b/modules/es/es.Transaction.js index 4262f69a3e..c909f89dc9 100644 --- a/modules/es/es.Transaction.js +++ b/modules/es/es.Transaction.js @@ -11,10 +11,21 @@ es.Transaction = function( operations ) { /* Methods */ +/** + * Gets a list of all operations. + * + * @method + * @returns {Object[]} List of operations + */ es.Transaction.prototype.getOperations = function() { return this.operations; }; +/** + * Merges consecutive operations of the same type. + * + * @method + */ es.Transaction.prototype.optimize = function() { for ( var i = 0; i < this.operations.length - 1; i++ ) { var a = this.operations[i]; @@ -35,6 +46,12 @@ es.Transaction.prototype.optimize = function() { } }; +/** + * Adds a retain operation. + * + * @method + * @param {Integer} length Length of content data to retain + */ es.Transaction.prototype.pushRetain = function( length ) { this.operations.push( { 'type': 'retain', @@ -42,13 +59,25 @@ es.Transaction.prototype.pushRetain = function( length ) { } ); }; -es.Transaction.prototype.pushInsert = function( content ) { +/** + * Adds an insertion operation. + * + * @method + * @param {Array} data Data to retain + */ +es.Transaction.prototype.pushInsert = function( data ) { this.operations.push( { 'type': 'insert', - 'data': content + 'data': data } ); }; +/** + * Adds a removal operation. + * + * @method + * @param {Array} data Data to remove + */ es.Transaction.prototype.pushRemove = function( data ) { this.operations.push( { 'type': 'remove', @@ -56,6 +85,14 @@ es.Transaction.prototype.pushRemove = function( data ) { } ); }; +/** + * Adds an element attribute change operation. + * + * @method + * @param {String} method Method to use, either "set" or "clear" + * @param {String} key Name of attribute to change + * @param {Mixed} value Value to set attribute to, or value of attribute being cleared + */ es.Transaction.prototype.pushChangeElementAttribute = function( method, key, value ) { this.operations.push( { 'type': 'attribute', @@ -65,6 +102,13 @@ es.Transaction.prototype.pushChangeElementAttribute = function( method, key, val } ); }; +/** + * Adds a start annotating operation. + * + * @method + * @param {String} method Method to use, either "set" or "clear" + * @param {Object} annotation Annotation object to start setting or clearing from content data + */ es.Transaction.prototype.pushStartAnnotating = function( method, annotation ) { this.operations.push( { 'type': 'annotate', @@ -74,6 +118,13 @@ es.Transaction.prototype.pushStartAnnotating = function( method, annotation ) { } ); }; +/** + * Adds a stop annotating operation. + * + * @method + * @param {String} method Method to use, either "set" or "clear" + * @param {Object} annotation Annotation object to stop setting or clearing from content data + */ es.Transaction.prototype.pushStopAnnotating = function( method, annotation ) { this.operations.push( { 'type': 'annotate',