mirror of
https://github.com/devonthesofa/obsidian-note-status.git
synced 2026-07-22 05:45:04 +00:00
29 lines
821 B
TypeScript
29 lines
821 B
TypeScript
/**
|
|
* Event handlers setup and cleanup for the dropdown
|
|
*/
|
|
|
|
/**
|
|
* Setup event handlers for the dropdown
|
|
*/
|
|
export function setupDropdownEvents(options: {
|
|
clickOutsideHandler: (e: MouseEvent) => void;
|
|
escapeKeyHandler: (e: KeyboardEvent) => void;
|
|
}): void {
|
|
const { clickOutsideHandler, escapeKeyHandler } = options;
|
|
|
|
document.addEventListener("click", clickOutsideHandler);
|
|
document.addEventListener("keydown", escapeKeyHandler);
|
|
}
|
|
|
|
/**
|
|
* Remove dropdown event handlers
|
|
*/
|
|
export function removeDropdownEvents(options: {
|
|
clickOutsideHandler: (e: MouseEvent) => void;
|
|
escapeKeyHandler: (e: KeyboardEvent) => void;
|
|
}): void {
|
|
const { clickOutsideHandler, escapeKeyHandler } = options;
|
|
|
|
document.removeEventListener("click", clickOutsideHandler);
|
|
document.removeEventListener("keydown", escapeKeyHandler);
|
|
}
|