diff --git a/www/src/js/app/app.ts b/www/src/js/app/app.ts index be46920..1a59c3e 100644 --- a/www/src/js/app/app.ts +++ b/www/src/js/app/app.ts @@ -1,7 +1,14 @@ import { HTMLTemplateResult, html, css, CSSResultGroup } from "lit"; import { customElement, property, query } from "lit/decorators.js"; import { BaseElement, defaultCss } from "../components"; -import "./nav.ts"; +import "./nav"; +import "./share"; +import { ShareSessionDialog } from "./share"; + +import { setBasePath } from '@shoelace-style/shoelace/dist/utilities/base-path.js'; + +// Set the base path to the folder you copied Shoelace's assets to +setBasePath('/shoelace'); import "@shoelace-style/shoelace/dist/components/split-panel/split-panel.js"; @@ -29,9 +36,9 @@ export class App extends BaseElement { flex-grow: 1; // z-index: auto; } - .z-fix { - z-index: 900; - } + // .z-fix { + // z-index: 900; + // } sl-split-panel { height: 100%; } @@ -40,9 +47,12 @@ export class App extends BaseElement { editorSettings: { fontSize: number; relativeLineNumbers: boolean }; - get editor() { - return this.renderRoot.querySelector("ace-ic10") as IC10Editor; - } + @query('ace-ic10') accessor editor: IC10Editor; + @query('session-share-dialog') accessor shareDialog: ShareSessionDialog; + + // get editor() { + // return this.renderRoot.querySelector("ace-ic10") as IC10Editor; + // } vm!: VirtualMachine; session!: Session; @@ -57,16 +67,16 @@ export class App extends BaseElement { protected createRenderRoot(): HTMLElement | DocumentFragment { const root = super.createRenderRoot(); - root.addEventListener('app-share-session', this._handleShare); - root.addEventListener('app-open-file', this._handleOpenFile); - root.addEventListener('app-save-as', this._handleSaveAs); + root.addEventListener('app-share-session', this._handleShare.bind(this)); + root.addEventListener('app-open-file', this._handleOpenFile.bind(this)); + root.addEventListener('app-save-as', this._handleSaveAs.bind(this)); return root; } protected render(): HTMLTemplateResult { return html`