add fullscreen mode

This commit is contained in:
2025-07-07 08:48:09 +00:00
parent 923bedc4fc
commit 309d708830
4 changed files with 58 additions and 7 deletions

View File

@@ -29,6 +29,9 @@ export class WccDashboard extends DeesElement {
@property()
public selectedTheme: TTheme = 'dark';
@property()
public isFullscreen: boolean = false;
@property()
public pages: { [key: string]: () => TemplateResult } = {};
@@ -76,6 +79,7 @@ export class WccDashboard extends DeesElement {
<wcc-sidebar
.dashboardRef=${this}
.selectedItem=${this.selectedItem}
.isFullscreen=${this.isFullscreen}
@selectedType=${(eventArg) => {
this.selectedType = eventArg.detail;
}}
@@ -92,6 +96,7 @@ export class WccDashboard extends DeesElement {
.selectedItem=${this.selectedItem}
.selectedViewport=${this.selectedViewport}
.selectedTheme=${this.selectedTheme}
.isFullscreen=${this.isFullscreen}
@selectedViewport=${(eventArg) => {
this.selectedViewport = eventArg.detail;
this.scheduleUpdate();
@@ -106,8 +111,11 @@ export class WccDashboard extends DeesElement {
frame.requestUpdate();
}
}}
@toggleFullscreen=${() => {
this.toggleFullscreen();
}}
></wcc-properties>
<wcc-frame id="wccFrame" viewport=${this.selectedViewport}>
<wcc-frame id="wccFrame" viewport=${this.selectedViewport} .isFullscreen=${this.isFullscreen}>
</wcc-frame>
`;
}
@@ -122,9 +130,20 @@ export class WccDashboard extends DeesElement {
}
}
public toggleFullscreen() {
this.isFullscreen = !this.isFullscreen;
}
public async firstUpdated() {
this.domtools = await plugins.deesDomtools.DomTools.setupDomTools();
// Add ESC key handler for fullscreen mode
document.addEventListener('keydown', (event) => {
if (event.key === 'Escape' && this.isFullscreen) {
this.isFullscreen = false;
}
});
// Set up scroll listeners after DOM is ready
setTimeout(() => {
this.setupScrollListeners();