diff --git a/ts_web/elements/wcc-dashboard.ts b/ts_web/elements/wcc-dashboard.ts index d805e8c..63d3707 100644 --- a/ts_web/elements/wcc-dashboard.ts +++ b/ts_web/elements/wcc-dashboard.ts @@ -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 { { 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(); + }} > - + `; } @@ -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(); diff --git a/ts_web/elements/wcc-frame.ts b/ts_web/elements/wcc-frame.ts index 18bb0e5..31ae7af 100644 --- a/ts_web/elements/wcc-frame.ts +++ b/ts_web/elements/wcc-frame.ts @@ -16,6 +16,9 @@ export class WccFrame extends DeesElement { @property({ type: Boolean }) public advancedEditorOpen: boolean = false; + @property({ type: Boolean }) + public isFullscreen: boolean = false; + public static styles = [ css` :host { @@ -43,9 +46,19 @@ export class WccFrame extends DeesElement { return html`