UNPKG

js.foresight-devtools

Version:

Visual debugging tools for ForesightJS - mouse trajectory prediction and element interaction visualization

82 lines (81 loc) 3.3 kB
import { ForesightManager } from "js.foresight"; import type { ForesightElementData, ForesightManagerSettings } from "js.foresight"; import type { DebuggerSettings } from "../types"; import type { ForesightDebugger } from "./ForesightDebugger"; export declare class DebuggerControlPanel { private foresightManagerInstance; private debuggerInstance; private static debuggerControlPanelInstance; private shadowRoot; private controlsContainer; private controlPanelStyleElement; private elementListItemsContainer; private elementCountSpan; private callbackCountSpan; private elementListItems; private trajectoryEnabledCheckbox; private tabEnabledCheckbox; private scrollEnabledCheckbox; private historySizeSlider; private historyValueSpan; private predictionTimeSlider; private predictionValueSpan; private tabOffsetSlider; private tabOffsetValueSpan; private scrollMarginSlider; private scrollMarginValueSpan; private showNameTagsCheckbox; private sortOptionsPopup; private sortButton; private containerMinimizeButton; private allSettingsSectionsContainer; private debuggerElementsSection; private isContainerMinimized; private isMouseSettingsMinimized; private isKeyboardSettingsMinimized; private isScrollSettingsMinimized; private isGeneralSettingsMinimized; private readonly SESSION_STORAGE_KEY; private copySettingsButton; private minimizedElementCount; private copyTimeoutId; private closeSortDropdownHandler; private constructor(); /** * The initialize method now creates the instance if needed, * then calls the setup method to ensure the UI is ready. */ static initialize(foresightManager: ForesightManager, debuggerInstance: ForesightDebugger, shadowRoot: ShadowRoot, debuggerSettings: DebuggerSettings): DebuggerControlPanel; /** * All DOM creation and event listener setup logic is moved here. * This method can be called to "revive" a cleaned-up instance. */ private _setupDOMAndListeners; private static get isInitiated(); private loadSectionStatesFromSessionStorage; private saveSectionStatesToSessionStorage; private queryDOMElements; private handleCopySettings; private createInputEventListener; private createChangeEventListener; private createSectionVisibilityToggleEventListener; private setupEventListeners; private toggleMinimizeSection; private originalSectionStates; private updateContainerVisibilityState; private updateSortOptionUI; updateControlsState(managerSettings: ForesightManagerSettings, debuggerSettings: DebuggerSettings): void; private refreshRegisteredElementCountDisplay; removeElementFromList(elementData: ForesightElementData): void; updateElementVisibilityStatus(elementData: ForesightElementData): void; private sortAndReorderElements; addElementToList(elementData: ForesightElementData, sort?: boolean): void; private updateListItemContent; /** * The cleanup method is updated to be more thorough, nullifying all * DOM-related properties to put the instance in a dormant state. */ cleanup(): void; private createControlContainer; private getStyles; }