X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..HEAD:/docs/output/Ext.state.Manager.js diff --git a/docs/output/Ext.state.Manager.js b/docs/output/Ext.state.Manager.js index c343ba6c..09a55ab1 100644 --- a/docs/output/Ext.state.Manager.js +++ b/docs/output/Ext.state.Manager.js @@ -1,493 +1 @@ -Ext.data.JsonP.Ext_state_Manager({ - "allMixins": [ - - ], - "deprecated": null, - "docauthor": "Evan Trimboli ", - "members": { - "cfg": [ - - ], - "method": [ - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Base3.html#Ext-Base-method-addStatics", - "shortDoc": "Add / override static properties of this class. ...", - "static": true, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "params": [ - { - "type": "Object", - "optional": false, - "doc": "\n", - "name": "members" - } - ], - "name": "addStatics", - "owner": "Ext.Base", - "doc": "

Add / override static properties of this class.

\n\n
Ext.define('My.cool.Class', {\n    ...\n});\n\nMy.cool.Class.addStatics({\n    someProperty: 'someValue',      // My.cool.Class.someProperty = 'someValue'\n    method1: function() { ... },    // My.cool.Class.method1 = function() { ... };\n    method2: function() { ... }     // My.cool.Class.method2 = function() { ... };\n});\n
\n", - "linenr": 388, - "return": { - "type": "Ext.Base", - "doc": "

this

\n" - }, - "html_filename": "Base3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Base3.html#Ext-Base-method-callOverridden", - "shortDoc": "Call the original method that was previously overridden with Ext.Base.override\n\nExt.define('My.Cat', {\n constructo...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "params": [ - { - "type": "Array/Arguments", - "optional": false, - "doc": "

The arguments, either an array or the arguments object

\n", - "name": "args" - } - ], - "name": "callOverridden", - "owner": "Ext.Base", - "doc": "

Call the original method that was previously overridden with Ext.Base.override

\n\n
Ext.define('My.Cat', {\n    constructor: function() {\n        alert(\"I'm a cat!\");\n\n        return this;\n    }\n});\n\nMy.Cat.override({\n    constructor: function() {\n        alert(\"I'm going to be a cat!\");\n\n        var instance = this.callOverridden();\n\n        alert(\"Meeeeoooowwww\");\n\n        return instance;\n    }\n});\n\nvar kitty = new My.Cat(); // alerts \"I'm going to be a cat!\"\n                          // alerts \"I'm a cat!\"\n                          // alerts \"Meeeeoooowwww\"\n
\n", - "linenr": 269, - "return": { - "type": "Mixed", - "doc": "

Returns the result after calling the overridden method

\n" - }, - "html_filename": "Base3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": true, - "tagname": "method", - "href": "Base3.html#Ext-Base-method-callParent", - "shortDoc": "Call the parent's overridden method. ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "params": [ - { - "type": "Array/Arguments", - "optional": false, - "doc": "

The arguments, either an array or the arguments object\nfrom the current method, for example: this.callParent(arguments)

\n", - "name": "args" - } - ], - "name": "callParent", - "owner": "Ext.Base", - "doc": "

Call the parent's overridden method. For example:

\n\n
Ext.define('My.own.A', {\n    constructor: function(test) {\n        alert(test);\n    }\n});\n\nExt.define('My.own.B', {\n    extend: 'My.own.A',\n\n    constructor: function(test) {\n        alert(test);\n\n        this.callParent([test + 1]);\n    }\n});\n\nExt.define('My.own.C', {\n    extend: 'My.own.B',\n\n    constructor: function() {\n        alert(\"Going to call parent's overriden constructor...\");\n\n        this.callParent(arguments);\n    }\n});\n\nvar a = new My.own.A(1); // alerts '1'\nvar b = new My.own.B(1); // alerts '1', then alerts '2'\nvar c = new My.own.C(2); // alerts \"Going to call parent's overriden constructor...\"\n                         // alerts '2', then alerts '3'\n
\n", - "linenr": 124, - "return": { - "type": "Mixed", - "doc": "

Returns the result from the superclass' method

\n" - }, - "html_filename": "Base3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Manager3.html#Ext-state-Manager-method-clear", - "shortDoc": "Clears a value from the state ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/src/state/Manager.js", - "private": false, - "params": [ - { - "type": "String", - "optional": false, - "doc": "

The key name

\n", - "name": "name" - } - ], - "name": "clear", - "owner": "Ext.state.Manager", - "doc": "

Clears a value from the state

\n", - "linenr": 55, - "return": { - "type": "void", - "doc": "\n" - }, - "html_filename": "Manager3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Base3.html#Ext-Base-method-create", - "shortDoc": "Create a new instance of this Class. ...", - "static": true, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "params": [ - - ], - "name": "create", - "owner": "Ext.Base", - "doc": "

Create a new instance of this Class.

\n\n
Ext.define('My.cool.Class', {\n    ...\n});\n\nMy.cool.Class.create({\n    someConfig: true\n});\n
\n\n

All parameters are passed to the constructor of the class.

\n", - "linenr": 329, - "return": { - "type": "Object", - "doc": "

the created instance.

\n" - }, - "html_filename": "Base3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Base3.html#Ext-Base-method-createAlias", - "shortDoc": "Create aliases for existing prototype methods. ...", - "static": true, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "params": [ - { - "type": "String/Object", - "optional": false, - "doc": "

The new method name, or an object to set multiple aliases. See\nflexSetter

\n", - "name": "alias" - }, - { - "type": "String/Object", - "optional": false, - "doc": "

The original method name

\n", - "name": "origin" - } - ], - "name": "createAlias", - "owner": "Ext.Base", - "doc": "

Create aliases for existing prototype methods. Example:

\n\n
Ext.define('My.cool.Class', {\n    method1: function() { ... },\n    method2: function() { ... }\n});\n\nvar test = new My.cool.Class();\n\nMy.cool.Class.createAlias({\n    method3: 'method1',\n    method4: 'method2'\n});\n\ntest.method3(); // test.method1()\n\nMy.cool.Class.createAlias('method5', 'method3');\n\ntest.method5(); // test.method3() -> test.method1()\n
\n", - "linenr": 648, - "return": { - "type": "void", - "doc": "\n" - }, - "html_filename": "Base3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Manager3.html#Ext-state-Manager-method-get", - "shortDoc": "Returns the current value for a key ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/src/state/Manager.js", - "private": false, - "params": [ - { - "type": "String", - "optional": false, - "doc": "

The key name

\n", - "name": "name" - }, - { - "type": "Mixed", - "optional": false, - "doc": "

The default value to return if the key lookup does not match

\n", - "name": "defaultValue" - } - ], - "name": "get", - "owner": "Ext.state.Manager", - "doc": "

Returns the current value for a key

\n", - "linenr": 36, - "return": { - "type": "Mixed", - "doc": "

The state data

\n" - }, - "html_filename": "Manager3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Base3.html#Ext-Base-method-getName", - "shortDoc": "Get the current class' name in string format. ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "params": [ - - ], - "name": "getName", - "owner": "Ext.Base", - "doc": "

Get the current class' name in string format.

\n\n
Ext.define('My.cool.Class', {\n    constructor: function() {\n        alert(this.self.getName()); // alerts 'My.cool.Class'\n    }\n});\n\nMy.cool.Class.getName(); // 'My.cool.Class'\n
\n", - "linenr": 631, - "return": { - "type": "String", - "doc": "

className

\n" - }, - "html_filename": "Base3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Manager3.html#Ext-state-Manager-method-getProvider", - "shortDoc": "Gets the currently configured state provider ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/src/state/Manager.js", - "private": false, - "params": [ - - ], - "name": "getProvider", - "owner": "Ext.state.Manager", - "doc": "

Gets the currently configured state provider

\n", - "linenr": 63, - "return": { - "type": "Provider", - "doc": "

The state provider

\n" - }, - "html_filename": "Manager3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Base3.html#Ext-Base-method-implement", - "shortDoc": "Add methods / properties to the prototype of this class. ...", - "static": true, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "params": [ - { - "type": "Object", - "optional": false, - "doc": "\n", - "name": "members" - } - ], - "name": "implement", - "owner": "Ext.Base", - "doc": "

Add methods / properties to the prototype of this class.

\n\n
Ext.define('My.awesome.Cat', {\n    constructor: function() {\n        ...\n    }\n});\n\n My.awesome.Cat.implement({\n     meow: function() {\n        alert('Meowww...');\n     }\n });\n\n var kitty = new My.awesome.Cat;\n kitty.meow();\n
\n", - "linenr": 415, - "return": { - "type": "void", - "doc": "\n" - }, - "html_filename": "Base3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": true, - "tagname": "method", - "href": "Base3.html#Ext-Base-method-initConfig", - "shortDoc": "Initialize configuration for this class. ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "params": [ - { - "type": "Object", - "optional": false, - "doc": "\n", - "name": "config" - } - ], - "name": "initConfig", - "owner": "Ext.Base", - "doc": "

Initialize configuration for this class. a typical example:

\n\n
Ext.define('My.awesome.Class', {\n    // The default config\n    config: {\n        name: 'Awesome',\n        isAwesome: true\n    },\n\n    constructor: function(config) {\n        this.initConfig(config);\n\n        return this;\n    }\n});\n\nvar awesome = new My.awesome.Class({\n    name: 'Super Awesome'\n});\n\nalert(awesome.getName()); // 'Super Awesome'\n
\n", - "linenr": 63, - "return": { - "type": "Object", - "doc": "

mixins The mixin prototypes as key - value pairs

\n" - }, - "html_filename": "Base3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Base3.html#Ext-Base-method-override", - "shortDoc": "Override prototype members of this class. ...", - "static": true, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "params": [ - { - "type": "Object", - "optional": false, - "doc": "\n", - "name": "members" - } - ], - "name": "override", - "owner": "Ext.Base", - "doc": "

Override prototype members of this class. Overridden methods can be invoked via\nExt.Base.callOverridden

\n\n
Ext.define('My.Cat', {\n    constructor: function() {\n        alert(\"I'm a cat!\");\n\n        return this;\n    }\n});\n\nMy.Cat.override({\n    constructor: function() {\n        alert(\"I'm going to be a cat!\");\n\n        var instance = this.callOverridden();\n\n        alert(\"Meeeeoooowwww\");\n\n        return instance;\n    }\n});\n\nvar kitty = new My.Cat(); // alerts \"I'm going to be a cat!\"\n                          // alerts \"I'm a cat!\"\n                          // alerts \"Meeeeoooowwww\"\n
\n", - "linenr": 518, - "return": { - "type": "Ext.Base", - "doc": "

this

\n" - }, - "html_filename": "Base3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Manager3.html#Ext-state-Manager-method-set", - "shortDoc": "Sets the value for a key ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/src/state/Manager.js", - "private": false, - "params": [ - { - "type": "String", - "optional": false, - "doc": "

The key name

\n", - "name": "name" - }, - { - "type": "Mixed", - "optional": false, - "doc": "

The state data

\n", - "name": "value" - } - ], - "name": "set", - "owner": "Ext.state.Manager", - "doc": "

Sets the value for a key

\n", - "linenr": 46, - "return": { - "type": "void", - "doc": "\n" - }, - "html_filename": "Manager3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "Manager3.html#Ext-state-Manager-method-setProvider", - "shortDoc": "Configures the default state provider for your application ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/src/state/Manager.js", - "private": false, - "params": [ - { - "type": "Provider", - "optional": false, - "doc": "

The state provider to set

\n", - "name": "stateProvider" - } - ], - "name": "setProvider", - "owner": "Ext.state.Manager", - "doc": "

Configures the default state provider for your application

\n", - "linenr": 28, - "return": { - "type": "void", - "doc": "\n" - }, - "html_filename": "Manager3.html" - }, - { - "deprecated": null, - "alias": null, - "protected": true, - "tagname": "method", - "href": "Base3.html#Ext-Base-method-statics", - "shortDoc": "Get the reference to the class from which this object was instantiated. ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "params": [ - - ], - "name": "statics", - "owner": "Ext.Base", - "doc": "

Get the reference to the class from which this object was instantiated. Note that unlike Ext.Base.self,\nthis.statics() is scope-independent and it always returns the class from which it was called, regardless of what\nthis points to during run-time

\n\n
Ext.define('My.Cat', {\n    statics: {\n        totalCreated: 0,\n        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'\n    },\n\n    constructor: function() {\n        var statics = this.statics();\n\n        alert(statics.speciesName);     // always equals to 'Cat' no matter what 'this' refers to\n                                        // equivalent to: My.Cat.speciesName\n\n        alert(this.self.speciesName);   // dependent on 'this'\n\n        statics.totalCreated++;\n\n        return this;\n    },\n\n    clone: function() {\n        var cloned = new this.self;                      // dependent on 'this'\n\n        cloned.groupName = this.statics().speciesName;   // equivalent to: My.Cat.speciesName\n\n        return cloned;\n    }\n});\n\n\nExt.define('My.SnowLeopard', {\n    extend: 'My.Cat',\n\n    statics: {\n        speciesName: 'Snow Leopard'     // My.SnowLeopard.speciesName = 'Snow Leopard'\n    },\n\n    constructor: function() {\n        this.callParent();\n    }\n});\n\nvar cat = new My.Cat();                 // alerts 'Cat', then alerts 'Cat'\n\nvar snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'\n\nvar clone = snowLeopard.clone();\nalert(Ext.getClassName(clone));         // alerts 'My.SnowLeopard'\nalert(clone.groupName);                 // alerts 'Cat'\n\nalert(My.Cat.totalCreated);             // alerts 3\n
\n", - "linenr": 199, - "return": { - "type": "Class", - "doc": "\n" - }, - "html_filename": "Base3.html" - } - ], - "property": [ - { - "type": "Class", - "deprecated": null, - "alias": null, - "protected": true, - "tagname": "property", - "href": "Base3.html#Ext-Base-property-self", - "shortDoc": "Get the reference to the current class from which this object was instantiated. ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/core/src/class/Base.js", - "private": false, - "name": "self", - "owner": "Ext.Base", - "doc": "

Get the reference to the current class from which this object was instantiated. Unlike Ext.Base.statics,\nthis.self is scope-dependent and it's meant to be used for dynamic inheritance. See Ext.Base.statics\nfor a detailed comparison

\n\n
Ext.define('My.Cat', {\n    statics: {\n        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'\n    },\n\n    constructor: function() {\n        alert(this.self.speciesName); / dependent on 'this'\n\n        return this;\n    },\n\n    clone: function() {\n        return new this.self();\n    }\n});\n\n\nExt.define('My.SnowLeopard', {\n    extend: 'My.Cat',\n    statics: {\n        speciesName: 'Snow Leopard'         // My.SnowLeopard.speciesName = 'Snow Leopard'\n    }\n});\n\nvar cat = new My.Cat();                     // alerts 'Cat'\nvar snowLeopard = new My.SnowLeopard();     // alerts 'Snow Leopard'\n\nvar clone = snowLeopard.clone();\nalert(Ext.getClassName(clone));             // alerts 'My.SnowLeopard'\n
\n", - "linenr": 18, - "html_filename": "Base3.html" - } - ], - "cssVar": [ - - ], - "cssMixin": [ - - ], - "event": [ - - ] - }, - "singleton": true, - "alias": null, - "superclasses": [ - "Ext.Base" - ], - "protected": false, - "tagname": "class", - "mixins": [ - - ], - "href": "Manager3.html#Ext-state-Manager", - "subclasses": [ - - ], - "static": false, - "author": null, - "component": false, - "filename": "/mnt/ebs/nightly/git/SDK/platform/src/state/Manager.js", - "private": false, - "alternateClassNames": [ - - ], - "name": "Ext.state.Manager", - "doc": "

This is the global state manager. By default all components that are \"state aware\" check this class\nfor state information if you don't pass them a custom state provider. In order for this class\nto be useful, it must be initialized with a provider when your application initializes. Example usage:

\n\n
// in your initialization function\ninit : function(){\n   Ext.state.Manager.setProvider(new Ext.state.CookieProvider());\n   var win = new Window(...);\n   win.restoreState();\n}\n 
\n\n\n

This class passes on calls from components to the underlying Ext.state.Provider so that\nthere is a common interface that can be used without needing to refer to a specific provider instance\nin every component.

\n", - "mixedInto": [ - - ], - "linenr": 1, - "xtypes": [ - - ], - "html_filename": "Manager3.html", - "extends": "Ext.Base" -}); \ No newline at end of file +Ext.data.JsonP.Ext_state_Manager({"tagname":"class","html":"

Hierarchy

Ext.Base
Ext.state.Manager

Requires

Files

This is the global state manager. By default all components that are \"state aware\" check this class\nfor state information if you don't pass them a custom state provider. In order for this class\nto be useful, it must be initialized with a provider when your application initializes. Example usage:

\n\n
// in your initialization function\ninit : function(){\n   Ext.state.Manager.setProvider(new Ext.state.CookieProvider());\n   var win = new Window(...);\n   win.restoreState();\n}\n 
\n\n\n

This class passes on calls from components to the underlying Ext.state.Provider so that\nthere is a common interface that can be used without needing to refer to a specific provider instance\nin every component.

\n
Defined By

Properties

Get the reference to the current class from which this object was instantiated. ...

Get the reference to the current class from which this object was instantiated. Unlike statics,\nthis.self is scope-dependent and it's meant to be used for dynamic inheritance. See statics\nfor a detailed comparison

\n\n
Ext.define('My.Cat', {\n    statics: {\n        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'\n    },\n\n    constructor: function() {\n        alert(this.self.speciesName); / dependent on 'this'\n\n        return this;\n    },\n\n    clone: function() {\n        return new this.self();\n    }\n});\n\n\nExt.define('My.SnowLeopard', {\n    extend: 'My.Cat',\n    statics: {\n        speciesName: 'Snow Leopard'         // My.SnowLeopard.speciesName = 'Snow Leopard'\n    }\n});\n\nvar cat = new My.Cat();                     // alerts 'Cat'\nvar snowLeopard = new My.SnowLeopard();     // alerts 'Snow Leopard'\n\nvar clone = snowLeopard.clone();\nalert(Ext.getClassName(clone));             // alerts 'My.SnowLeopard'\n
\n
Defined By

Methods

( Array/Arguments args ) : Objectprotected
Call the original method that was previously overridden with override\n\nExt.define('My.Cat', {\n constructor: functi...

Call the original method that was previously overridden with override

\n\n
Ext.define('My.Cat', {\n    constructor: function() {\n        alert(\"I'm a cat!\");\n\n        return this;\n    }\n});\n\nMy.Cat.override({\n    constructor: function() {\n        alert(\"I'm going to be a cat!\");\n\n        var instance = this.callOverridden();\n\n        alert(\"Meeeeoooowwww\");\n\n        return instance;\n    }\n});\n\nvar kitty = new My.Cat(); // alerts \"I'm going to be a cat!\"\n                          // alerts \"I'm a cat!\"\n                          // alerts \"Meeeeoooowwww\"\n
\n

Parameters

  • args : Array/Arguments

    The arguments, either an array or the arguments object

    \n

Returns

  • Object

    Returns the result after calling the overridden method

    \n
( Array/Arguments args ) : Objectprotected
Call the parent's overridden method. ...

Call the parent's overridden method. For example:

\n\n
Ext.define('My.own.A', {\n    constructor: function(test) {\n        alert(test);\n    }\n});\n\nExt.define('My.own.B', {\n    extend: 'My.own.A',\n\n    constructor: function(test) {\n        alert(test);\n\n        this.callParent([test + 1]);\n    }\n});\n\nExt.define('My.own.C', {\n    extend: 'My.own.B',\n\n    constructor: function() {\n        alert(\"Going to call parent's overriden constructor...\");\n\n        this.callParent(arguments);\n    }\n});\n\nvar a = new My.own.A(1); // alerts '1'\nvar b = new My.own.B(1); // alerts '1', then alerts '2'\nvar c = new My.own.C(2); // alerts \"Going to call parent's overriden constructor...\"\n                         // alerts '2', then alerts '3'\n
\n

Parameters

  • args : Array/Arguments

    The arguments, either an array or the arguments object\nfrom the current method, for example: this.callParent(arguments)

    \n

Returns

  • Object

    Returns the result from the superclass' method

    \n
Clears a value from the state ...

Clears a value from the state

\n

Parameters

Returns the current value for a key ...

Returns the current value for a key

\n

Parameters

  • name : String

    The key name

    \n
  • defaultValue : Object

    The default value to return if the key lookup does not match

    \n

Returns

Gets the currently configured state provider ...

Gets the currently configured state provider

\n

Returns

Initialize configuration for this class. ...

Initialize configuration for this class. a typical example:

\n\n
Ext.define('My.awesome.Class', {\n    // The default config\n    config: {\n        name: 'Awesome',\n        isAwesome: true\n    },\n\n    constructor: function(config) {\n        this.initConfig(config);\n\n        return this;\n    }\n});\n\nvar awesome = new My.awesome.Class({\n    name: 'Super Awesome'\n});\n\nalert(awesome.getName()); // 'Super Awesome'\n
\n

Parameters

Returns

  • Object

    mixins The mixin prototypes as key - value pairs

    \n
Sets the value for a key ...

Sets the value for a key

\n

Parameters

Configures the default state provider for your application ...

Configures the default state provider for your application

\n

Parameters

Get the reference to the class from which this object was instantiated. ...

Get the reference to the class from which this object was instantiated. Note that unlike self,\nthis.statics() is scope-independent and it always returns the class from which it was called, regardless of what\nthis points to during run-time

\n\n
Ext.define('My.Cat', {\n    statics: {\n        totalCreated: 0,\n        speciesName: 'Cat' // My.Cat.speciesName = 'Cat'\n    },\n\n    constructor: function() {\n        var statics = this.statics();\n\n        alert(statics.speciesName);     // always equals to 'Cat' no matter what 'this' refers to\n                                        // equivalent to: My.Cat.speciesName\n\n        alert(this.self.speciesName);   // dependent on 'this'\n\n        statics.totalCreated++;\n\n        return this;\n    },\n\n    clone: function() {\n        var cloned = new this.self;                      // dependent on 'this'\n\n        cloned.groupName = this.statics().speciesName;   // equivalent to: My.Cat.speciesName\n\n        return cloned;\n    }\n});\n\n\nExt.define('My.SnowLeopard', {\n    extend: 'My.Cat',\n\n    statics: {\n        speciesName: 'Snow Leopard'     // My.SnowLeopard.speciesName = 'Snow Leopard'\n    },\n\n    constructor: function() {\n        this.callParent();\n    }\n});\n\nvar cat = new My.Cat();                 // alerts 'Cat', then alerts 'Cat'\n\nvar snowLeopard = new My.SnowLeopard(); // alerts 'Cat', then alerts 'Snow Leopard'\n\nvar clone = snowLeopard.clone();\nalert(Ext.getClassName(clone));         // alerts 'My.SnowLeopard'\nalert(clone.groupName);                 // alerts 'Cat'\n\nalert(My.Cat.totalCreated);             // alerts 3\n
\n

Returns

","allMixins":[],"meta":{"docauthor":["Evan Trimboli "]},"requires":["Ext.state.Provider"],"deprecated":null,"extends":"Ext.Base","inheritable":false,"static":false,"superclasses":["Ext.Base","Ext.state.Manager"],"singleton":true,"code_type":"ext_define","alias":null,"statics":{"property":[],"css_var":[],"css_mixin":[],"cfg":[],"method":[],"event":[]},"subclasses":[],"uses":[],"protected":false,"mixins":[],"members":{"property":[{"tagname":"property","deprecated":null,"static":false,"owner":"Ext.Base","template":null,"required":null,"protected":true,"name":"self","id":"property-self"}],"css_var":[],"css_mixin":[],"cfg":[],"method":[{"tagname":"method","deprecated":null,"static":false,"owner":"Ext.Base","template":false,"required":null,"protected":true,"name":"callOverridden","id":"method-callOverridden"},{"tagname":"method","deprecated":null,"static":false,"owner":"Ext.Base","template":false,"required":null,"protected":true,"name":"callParent","id":"method-callParent"},{"tagname":"method","deprecated":null,"static":false,"owner":"Ext.state.Manager","template":false,"required":null,"protected":false,"name":"clear","id":"method-clear"},{"tagname":"method","deprecated":null,"static":false,"owner":"Ext.state.Manager","template":false,"required":null,"protected":false,"name":"get","id":"method-get"},{"tagname":"method","deprecated":null,"static":false,"owner":"Ext.state.Manager","template":false,"required":null,"protected":false,"name":"getProvider","id":"method-getProvider"},{"tagname":"method","deprecated":null,"static":false,"owner":"Ext.Base","template":false,"required":null,"protected":true,"name":"initConfig","id":"method-initConfig"},{"tagname":"method","deprecated":null,"static":false,"owner":"Ext.state.Manager","template":false,"required":null,"protected":false,"name":"set","id":"method-set"},{"tagname":"method","deprecated":null,"static":false,"owner":"Ext.state.Manager","template":false,"required":null,"protected":false,"name":"setProvider","id":"method-setProvider"},{"tagname":"method","deprecated":null,"static":false,"owner":"Ext.Base","template":false,"required":null,"protected":true,"name":"statics","id":"method-statics"}],"event":[]},"private":false,"component":false,"name":"Ext.state.Manager","alternateClassNames":[],"id":"class-Ext.state.Manager","mixedInto":[],"xtypes":{},"files":[{"href":"Manager4.html#Ext-state-Manager","filename":"Manager.js"}]}); \ No newline at end of file