Upgrade to ExtJS 4.0.0 - Released 04/26/2011
[extjs.git] / docs / source / Operation.html
diff --git a/docs/source/Operation.html b/docs/source/Operation.html
new file mode 100644 (file)
index 0000000..d2492cf
--- /dev/null
@@ -0,0 +1,230 @@
+<!DOCTYPE html><html><head><title>Sencha Documentation Project</title><link rel="stylesheet" href="../reset.css" type="text/css"><link rel="stylesheet" href="../prettify.css" type="text/css"><link rel="stylesheet" href="../prettify_sa.css" type="text/css"><script type="text/javascript" src="../prettify.js"></script></head><body onload="prettyPrint()"><pre class="prettyprint"><pre><span id='Ext-data.Operation-method-constructor'><span id='Ext-data.Operation'>/**
+</span></span> * @author Ed Spencer
+ * @class Ext.data.Operation
+ * @extends Object
+ * 
+ * &lt;p&gt;Represents a single read or write operation performed by a {@link Ext.data.proxy.Proxy Proxy}.
+ * Operation objects are used to enable communication between Stores and Proxies. Application
+ * developers should rarely need to interact with Operation objects directly.&lt;/p&gt;
+ * 
+ * &lt;p&gt;Several Operations can be batched together in a {@link Ext.data.Batch batch}.&lt;/p&gt;
+ * 
+ * @constructor
+ * @param {Object} config Optional config object
+ */
+Ext.define('Ext.data.Operation', {
+<span id='Ext-data.Operation-cfg-synchronous'>    /**
+</span>     * @cfg {Boolean} synchronous True if this Operation is to be executed synchronously (defaults to true). This
+     * property is inspected by a {@link Ext.data.Batch Batch} to see if a series of Operations can be executed in
+     * parallel or not.
+     */
+    synchronous: true,
+    
+<span id='Ext-data.Operation-cfg-action'>    /**
+</span>     * @cfg {String} action The action being performed by this Operation. Should be one of 'create', 'read', 'update' or 'destroy'
+     */
+    action: undefined,
+    
+<span id='Ext-data.Operation-cfg-filters'>    /**
+</span>     * @cfg {Array} filters Optional array of filter objects. Only applies to 'read' actions.
+     */
+    filters: undefined,
+    
+<span id='Ext-data.Operation-cfg-sorters'>    /**
+</span>     * @cfg {Array} sorters Optional array of sorter objects. Only applies to 'read' actions.
+     */
+    sorters: undefined,
+    
+<span id='Ext-data.Operation-cfg-group'>    /**
+</span>     * @cfg {Object} group Optional grouping configuration. Only applies to 'read' actions where grouping is desired.
+     */
+    group: undefined,
+    
+<span id='Ext-data.Operation-cfg-start'>    /**
+</span>     * @cfg {Number} start The start index (offset), used in paging when running a 'read' action.
+     */
+    start: undefined,
+    
+<span id='Ext-data.Operation-cfg-limit'>    /**
+</span>     * @cfg {Number} limit The number of records to load. Used on 'read' actions when paging is being used.
+     */
+    limit: undefined,
+    
+<span id='Ext-data.Operation-cfg-batch'>    /**
+</span>     * @cfg {Ext.data.Batch} batch The batch that this Operation is a part of (optional)
+     */
+    batch: undefined,
+        
+<span id='Ext-data.Operation-property-started'>    /**
+</span>     * Read-only property tracking the start status of this Operation. Use {@link #isStarted}.
+     * @property started
+     * @type Boolean
+     * @private
+     */
+    started: false,
+    
+<span id='Ext-data.Operation-property-running'>    /**
+</span>     * Read-only property tracking the run status of this Operation. Use {@link #isRunning}.
+     * @property running
+     * @type Boolean
+     * @private
+     */
+    running: false,
+    
+<span id='Ext-data.Operation-property-complete'>    /**
+</span>     * Read-only property tracking the completion status of this Operation. Use {@link #isComplete}.
+     * @property complete
+     * @type Boolean
+     * @private
+     */
+    complete: false,
+    
+<span id='Ext-data.Operation-property-success'>    /**
+</span>     * Read-only property tracking whether the Operation was successful or not. This starts as undefined and is set to true
+     * or false by the Proxy that is executing the Operation. It is also set to false by {@link #setException}. Use
+     * {@link #wasSuccessful} to query success status.
+     * @property success
+     * @type Boolean
+     * @private
+     */
+    success: undefined,
+    
+<span id='Ext-data.Operation-property-exception'>    /**
+</span>     * Read-only property tracking the exception status of this Operation. Use {@link #hasException} and see {@link #getError}.
+     * @property exception
+     * @type Boolean
+     * @private
+     */
+    exception: false,
+    
+<span id='Ext-data.Operation-property-error'>    /**
+</span>     * The error object passed when {@link #setException} was called. This could be any object or primitive.
+     * @property error
+     * @type Mixed
+     * @private
+     */
+    error: undefined,
+    
+    constructor: function(config) {
+        Ext.apply(this, config || {});
+    },
+    
+<span id='Ext-data.Operation-method-setStarted'>    /**
+</span>     * Marks the Operation as started
+     */
+    setStarted: function() {
+        this.started = true;
+        this.running = true;
+    },
+    
+<span id='Ext-data.Operation-method-setCompleted'>    /**
+</span>     * Marks the Operation as completed
+     */
+    setCompleted: function() {
+        this.complete = true;
+        this.running  = false;
+    },
+    
+<span id='Ext-data.Operation-method-setSuccessful'>    /**
+</span>     * Marks the Operation as successful
+     */
+    setSuccessful: function() {
+        this.success = true;
+    },
+    
+<span id='Ext-data.Operation-method-setException'>    /**
+</span>     * Marks the Operation as having experienced an exception. Can be supplied with an option error message/object.
+     * @param {Mixed} error Optional error string/object
+     */
+    setException: function(error) {
+        this.exception = true;
+        this.success = false;
+        this.running = false;
+        this.error = error;
+    },
+    
+<span id='Ext-data.Operation-method-hasException'>    /**
+</span>     * Returns true if this Operation encountered an exception (see also {@link #getError})
+     * @return {Boolean} True if there was an exception
+     */
+    hasException: function() {
+        return this.exception === true;
+    },
+    
+<span id='Ext-data.Operation-method-getError'>    /**
+</span>     * Returns the error string or object that was set using {@link #setException}
+     * @return {Mixed} The error object
+     */
+    getError: function() {
+        return this.error;
+    },
+    
+<span id='Ext-data.Operation-method-getRecords'>    /**
+</span>     * Returns an array of Ext.data.Model instances as set by the Proxy.
+     * @return {Array} Any loaded Records
+     */
+    getRecords: function() {
+        var resultSet = this.getResultSet();
+        
+        return (resultSet === undefined ? this.records : resultSet.records);
+    },
+    
+<span id='Ext-data.Operation-method-getResultSet'>    /**
+</span>     * Returns the ResultSet object (if set by the Proxy). This object will contain the {@link Ext.data.Model model} instances
+     * as well as meta data such as number of instances fetched, number available etc
+     * @return {Ext.data.ResultSet} The ResultSet object
+     */
+    getResultSet: function() {
+        return this.resultSet;
+    },
+    
+<span id='Ext-data.Operation-method-isStarted'>    /**
+</span>     * Returns true if the Operation has been started. Note that the Operation may have started AND completed,
+     * see {@link #isRunning} to test if the Operation is currently running.
+     * @return {Boolean} True if the Operation has started
+     */
+    isStarted: function() {
+        return this.started === true;
+    },
+    
+<span id='Ext-data.Operation-method-isRunning'>    /**
+</span>     * Returns true if the Operation has been started but has not yet completed.
+     * @return {Boolean} True if the Operation is currently running
+     */
+    isRunning: function() {
+        return this.running === true;
+    },
+    
+<span id='Ext-data.Operation-method-isComplete'>    /**
+</span>     * Returns true if the Operation has been completed
+     * @return {Boolean} True if the Operation is complete
+     */
+    isComplete: function() {
+        return this.complete === true;
+    },
+    
+<span id='Ext-data.Operation-method-wasSuccessful'>    /**
+</span>     * Returns true if the Operation has completed and was successful
+     * @return {Boolean} True if successful
+     */
+    wasSuccessful: function() {
+        return this.isComplete() &amp;&amp; this.success === true;
+    },
+    
+<span id='Ext-data.Operation-method-setBatch'>    /**
+</span>     * @private
+     * Associates this Operation with a Batch
+     * @param {Ext.data.Batch} batch The batch
+     */
+    setBatch: function(batch) {
+        this.batch = batch;
+    },
+    
+<span id='Ext-data.Operation-method-allowWrite'>    /**
+</span>     * Checks whether this operation should cause writing to occur.
+     * @return {Boolean} Whether the operation should cause a write to occur.
+     */
+    allowWrite: function() {
+        return this.action != 'read';
+    }
+});</pre></pre></body></html>
\ No newline at end of file