Frame

A Frame object for configuring a generic container into which content blocks can be inserted.

Overview

A Frame object is used for configuring a generic container into which blocks can be inserted. Blocks include content such as Viewer, ControlPanel, and Model.

The blocks in a frame can either be laid using the default layout scheme. This scheme lays out the blocks vertically, from top to bottom. Alternatively, the layout property allows a custom layout can be configured.

Two special types are the RouterOutlet block and the PopupOutlet block.

  • The RouterOutlet block defines an area within a frame into which another frame can be inserted. In this way, a hierarchical structure of nested frames can be defined. Note that each frame should typically only contain at most a single RouterOutlet block.
  • The PopupOutlet block defines an area in a popup into which another frame can be inserted. These frames are only visible when the user performs some action to open the popup. In this case, a frame can contain as many PopupOutlet blocks as necessary.

Example

Below is an example configuration.

kind: Solution
version: v0
router:
  kind: Router
  routes:
    - frame: home-frame
    - frame: other-frame
frames:
  home-frame:
    kind: Frame
    contents:
      my-text1:
        kind: Text
        text: Hello World Frame 1
        type: display-1
  other-frame:
    kind: Frame
    contents:
      my-text2:
        kind: Text
        text: Hello World Frame 2
        type: display-1

FrameConfig

Name Type Required Description
kind "Frame" Yes A frame contains several contents in a layout
layout LayoutConfig No The layout of the frame contents
contents Dictionary<string, ContentConfig> No The contents of the frame