X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/6746dc89c47ed01b165cc1152533605f97eb8e8d..HEAD:/docs/output/Ext.util.KeyMap.js diff --git a/docs/output/Ext.util.KeyMap.js b/docs/output/Ext.util.KeyMap.js index 22b16f66..04911103 100644 --- a/docs/output/Ext.util.KeyMap.js +++ b/docs/output/Ext.util.KeyMap.js @@ -1,579 +1 @@ -Ext.data.JsonP.Ext_util_KeyMap({ - "allMixins": [ - - ], - "deprecated": null, - "docauthor": null, - "members": { - "cfg": [ - - ], - "method": [ - { - "deprecated": null, - "alias": null, - "href": "KeyMap.html#Ext-util-KeyMap-method-constructor", - "tagname": "method", - "protected": false, - "shortDoc": "Creates new KeyMap. ...", - "static": false, - "params": [ - { - "type": "Mixed", - "optional": false, - "doc": "
The element to bind to
\n", - "name": "el" - }, - { - "type": "Object", - "optional": false, - "doc": "The binding (see addBinding)
\n", - "name": "binding" - }, - { - "type": "String", - "optional": true, - "doc": "(optional) The event to bind to (defaults to \"keydown\")
\n", - "name": "eventName" - } - ], - "private": false, - "filename": "/mnt/ebs/nightly/git/SDK/extjs/src/util/KeyMap.js", - "doc": "Creates new KeyMap.
\n", - "owner": "Ext.util.KeyMap", - "name": "KeyMap", - "html_filename": "KeyMap.html", - "return": { - "type": "Object", - "doc": "\n" - }, - "linenr": 46 - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "KeyMap.html#Ext-util-KeyMap-method-addBinding", - "shortDoc": "Add a new binding to this KeyMap. ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/extjs/src/util/KeyMap.js", - "private": false, - "params": [ - { - "type": "Object/Array", - "optional": false, - "doc": "A single KeyMap config or an array of configs
\n", - "name": "binding" - } - ], - "name": "addBinding", - "owner": "Ext.util.KeyMap", - "doc": "Add a new binding to this KeyMap. The following config object properties are supported:
\n\nProperty Type Description\n---------- --------------- ----------------------------------------------------------------------\nkey String/Array A single keycode or an array of keycodes to handle\nshift Boolean True to handle key only when shift is pressed, False to handle the key only when shift is not pressed (defaults to undefined)\nctrl Boolean True to handle key only when ctrl is pressed, False to handle the key only when ctrl is not pressed (defaults to undefined)\nalt Boolean True to handle key only when alt is pressed, False to handle the key only when alt is not pressed (defaults to undefined)\nhandler Function The function to call when KeyMap finds the expected key combination\nfn Function Alias of handler (for backwards-compatibility)\nscope Object The scope of the callback function\ndefaultEventAction String A default action to apply to the event. Possible values are: stopEvent, stopPropagation, preventDefault. If no value is set no action is performed. \n\n\n\n
Usage:
\n\n// Create a KeyMap\nvar map = new Ext.util.KeyMap(document, {\n key: Ext.EventObject.ENTER,\n fn: handleKey,\n scope: this\n});\n\n//Add a new binding to the existing KeyMap later\nmap.addBinding({\n key: 'abc',\n shift: true,\n fn: handleKey,\n scope: this\n});\n
\n\n",
- "linenr": 68,
- "return": {
- "type": "void",
- "doc": "\n"
- },
- "html_filename": "KeyMap.html"
- },
- {
- "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\nExt.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
Call the original method that was previously overridden with Ext.Base.override
\n\nExt.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)
Call the parent's overridden method. For example:
\n\nExt.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": "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\nExt.define('My.cool.Class', {\n ...\n});\n\nMy.cool.Class.create({\n someConfig: true\n});\n
\n\nAll 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\nExt.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": "KeyMap.html#Ext-util-KeyMap-method-destroy",
- "shortDoc": "Destroys the KeyMap instance and removes all handlers. ...",
- "static": false,
- "filename": "/mnt/ebs/nightly/git/SDK/extjs/src/util/KeyMap.js",
- "private": false,
- "params": [
- {
- "type": "Boolean",
- "optional": false,
- "doc": "True to also remove the attached element
\n", - "name": "removeEl" - } - ], - "name": "destroy", - "owner": "Ext.util.KeyMap", - "doc": "Destroys the KeyMap instance and removes all handlers.
\n", - "linenr": 297, - "return": { - "type": "void", - "doc": "\n" - }, - "html_filename": "KeyMap.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "KeyMap.html#Ext-util-KeyMap-method-disable", - "shortDoc": "Disable this KeyMap ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/extjs/src/util/KeyMap.js", - "private": false, - "params": [ - - ], - "name": "disable", - "owner": "Ext.util.KeyMap", - "doc": "Disable this KeyMap
\n", - "linenr": 275, - "return": { - "type": "void", - "doc": "\n" - }, - "html_filename": "KeyMap.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "KeyMap.html#Ext-util-KeyMap-method-enable", - "shortDoc": "Enables this KeyMap ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/extjs/src/util/KeyMap.js", - "private": false, - "params": [ - - ], - "name": "enable", - "owner": "Ext.util.KeyMap", - "doc": "Enables this KeyMap
\n", - "linenr": 265, - "return": { - "type": "void", - "doc": "\n" - }, - "html_filename": "KeyMap.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\nExt.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": "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\nExt.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\nExt.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": "KeyMap.html#Ext-util-KeyMap-method-isEnabled", - "shortDoc": "Returns true if this KeyMap is enabled ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/extjs/src/util/KeyMap.js", - "private": false, - "params": [ - - ], - "name": "isEnabled", - "owner": "Ext.util.KeyMap", - "doc": "Returns true if this KeyMap is enabled
\n", - "linenr": 257, - "return": { - "type": "Boolean", - "doc": "\n" - }, - "html_filename": "KeyMap.html" - }, - { - "deprecated": null, - "alias": null, - "protected": false, - "tagname": "method", - "href": "KeyMap.html#Ext-util-KeyMap-method-on", - "shortDoc": "Shorthand for adding a single key listener ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/extjs/src/util/KeyMap.js", - "private": false, - "params": [ - { - "type": "Number/Array/Object", - "optional": false, - "doc": "Either the numeric key code, array of key codes or an object with the\nfollowing options:\n{key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}
\n", - "name": "key" - }, - { - "type": "Function", - "optional": false, - "doc": "The function to call
\n", - "name": "fn" - }, - { - "type": "Object", - "optional": true, - "doc": "(optional) The scope (this
reference) in which the function is executed. Defaults to the browser window.
Shorthand for adding a single key listener
\n", - "linenr": 229, - "return": { - "type": "void", - "doc": "\n" - }, - "html_filename": "KeyMap.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\nExt.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": "KeyMap.html#Ext-util-KeyMap-method-setDisabled", - "shortDoc": "Convenience function for setting disabled/enabled by boolean. ...", - "static": false, - "filename": "/mnt/ebs/nightly/git/SDK/extjs/src/util/KeyMap.js", - "private": false, - "params": [ - { - "type": "Boolean", - "optional": false, - "doc": "\n", - "name": "disabled" - } - ], - "name": "setDisabled", - "owner": "Ext.util.KeyMap", - "doc": "Convenience function for setting disabled/enabled by boolean.
\n", - "linenr": 285, - "return": { - "type": "void", - "doc": "\n" - }, - "html_filename": "KeyMap.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
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
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": false,
- "alias": null,
- "superclasses": [
- "Ext.Base"
- ],
- "protected": false,
- "tagname": "class",
- "mixins": [
-
- ],
- "href": "KeyMap.html#Ext-util-KeyMap",
- "subclasses": [
-
- ],
- "static": false,
- "author": null,
- "component": false,
- "filename": "/mnt/ebs/nightly/git/SDK/extjs/src/util/KeyMap.js",
- "private": false,
- "alternateClassNames": [
- "Ext.KeyMap"
- ],
- "name": "Ext.util.KeyMap",
- "doc": "Handles mapping keys to actions for an element. One key map can be used for multiple actions.\nThe constructor accepts the same config object as defined by addBinding.\nIf you bind a callback function to a KeyMap, anytime the KeyMap handles an expected key\ncombination it will call the function with this signature (if the match is a multi-key\ncombination the callback will still be called only once): (String key, Ext.EventObject e)\nA KeyMap can also handle a string representation of keys.
\nUsage:
// map one key by key code\nvar map = new Ext.util.KeyMap(\"my-element\", {\n key: 13, // or Ext.EventObject.ENTER\n fn: myHandler,\n scope: myObject\n});\n\n// map multiple keys to one action by string\nvar map = new Ext.util.KeyMap(\"my-element\", {\n key: \"a\\r\\n\\t\",\n fn: myHandler,\n scope: myObject\n});\n\n// map multiple keys to multiple actions by strings and array of codes\nvar map = new Ext.util.KeyMap(\"my-element\", [\n {\n key: [10,13],\n fn: function(){ alert(\"Return was pressed\"); }\n }, {\n key: \"abc\",\n fn: function(){ alert('a, b or c was pressed'); }\n }, {\n key: \"\\t\",\n ctrl:true,\n shift:true,\n fn: function(){ alert('Control + shift + tab was pressed.'); }\n }\n]);\n
\n\n\nNote: A KeyMap starts enabled
\n", - "mixedInto": [ - - ], - "linenr": 1, - "xtypes": [ - - ], - "html_filename": "KeyMap.html", - "extends": "Ext.Base" -}); \ No newline at end of file +Ext.data.JsonP.Ext_util_KeyMap({"tagname":"class","html":"Alternate names
Ext.KeyMapHierarchy
Ext.BaseExt.util.KeyMapFiles
Handles mapping keys to actions for an element. One key map can be used for multiple actions.\nThe constructor accepts the same config object as defined by addBinding.\nIf you bind a callback function to a KeyMap, anytime the KeyMap handles an expected key\ncombination it will call the function with this signature (if the match is a multi-key\ncombination the callback will still be called only once): (String key, Ext.EventObject e)\nA KeyMap can also handle a string representation of keys. By default KeyMap starts enabled.
\nUsage:
// map one key by key code\nvar map = new Ext.util.KeyMap(\"my-element\", {\n key: 13, // or Ext.EventObject.ENTER\n fn: myHandler,\n scope: myObject\n});\n\n// map multiple keys to one action by string\nvar map = new Ext.util.KeyMap(\"my-element\", {\n key: \"a\\r\\n\\t\",\n fn: myHandler,\n scope: myObject\n});\n\n// map multiple keys to multiple actions by strings and array of codes\nvar map = new Ext.util.KeyMap(\"my-element\", [\n {\n key: [10,13],\n fn: function(){ alert(\"Return was pressed\"); }\n }, {\n key: \"abc\",\n fn: function(){ alert('a, b or c was pressed'); }\n }, {\n key: \"\\t\",\n ctrl:true,\n shift:true,\n fn: function(){ alert('Control + shift + tab was pressed.'); }\n }\n]);\n
\n\nGet 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
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
\nCreates new KeyMap.
\nThe element or its ID to bind to
\nThe binding (see addBinding)
\nThe event to bind to
\nDefaults to: "keydown"
Add a new binding to this KeyMap. The following config object properties are supported:
\n\nProperty Type Description\n---------- --------------- ----------------------------------------------------------------------\nkey String/Array A single keycode or an array of keycodes to handle\nshift Boolean True to handle key only when shift is pressed, False to handle the key only when shift is not pressed (defaults to undefined)\nctrl Boolean True to handle key only when ctrl is pressed, False to handle the key only when ctrl is not pressed (defaults to undefined)\nalt Boolean True to handle key only when alt is pressed, False to handle the key only when alt is not pressed (defaults to undefined)\nhandler Function The function to call when KeyMap finds the expected key combination\nfn Function Alias of handler (for backwards-compatibility)\nscope Object The scope of the callback function\ndefaultEventAction String A default action to apply to the event. Possible values are: stopEvent, stopPropagation, preventDefault. If no value is set no action is performed.\n\n\n\n
Usage:
\n\n// Create a KeyMap\nvar map = new Ext.util.KeyMap(document, {\n key: Ext.EventObject.ENTER,\n fn: handleKey,\n scope: this\n});\n\n//Add a new binding to the existing KeyMap later\nmap.addBinding({\n key: 'abc',\n shift: true,\n fn: handleKey,\n scope: this\n});\n
\n\nCall the original method that was previously overridden with override
\n\nExt.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
\nThe arguments, either an array or the arguments
object
Returns the result after calling the overridden method
\nCall the parent's overridden method. For example:
\n\nExt.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
\nThe arguments, either an array or the arguments
object\nfrom the current method, for example: this.callParent(arguments)
Returns the result from the superclass' method
\nDestroys the KeyMap instance and removes all handlers.
\nTrue to also remove the attached element
\nInitialize configuration for this class. a typical example:
\n\nExt.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
\nmixins The mixin prototypes as key - value pairs
\nShorthand for adding a single key listener
\nEither the numeric key code, array of key codes or an object with the\nfollowing options:\n{key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}
\nThe function to call
\nThe scope (this
reference) in which the function is executed. Defaults to the browser window.
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
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
\nAdd / override static properties of this class.
\n\nExt.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
\nthis
\nBorrow another class' members to the prototype of this class.
\n\nExt.define('Bank', {\n money: '$$$',\n printMoney: function() {\n alert('$$$$$$$');\n }\n});\n\nExt.define('Thief', {\n ...\n});\n\nThief.borrow(Bank, ['money', 'printMoney']);\n\nvar steve = new Thief();\n\nalert(steve.money); // alerts '$$$'\nsteve.printMoney(); // alerts '$$$$$$$'\n
\nThe class to borrow members from
\nThe names of the members to borrow
\nthis
\nCreate a new instance of this Class.
\n\nExt.define('My.cool.Class', {\n ...\n});\n\nMy.cool.Class.create({\n someConfig: true\n});\n
\n\nAll parameters are passed to the constructor of the class.
\nthe created instance.
\nCreate aliases for existing prototype methods. Example:
\n\nExt.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
\nThe new method name, or an object to set multiple aliases. See\nflexSetter
\nThe original method name
\nGet the current class' name in string format.
\n\nExt.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
\nclassName
\nAdd methods / properties to the prototype of this class.
\n\nExt.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
\nOverride prototype members of this class. Overridden methods can be invoked via\ncallOverridden
\n\nExt.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
\nthis
\n