Skip to content
Filip Lauc edited this page Jun 26, 2021 · 3 revisions

The client apps layout is controlled in client/src/environments/static-config.ts

Layout Document

This is the schema for the navigation object.

{
  "definitions": {
    "item": {
      "type": "object",
      "properties": {
        "label": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "icon": {
          "type": "string"
        },
        "type": {
          "type": "string",
          "enum": ["expandable", "expanded", "link", "empty"]
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/item"
          }
        },
        "authorization": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "label"
      ]
    }
  },
  "properties": {
    "navigation": {
      "type": "array",
      "items": {
        "$ref": "#/definitions/item"
      }
    }
  }
}

Navigation Types

  • expandable - A navigation segment intended to always have children that can be expanded/collapsed to show its children. The item doesn't need a value property and it's ignored if present. Clicking on the item toggles its expanded state.
  • expanded - Unlike expandable this type is always expanded and can't be toggled. It can also optionally have a value in which case it acts like a link as well.
  • link - A navigation item that is a link pointing to the value. -empty - A navigation item that has no interaction.
Clone this wiki locally