Added documentation for es.Transaction

This commit is contained in:
Trevor Parscal 2011-11-04 21:06:06 +00:00
parent add7c23191
commit 23e0651e0b

View file

@ -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',