KeyMap
Configs
1
Configs
1An object whose keys are the key name
and optional modifier prefixes: 'Ctrl+', 'Alt+', 'Meta+', and 'Shift+' (case-insensitive). The values
are the name of the instance method to call when the keystroke is received.
For example:
keyMap : {
'Ctrl+A': 'onSelectAll',
'Ctrl+Z': 'onUndo',
't' : 'gotoNow',
[/\d/] : 'onDigit'
}
If a key is a visible character (as above), and not modified by any modifier keys, and emanates from an editable
element (such as an <input> or <textarea>), the keystroke is ignored. This is to allow the browser to
handle typing in editable elements.
In addition to key names, the special key 'delegate' can be included to specify additional objects that
have their own keyMap. If a keystroke is not handled by this keyMap, the delegates are processed until
one has a matching entry in its keyMap. The value of the delegate key can be a single string, an array of
strings or an object whose truthy keys are
dot paths identifying the delegate(s) related to
this instance.
For example:
keyMap : {
delegate : ['widgetMap.foo', 'widgetMap.bar', 'tbar']
}
An widget with the above keyMap will delegate to the child widgets named foo and bar via the widget's
widgetMap. In addition, the tbar property of the widget will also
be considered as a delegate.
The following is equivalent to the above delegate but using an object. This form can be used to allow
removal of entries by derived classes or an overriding instance config.
keyMap : {
delegate : {
'widgetMap.foo' : true,
'widgetMap.bar' : true,
tbar : true
}
}
Properties
3
Properties
3Accessibility
An object whose keys are the key name
and optional modifier prefixes: 'Ctrl+', 'Alt+', 'Meta+', and 'Shift+' (case-insensitive). The values
are the name of the instance method to call when the keystroke is received.
For example:
keyMap : {
'Ctrl+A': 'onSelectAll',
'Ctrl+Z': 'onUndo',
't' : 'gotoNow',
[/\d/] : 'onDigit'
}
If a key is a visible character (as above), and not modified by any modifier keys, and emanates from an editable
element (such as an <input> or <textarea>), the keystroke is ignored. This is to allow the browser to
handle typing in editable elements.
In addition to key names, the special key 'delegate' can be included to specify additional objects that
have their own keyMap. If a keystroke is not handled by this keyMap, the delegates are processed until
one has a matching entry in its keyMap. The value of the delegate key can be a single string, an array of
strings or an object whose truthy keys are
dot paths identifying the delegate(s) related to
this instance.
For example:
keyMap : {
delegate : ['widgetMap.foo', 'widgetMap.bar', 'tbar']
}
An widget with the above keyMap will delegate to the child widgets named foo and bar via the widget's
widgetMap. In addition, the tbar property of the widget will also
be considered as a delegate.
The following is equivalent to the above delegate but using an object. This form can be used to allow
removal of entries by derived classes or an overriding instance config.
keyMap : {
delegate : {
'widgetMap.foo' : true,
'widgetMap.bar' : true,
tbar : true
}
}
Typedefs
1
Typedefs
1Mapped key configuration