X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/0494b8d9b9bb03ab6c22b34dae81261e3cd7e3e6..7a654f8d43fdb43d78b63d90528bed6e86b608cc:/docs/api/Ext.Function.html diff --git a/docs/api/Ext.Function.html b/docs/api/Ext.Function.html new file mode 100644 index 00000000..97029bb5 --- /dev/null +++ b/docs/api/Ext.Function.html @@ -0,0 +1,243 @@ +Ext.Function | Ext JS 4.0 Documentation +
For up to date documentation and features, visit +http://docs.sencha.com/ext-js/4-0

Sencha Documentation

+ + + + + +

A collection of useful static methods to deal with function callbacks

+
Defined By

Methods

 
alias( +Object/Function object, String methodName) + : Function
Create an alias to the provided method property with name methodName of object. +Note that the execution scope will st...

Create an alias to the provided method property with name methodName of object. +Note that the execution scope will still be bound to the provided object itself.

+

Parameters

  • object : Object/Function
    +
  • methodName : String
    +

Returns

  • Function   

    aliasFn

    +
 
bind( +Function fn, [Object scope], [Array args], [Boolean/Number appendArgs]) + : Function
Create a new function from the provided fn, change this to the provided scope, optionally +overrides arguments for the...

Create a new function from the provided fn, change this to the provided scope, optionally +overrides arguments for the call. (Defaults to the arguments passed by the caller)

+

Parameters

  • fn : Function

    The function to delegate.

    +
  • scope : Object

    (optional) The scope (this reference) in which the function is executed. +If omitted, defaults to the browser window.

    +
  • args : Array

    (optional) Overrides arguments for the call. (Defaults to the arguments passed by the caller)

    +
  • appendArgs : Boolean/Number

    (optional) if True args are appended to call args instead of overriding, +if a number the args are inserted at the specified position

    +

Returns

  • Function   

    The new function

    +
 
createBuffered( +Function fn, Number buffer, [Object scope], [Array args]) + : Function
Creates a delegate function, optionally with a bound scope which, when called, buffers +the execution of the passed fu...

Creates a delegate function, optionally with a bound scope which, when called, buffers +the execution of the passed function for the configured number of milliseconds. +If called again within that period, the impending invocation will be canceled, and the +timeout period will begin again.

+ +

Parameters

  • fn : Function

    The function to invoke on a buffered timer.

    +
  • buffer : Number

    The number of milliseconds by which to buffer the invocation of the +function.

    +
  • scope : Object

    (optional) The scope (this reference) in which +the passed function is executed. If omitted, defaults to the scope specified by the caller.

    +
  • args : Array

    (optional) Override arguments for the call. Defaults to the arguments +passed by the caller.

    +

Returns

  • Function   

    A function which invokes the passed function after buffering for the specified time.

    +
 
createDelayed( +Function fn, Number delay, [Object scope], [Array args], [Boolean/Number appendArgs]) + : Function

Creates a delegate (callback) which, when called, executes after a specific delay.

+

Creates a delegate (callback) which, when called, executes after a specific delay.

+

Parameters

  • fn : Function

    The function which will be called on a delay when the returned function is called. +Optionally, a replacement (or additional) argument list may be specified.

    +
  • delay : Number

    The number of milliseconds to defer execution by whenever called.

    +
  • scope : Object

    (optional) The scope (this reference) used by the function at execution time.

    +
  • args : Array

    (optional) Override arguments for the call. (Defaults to the arguments passed by the caller)

    +
  • appendArgs : Boolean/Number

    (optional) if True args are appended to call args instead of overriding, +if a number the args are inserted at the specified position.

    +

Returns

  • Function   

    A function which, when called, executes the original function after the specified delay.

    +
 
createInterceptor( +Function origFn, Function newFn, [Object scope], [Mixed returnValue]) + : Function
Creates an interceptor function. The passed function is called before the original one. If it returns false, +the orig...

Creates an interceptor function. The passed function is called before the original one. If it returns false, +the original one is not called. The resulting function returns the results of the original function. +The passed function is called with the parameters of the original function. Example usage:

+ +
var sayHi = function(name){
+    alert('Hi, ' + name);
+}
+
+sayHi('Fred'); // alerts "Hi, Fred"
+
+// create a new function that validates input without
+// directly modifying the original function:
+var sayHiToFriend = Ext.Function.createInterceptor(sayHi, function(name){
+    return name == 'Brian';
+});
+
+sayHiToFriend('Fred');  // no alert
+sayHiToFriend('Brian'); // alerts "Hi, Brian"
+     
+ +

Parameters

  • origFn : Function

    The original function.

    +
  • newFn : Function

    The function to call before the original

    +
  • scope : Object

    (optional) The scope (this reference) in which the passed function is executed. +If omitted, defaults to the scope in which the original function is called or the browser window.

    +
  • returnValue : Mixed

    (optional) The value to return if the passed function return false (defaults to null).

    +

Returns

  • Function   

    The new function

    +
 
createSequence( +Function origFn, Function newFn, [Object scope]) + : Function
Create a combined function call sequence of the original function + the passed function. +The resulting function retur...

Create a combined function call sequence of the original function + the passed function. +The resulting function returns the results of the original function. +The passed function is called with the parameters of the original function. Example usage:

+ +
var sayHi = function(name){
+    alert('Hi, ' + name);
+}
+
+sayHi('Fred'); // alerts "Hi, Fred"
+
+var sayGoodbye = Ext.Function.createSequence(sayHi, function(name){
+    alert('Bye, ' + name);
+});
+
+sayGoodbye('Fred'); // both alerts show
+
+ +

Parameters

  • origFn : Function

    The original function.

    +
  • newFn : Function

    The function to sequence

    +
  • scope : Object

    (optional) The scope (this reference) in which the passed function is executed. +If omitted, defaults to the scope in which the original function is called or the browser window.

    +

Returns

  • Function   

    The new function

    +
 
createThrottled( +Object fn, Object interval, [Object scope]) + : Function
Creates a throttled version of the passed function which, when called repeatedly and +rapidly, invokes the passed func...

Creates a throttled version of the passed function which, when called repeatedly and +rapidly, invokes the passed function only after a certain interval has elapsed since the +previous invocation.

+ + + + +

This is useful for wrapping functions which may be called repeatedly, such as +a handler of a mouse move event when the processing is expensive.

+ +

Parameters

  • fn : Object

    {Function} The function to execute at a regular time interval.

    +
  • interval : Object

    {Number} The interval in milliseconds on which the passed function is executed.

    +
  • scope : Object

    (optional) The scope (this reference) in which +the passed function is executed. If omitted, defaults to the scope specified by the caller.

    +

Returns

  • Function   

    A function which invokes the passed function at the specified interval.

    +
 
defer( +Function fn, Number millis, [Object scope], [Array args], [Boolean/Number appendArgs]) + : Number
Calls this function after the number of millseconds specified, optionally in a specific scope. Example usage: + +var sa...

Calls this function after the number of millseconds specified, optionally in a specific scope. Example usage:

+ +
var sayHi = function(name){
+    alert('Hi, ' + name);
+}
+
+// executes immediately:
+sayHi('Fred');
+
+// executes after 2 seconds:
+Ext.Function.defer(sayHi, 2000, this, ['Fred']);
+
+// this syntax is sometimes useful for deferring
+// execution of an anonymous function:
+Ext.Function.defer(function(){
+    alert('Anonymous');
+}, 100);
+     
+ +

Parameters

  • fn : Function

    The function to defer.

    +
  • millis : Number

    The number of milliseconds for the setTimeout call (if less than or equal to 0 the function is executed immediately)

    +
  • scope : Object

    (optional) The scope (this reference) in which the function is executed. +If omitted, defaults to the browser window.

    +
  • args : Array

    (optional) Overrides arguments for the call. (Defaults to the arguments passed by the caller)

    +
  • appendArgs : Boolean/Number

    (optional) if True args are appended to call args instead of overriding, +if a number the args are inserted at the specified position

    +

Returns

  • Number   

    The timeout id that can be used with clearTimeout

    +
 
flexSetter( +Function setter) + : Function
A very commonly used method throughout the framework. It acts as a wrapper around another method +which originally acc...

A very commonly used method throughout the framework. It acts as a wrapper around another method +which originally accepts 2 arguments for name and value. +The wrapped function then allows "flexible" value setting of either:

+ +
    +
  • name and value as 2 arguments
  • +
  • one single object argument with multiple key - value pairs
  • +
+ + +

For example:

+ +
var setValue = Ext.Function.flexSetter(function(name, value) {
+    this[name] = value;
+});
+
+// Afterwards
+// Setting a single name - value
+setValue('name1', 'value1');
+
+// Settings multiple name - value pairs
+setValue({
+    name1: 'value1',
+    name2: 'value2',
+    name3: 'value3'
+});
+
+ +

Parameters

  • setter : Function
    +

Returns

  • Function   

    flexSetter

    +
 
pass( +Function fn, Array args, [Object scope]) + : Function
Create a new function from the provided fn, the arguments of which are pre-set to args. +New arguments passed to the n...

Create a new function from the provided fn, the arguments of which are pre-set to args. +New arguments passed to the newly created callback when it's invoked are appended after the pre-set ones. +This is especially useful when creating callbacks. +For example:

+ +
var originalFunction = function(){
+    alert(Ext.Array.from(arguments).join(' '));
+};
+
+var callback = Ext.Function.pass(originalFunction, ['Hello', 'World']);
+
+callback(); // alerts 'Hello World'
+callback('by Me'); // alerts 'Hello World by Me'
+
+

Parameters

  • fn : Function

    The original function

    +
  • args : Array

    The arguments to pass to new callback

    +
  • scope : Object

    (optional) The scope (this reference) in which the function is executed.

    +

Returns

  • Function   

    The new callback function

    +
\ No newline at end of file