Dashboard JSON Model

From FojiSoft Docs

A dashboard in FojiSoft is represented by a JSON object, which stores metadata of its dashboard. Dashboard metadata includes dashboard properties, metadata from panels, template variables, panel queries, etc.

To view the JSON of a dashboard:

  1. Navigate to a dashboard.
  2. In the top navigation menu, click the Dashboard settings (gear) icon.
  3. Click JSON Model.

JSON fields

When a user creates a new dashboard, a new dashboard JSON object is initialized with the following fields:

Note: In the following JSON, id is shown as null which is the default value assigned to it until a dashboard is saved. Once a dashboard is saved, an integer value is assigned to the id field.

Each field in the dashboard JSON is explained below with its usage:

Panels

Panels are the building blocks of a dashboard. It consists of data source queries, type of graphs, aliases, etc. Panel JSON consists of an array of JSON objects, each representing a different panel. Most of the fields are common for all panels but some fields depend on the panel type. Following is an example of panel JSON of a text panel.

Panel size and position

The gridPos property describes the panel size and position in grid coordinates.

  • w 1-24 (the width of the dashboard is divided into 24 columns)
  • h In grid height units, each represents 30 pixels.
  • x The x position, in same unit as w.
  • y The y position, in same unit as h.

The grid has a negative gravity that moves panels up if there is empty space above a panel.

Timepicker

Usage of the fields is explained below:

templating

The templating field contains an array of template variables with their saved values along with some other metadata, for example:

Usage of the above-mentioned fields in the templating section is explained below: