_KeyNavContainer.d.ts
67 lines
| 2.4 KiB
| video/mp2t
|
TypeScriptLexer
cin
|
r2 | import _FocusMixin = require("./_FocusMixin"); | ||
import _Container = require("./_Container"); | ||||
import _WidgetBase = require("./_WidgetBase"); | ||||
import { DeclareConstructor } from "dojo/_base/declare"; | ||||
import _KeyNavMixin = require("./_KeyNavMixin"); | ||||
/** | ||||
* A _Container with keyboard navigation of its children. | ||||
* | ||||
* Provides normalized keyboard and focusing code for Container widgets. | ||||
* To use this mixin, call connectKeyNavHandlers() in postCreate(). | ||||
* Also, child widgets must implement a focus() method. | ||||
*/ | ||||
interface _KeyNavContainer extends _FocusMixin, _KeyNavMixin, _Container { | ||||
/** | ||||
* Deprecated. You can call this in postCreate() to attach the keyboard handlers to the container, but the preferred method is to override _onLeftArrow() and _onRightArrow(), or _onUpArrow() and _onDownArrow(), to call focusPrev() and focusNext(). | ||||
* | ||||
* @param prevKeyCodes Key codes for navigating to the previous child. | ||||
* @param nextKeyCodes Key codes for navigating to the next child. | ||||
*/ | ||||
connectKeyNavHandlers(prevKeyCodes: number[], nextKeyCodes: number[]): void; | ||||
/** | ||||
* @deprecated | ||||
*/ | ||||
startupKeyNavChildren(): void; | ||||
/** | ||||
* Setup for each child widget. | ||||
* | ||||
* Sets tabIndex=-1 on each child, so that the tab key will leave the container rather than visiting each child. | ||||
* | ||||
* Note: if you add children by a different method than addChild(), then need to call this manually or at least make sure the child's tabIndex is -1. | ||||
* | ||||
* Note: see also _LayoutWidget.setupChild(), which is also called for each child widget. | ||||
*/ | ||||
_startupChild(widget: _WidgetBase): void; | ||||
/** | ||||
* Focus the next widget | ||||
*/ | ||||
focusNext(): void; | ||||
/** | ||||
* Focus the last focusable node in the previous widget | ||||
* | ||||
* (ex: go to the ComboButton icon section rather than button section) | ||||
*/ | ||||
focusPrev(): void; | ||||
/** | ||||
* Implement _KeyNavMixin.childSelector, to identify focusable child nodes. | ||||
* | ||||
* If we allowed a dojo/query dependency from this module this could more simply be a string "> *" instead of this function. | ||||
*/ | ||||
childSelector(node: Element | Node): boolean | void | any; | ||||
} | ||||
declare module "dojo/_base/kernel" { | ||||
interface Dijit { | ||||
_KeyNavContainer: _KeyNavContainerConstructor | ||||
} | ||||
} | ||||
type _KeyNavContainerConstructor = DeclareConstructor<_KeyNavContainer>; | ||||
declare const _KeyNavContainer: _KeyNavContainerConstructor; | ||||
export = _KeyNavContainer; | ||||