Clear Up
SharpKit Reference

Batch Class

Provides a mechanism to run one or more operations in a given order. Fires the 'operationcomplete' event after the completion of each Operation, and the 'complete' event when all Operations have been successfully executed. Fires an 'exception' event if any of the Operations encounter an exception.

Usually these are only used internally by Ext.data.proxy.Proxy classes

Namespace: Ext.data

Base Types

Base Interfaces

Constructors

Name Description
Batch(object) Creates new Batch object.
Batch(BatchConfig)
Batch(Object[])

Methods

Name Description
add(object) Adds a new operation to this batch at the end of the operations array
addEvents(object) Adds the specified events to the list of events which this Observable may fire.
addListener(object, Delegate, object, object) Appends an event handler to this object. For example:
myGridPanel.on("mouseover", this.onMouseOver, this);
            
The method also allows for a single argument to be passed which is a config object containing properties which specify multiple events. For example:
myGridPanel.on({
            cellClick: this.onCellClick,
            mouseover: this.onMouseOver,
            mouseout: this.onMouseOut,
            scope: this // Important. Ensure "this" is correct during handler execution
            });
            
One can also specify options for each event handler separately:
myGridPanel.on({
            cellClick: {fn: this.onCellClick, scope: this, single: true},
            mouseover: {fn: panel.onMouseOver, scope: panel}
            });
            
Names of methods in a specified scope may also be used. Note that scope MUST be specified to use this option:
myGridPanel.on({
            cellClick: {fn: 'onCellClick', scope: this, single: true},
            mouseover: {fn: 'onMouseOver', scope: panel}
            });
            
addManagedListener(object, object, Delegate, object, object) Adds listeners to any Observable object (or Ext.Element) which are automatically removed when this Component is destroyed.
clearListeners() Removes all listeners for this object including the managed listeners
clearManagedListeners() Removes all managed listeners for this object.
continueFireEvent(JsString, object, object) Continue to fire event.
createRelayer(object, object) Creates an event handling function which refires the event from this object as the passed event name.
enableBubble(object) Enables events fired by this Observable to bubble up an owner hierarchy by calling this.getBubbleTarget() if present. There is no implementation in the Observable base class. This is commonly used by Ext.Components to bubble events to owner Containers. See Ext.Component.getBubbleTarget. The default implementation in Ext.Component returns the Component's immediate owner. But if a known target is required, this can be overridden to access the required target more quickly. Example:
  Ext.override(Ext.form.field.Base, {
            //  Add functionality to Field's initComponent to enable the change event to bubble
            initComponent : Ext.Function.createSequence(Ext.form.field.Base.prototype.initComponent, function() {
            this.enableBubble('change');
            }),
            //  We know that we want Field's events to bubble directly to the FormPanel.
            getBubbleTarget : function() {
            if (!this.formPanel) {
            this.formPanel = this.findParentByType('form');
            }
            return this.formPanel;
            }
            });
            var myForm = new Ext.formPanel({
            title: 'User Details',
            items: [{
            ...
            }],
            listeners: {
            change: function() {
            // Title goes red if form has been modified.
            myForm.header.setStyle('color', 'red');
            }
            }
            });
            
fireEvent(JsString, Object[]) Fires the specified event with the passed parameters (minus the event name, plus the options object passed to addListener). An event may be set to bubble up an Observable parent hierarchy (See Ext.Component.getBubbleTarget) by calling enableBubble.
getBubbleParent() Gets the bubbling parent for an Observable
hasListener(JsString) Checks to see if this object has any listeners for a specified event, or whether the event bubbles. The answer indicates whether the event needs firing or not.
mon(object, object, Delegate, object, object) Shorthand for addManagedListener. Adds listeners to any Observable object (or Ext.Element) which are automatically removed when this Component is destroyed.
mun(object, object, Delegate, object) Shorthand for removeManagedListener. Removes listeners that were added by the mon method.
on(object, Delegate, object, object) Shorthand for addListener. Appends an event handler to this object. For example:
myGridPanel.on("mouseover", this.onMouseOver, this);
            
The method also allows for a single argument to be passed which is a config object containing properties which specify multiple events. For example:
myGridPanel.on({
            cellClick: this.onCellClick,
            mouseover: this.onMouseOver,
            mouseout: this.onMouseOut,
            scope: this // Important. Ensure "this" is correct during handler execution
            });
            
One can also specify options for each event handler separately:
myGridPanel.on({
            cellClick: {fn: this.onCellClick, scope: this, single: true},
            mouseover: {fn: panel.onMouseOver, scope: panel}
            });
            
Names of methods in a specified scope may also be used. Note that scope MUST be specified to use this option:
myGridPanel.on({
            cellClick: {fn: 'onCellClick', scope: this, single: true},
            mouseover: {fn: 'onMouseOver', scope: panel}
            });
            
pause() Pauses execution of the batch, but does not cancel the current operation
prepareClass(Delegate) Prepares a given class for observable instances. This method is called when a class derives from this class or uses this class as a mixin.
relayEvents(object, JsArray<T>, object) Relays selected events from the specified Observable as if the events were fired by this. For example if you are extending Grid, you might decide to forward some events from store. So you can do this inside your initComponent:
this.relayEvents(this.getStore(), ['load']);
            
The grid instance will then have an observable 'load' event which will be passed the parameters of the store's load event and any function fired with the grid's load event would have access to the grid using the this keyword.
removeListener(JsString, Delegate, object) Removes an event handler.
removeManagedListener(object, object, Delegate, object) Removes listeners that were added by the mon method.
removeManagedListenerItem(bool, object) Remove a single managed listener item
resumeEvents() Resumes firing events (see suspendEvents). If events were suspended using the queueSuspended parameter, then all events fired during event suspension will be sent to any listeners now.
retry() Kicks off execution of the batch, continuing from the current operation. This is intended for restarting a paused batch after an exception, and the operation that raised the exception will now be retried. The batch will then continue with its normal processing until all operations are complete or another exception is encountered. Note that if the batch is already running any call to retry will be ignored.
runOperation(JsNumber) Executes an operation by its numeric index in the operations array
start(object) Kicks off execution of the batch, continuing from the next operation if the previous operation encountered an exception, or if execution was paused. Use this method to start the batch for the first time or to restart a paused batch by skipping the current unsuccessful operation. To retry processing the current operation before continuing to the rest of the batch (e.g. because you explicitly handled the operation's exception), call retry instead. Note that if the batch is already running any call to start will be ignored.
suspendEvents(bool) Suspends the firing of all events. (see resumeEvents)
un(JsString, Delegate, object) Shorthand for removeListener. Removes an event handler.

Fields

Name Description
autoStart True to immediately start processing the batch as soon as it is constructed (defaults to false) Defaults to: false
listeners A config object containing one or more event handlers to be added to this object during initialization. This should be a valid listeners config object as specified in the addListener example for attaching multiple handlers at once. DOM events from Ext JS Components While some Ext JS Component classes export selected DOM events (e.g. "click", "mouseover" etc), this is usually only done when extra value can be added. For example the DataView's itemclick event passing the node clicked on. To access DOM events directly from a child element of a Component, we need to specify the element option to identify the Component property to add a DOM listener to:
new Ext.panel.Panel({
            width: 400,
            height: 200,
            dockedItems: [{
            xtype: 'toolbar'
            }],
            listeners: {
            click: {
            element: 'el', //bind to the underlying el property on the panel
            fn: function(){ console.log('click el'); }
            },
            dblclick: {
            element: 'body', //bind to the underlying body property on the panel
            fn: function(){ console.log('dblclick body'); }
            }
            }
            });
            
pauseOnException True to pause the execution of the batch if any operation encounters an exception (defaults to false). If you set this to true you are responsible for implementing the appropriate handling logic and restarting or discarding the batch as needed. There are different ways you could do this, e.g. by handling the batch's exception event directly, or perhaps by overriding onBatchException at the store level. If you do pause and attempt to handle the exception you can call retry to process the same operation again. Note that operations are atomic, so any operations that may have succeeded prior to an exception (and up until pausing the batch) will be finalized at the server level and will not be automatically reversible. Any transactional / rollback behavior that might be desired would have to be implemented at the application level. Pausing on exception will likely be most beneficial when used in coordination with such a scheme, where an exception might actually affect subsequent operations in the same batch and so should be handled before continuing with the next operation. If you have not implemented transactional operation handling then this option should typically be left to the default of false (e.g. process as many operations as possible, and handle any exceptions asynchronously without holding up the rest of the batch). Defaults to: false

Properties

Name Description
current The index of the current operation being executed. Read only
eventsSuspended Initial suspended call count. Incremented when suspendEvents is called, decremented when resumeEvents is called. Defaults to: 0
exceptions Ordered array of operations that raised an exception during the most recent batch execution and did not successfully complete Defaults to: []
hasException True if this batch has encountered an exception. This is cleared at the start of each operation. Read only Defaults to: false
hasListeners This object holds a key for any event that has a listener. The listener may be set directly on the instance, or on its class or a super class (via observe) or on the MVC EventBus. The values of this object are truthy (a non-zero number) and falsy (0 or undefined). They do not represent an exact count of listeners. The value for an event is truthy if the event must be fired and is falsy if there is no need to fire the event. The intended use of this property is to avoid the expense of fireEvent calls when there are no listeners. This can be particularly helpful when one would otherwise have to call fireEvent hundreds or thousands of times. It is used like this:
if (this.hasListeners.foo) {
           this.fireEvent('foo', this, arg1);
           }
            
isComplete True if this batch has been executed completely. Read only Defaults to: false
isObservable true in this class to identify an object as an instantiated Observable, or subclass thereof. Defaults to: true
isRunning True if the batch is currently running. Read only Defaults to: false
operations Ordered array of operations that will be executed by this batch Defaults to: []
total The total number of operations in this batch. Read only Defaults to: 0
© Copyright 2005-2011 SharpKit. All rights reserved.