2026-03-30 15:56:18 +08:00
|
|
|
import './index.css';
|
|
|
|
|
import { IBimComponent } from '../../types/component';
|
|
|
|
|
import { WalkControlPanel } from '../walk-control-panel';
|
|
|
|
|
import type { WalkControlPanelOptions, WalkControlState } from '../walk-control-panel/types';
|
|
|
|
|
import type { ThemeConfig } from '../../themes/types';
|
|
|
|
|
|
|
|
|
|
export class WalkDockPanel implements IBimComponent {
|
|
|
|
|
public readonly element: HTMLElement;
|
|
|
|
|
private readonly panel: WalkControlPanel;
|
|
|
|
|
|
|
|
|
|
constructor(options: WalkControlPanelOptions = {}) {
|
|
|
|
|
this.panel = new WalkControlPanel(options);
|
|
|
|
|
this.panel.init();
|
|
|
|
|
this.element = this.panel.element;
|
|
|
|
|
this.element.classList.add('walk-dock-panel');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public init(): void {}
|
|
|
|
|
|
|
|
|
|
public setPlanViewActive(active: boolean): void {
|
|
|
|
|
this.panel.setPlanViewActive(active);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public setLocales(): void {
|
|
|
|
|
this.panel.setLocales();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public setTheme(theme: ThemeConfig): void {
|
|
|
|
|
this.panel.setTheme(theme);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public getState(): WalkControlState {
|
|
|
|
|
return this.panel.getState();
|
|
|
|
|
}
|
|
|
|
|
|
2026-04-21 15:07:49 +08:00
|
|
|
public setSpeed(speed: number): void {
|
|
|
|
|
this.panel.setSpeed(speed);
|
|
|
|
|
}
|
|
|
|
|
|
2026-03-30 15:56:18 +08:00
|
|
|
public destroy(): void {
|
|
|
|
|
this.panel.destroy();
|
|
|
|
|
}
|
|
|
|
|
}
|