Component used for the desktop layout.

Available slots:

  • header: Header of the component.
  • data: for the left panel
  • tool-button: for the right panel tools button
  • tool-button-separate: for the right panel tools button like the shared button
  • tool-panel-<name>: for the right panels
  • infobar-left: for the left components of the infobar
  • infobar-right: for the right components of the infobar
  • infobar-footer: for the footer of the infobar
  • footer-<name>: for the footer components.

CSS variable to configure the panel sizes:

  • --right-panel-width-<name>: width of the tool panel
  • --footer-panel-height-<name>: height of the footer panel

Hierarchy (view full)

Other

bootstrapStyle: CSSResult = cssBootstrap
bootstrapVarStyle: CSSResult = ...
commonStyle: CSSResult = ...
fontawesomeStyle: CSSResult = cssFontawesome
resetStyle: CSSResult = cssReset
  • Panel resizing: Store initial mouse position, listen to drag event and resize elements.

    Parameters

    • panelResizeEvent: PanelResize

      Interface to store the details of the drag event

    • separator: HTMLElement

      Element separating the elements to resize

    • leftElement: HTMLElement

      Left element to resize

    • rightElement: HTMLElement

      Right element to resize

    Returns ((event: MouseEvent) => void)

      • (event): void
      • Parameters

        • event: MouseEvent

        Returns void

  • Panel resizing: Compute drag offset, change element position or width accordingly.

    Parameters

    • panelResizeEvent: PanelResize

      Interface to store the details of the mouse down event

    Returns ((event: MouseEvent) => MouseEvent)

    The drag event

      • (event): MouseEvent
      • Parameters

        • event: MouseEvent

        Returns MouseEvent

  • Resize the data (left) panel when dragging the separator

    Parameters

    • event: MouseEvent

      The mouse down event

    • desktopCanvas: ShadowRoot

      The desktop canvas

    Returns MouseEvent

    The mouse down event

  • Resize the tool (right) panel when dragging the separator

    Parameters

    • event: MouseEvent

      The mouse down event

    • desktopCanvas: ShadowRoot

      The desktop canvas

    Returns MouseEvent

    The mouse down event

lifecycle

  • Invoked when the component is added to the document's DOM.

    In connectedCallback() you should setup tasks that should only occur when the element is connected to the document. The most common of these is adding event listeners to nodes external to the element, like a keydown event handler added to the window.

    connectedCallback() {
    super.connectedCallback();
    addEventListener('keydown', this._handleKeydown);
    }

    Typically, anything done in connectedCallback() should be undone when the element is disconnected, in disconnectedCallback().

    Returns void

  • Invoked when the component is removed from the document's DOM.

    This callback is the main signal to the element that it may no longer be used. disconnectedCallback() should ensure that nothing is holding a reference to the element (such as event listeners added to nodes external to the element), so that it is free to be garbage collected.

    disconnectedCallback() {
    super.disconnectedCallback();
    window.removeEventListener('keydown', this._handleKeydown);
    }

    An element may be re-connected after being disconnected.

    Returns void

rendering

  • Invoked on each update to perform rendering tasks. This method may return any value renderable by lit-html's ChildPart - typically a TemplateResult. Setting properties inside this method will not trigger the element to update.

    Returns TemplateResult

styles

styles: CSSResult[] = ...

Array of styles to apply to the element. The styles should be defined using the css tag function, via constructible stylesheets, or imported from native CSS module scripts.

Note on Content Security Policy:

Element styles are implemented with <style> tags when the browser doesn't support adopted StyleSheets. To use such <style> tags with the style-src CSP directive, the style-src value must either include 'unsafe-inline' or nonce-<base64-value> with <base64-value> replaced be a server-generated nonce.

To provide a nonce to use on generated <style> elements, set window.litNonce to a server-generated nonce in your page's HTML, before loading application code:

<script>
// Generated and unique per request:
window.litNonce = 'a1b2c3d4';
</script>

updates

  • Invoked whenever the element is updated. Implement to perform post-updating tasks via DOM APIs, for example, focusing an element.

    Setting properties inside this method will trigger the element to update again after this update cycle completes.

    Returns void