@chamn/engine
Version:
39 lines (38 loc) • 1.16 kB
TypeScript
export declare class HotKeysManager {
private splitStr;
private downKeyCodeList;
private elements;
private disposeEventCbList;
/** 是否禁用热键 */
private disable;
/** 快捷操作按键记录 */
private hotActionMap;
constructor(options: {
elements: HTMLElement[];
customGetKeyCodeByEvent?: (event: KeyboardEvent) => number;
});
setDisable(status: boolean): void;
init(): void;
addElement(el: HTMLElement): void;
registerKeyEvent(el: HTMLElement): () => void;
/** 添加快捷操作 */
addHotAction(keys: (number | string)[], cb: () => void): void;
triggerHotKey(): void;
/**
* @param time ms
* @returns
*/
getTriggerHotkeyDebounce(): () => void;
/** 根据可识别的字符串获取对应的键码 */
getKeyCodeByLabel(label: string): any;
getKeyString(code: number): string;
/**
* 表单控件控件判断
* 如果是编辑控件返回 true
* hotkey is effective only when filter return true
* @param event
* @returns
*/
filterInputElement(event: KeyboardEvent): boolean;
destroy(): void;
}