js.foresight-devtools
Version:
Visual debugging tools for ForesightJS - mouse trajectory prediction and element interaction visualization
82 lines (81 loc) • 3.3 kB
TypeScript
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;
}