Dashboards

Generate the data required to display a dashboard, response data contains all information required for displaying the dashboard. The response may be quite large, depending on the dashboard that is requested. Charts especially may contain a large number of points.

HTTP Request

GET /icweb.dll/dashboard/{key}

POST /icweb.dll/dashboard/{key}

URI Parameters

Name In Required Type Description Default
key Path Yes Integer Key associated with dashboard.  
parameters Body Yes Parameter [] List of parameters that the report requires. No

Responses

Name Type Description
200 OK Dashboard OK
404 Not Found String Dashboard identified by key was not found.

Dashboard

Contains the data associated with a dashboard, there is a name as well as a list of elements, each element identifies an element in the dashboard, these elements are extensible, and can be customised by the user within NEXUS IC itself.

Name Type Description Optional
name string Name of the dashboard No
elements Dashboard Element [] List of elements in the dashboard. No

Dashboard Element

Specifies an element in the dashboard, each element contains some base configuration, but each element also contains a data element, and the contains of this JSON object is based entirely on the type of dashboard element. Those elements that you don’t understand can be skipped and not displayed.

Name Type Description Optional
caption string Caption used for the dashboard element. No
type string

Specifies the type of element this represents.

No
data object Contains the data associated with the element, this is dependant on the element type defined in type No

Table Element

Contains the data for a table, a table can be either a normal table, a vertical table or a pivot table. A table may not have any columns, categories or rows, but will have at least columns or ``rows defined. It is assumed that the columns and rows are in matched order, so the first item in each TableRow is the value for the first column.

Name Type Description Optional Default
sourceBusinessObject String If there are source rows for Table Row entries, then this will contain the name of the business object that the key values are from. Yes null
columns Table Column [] Contains a list of columns for the table. Yes  
categories Table Category [] Contains a list of optional categories for the table columns, generally this are output above the columns, grouping them together. Yes  
rows Table Row [] Contains the rows of data for the table. Yes  

Table Column

Name Type Description Optional Default
caption String Caption for the column. No  
alignment String Specifies the way the caption should be align, center, right, left. Yes left

Table Category

Name Type Description Optional Default
caption String Caption for the column. No  
spanColumns Integer Number of columns this category spans. Yes 1
alignment String Specifies the way the caption should be align, center, right, left. Yes left

Table Row

Name Type Description Optional Default
cells Table Cell [] Contains the data for each of the cells of the Table Row. No  
sourceKey Integer Contains the primary key for the source row applicable to this Table Row. Yes null

Table Cell

Name Type Description Optional Default
value String Contains the value for the column, if a datetime, contains an ISO 8601 formatted date/time. If the time is 00:00:00 it should be omitted from display. No  
alignment String Specifies the way the cell value should be align, center, right, left Yes left
sourceBusinessObject String If there are source rows for this Table Cell then this will contain the name of the business object that the key values are from. Yes null
sourceKey Integer [] Contains 0 or more primary key values for the source rows applicable to this Table Cell. Yes null

Image Element

Contains an embedded image, with a caption, should be displayed to the end-user with no interactivity.

Name Type Description Optional Default
type String Mime Type of format of image. No  
image String Base64 encoded imaged No  

Chart Element

Specifies the data that is produced when the dashboard element is a chart, a chart can be rendered as either a table of data or a chart itself, decision should be made by the client. A chart element may contain more than 1 Chart, if more than one is output then the Charts will take on the same structure, they will just contain a differing set of data.

Name Type Description Optional Default
charts Chart [] 1 or more charts defined in this Chart Element. No  

Chart

Contains a the data for a single chart, for the Chart Element. Each chart can have 1 x and y axis, and then 1 or more series. Eachs series will have a specific type, such as bar, line etc and contain the data for that series.

Name Type Description Optional Default
x-axis Chart Axis Defines the x-axis for this chart. No  
y-axis Chart Axis Defines the y-axis for this chart. No  
series Chart Series [] Defines the series data for this chart. No  
seriesSources Chart Series Source [] Defines the source data used for each of the chart series. No  
zoomBar Boolean Determines if a zoombar is visible. Yes No

Chart Axis

Chart Axis defines the specific axis for a chart, such as title and format of data.

Name Type Description Optional Default
title String Title for the axis. Yes null
autoScale Bool Specifies whether this axis should auto-scale to fit the data. Yes True
scale Float When autoScale is False, then this contains the scale at which the axis should display the data. Yes null
format String Specifies the type of data in the axis, float, int, datetime, string. No  
granulation Integer Where this is a risk chart, this specifies the number of sections on the axis that have defined ticks. No  
labels String[] Specifies the labels of each section on the axis, used in conjunction with granulation. No  

Chart Series

Contains the data for each chart series. A chart series is visually defined by the type that determines how the series points should be displayed to the user.

Name Type Description Optional Default
type String Type of Series, point, line, bezier, bar, gantt, verticalLine, horizontalLine, pie, disjointedLine, histogram, shadedSection, polygon, minMax, average, standardDeviation, trendFirstLast, trendLastTwo, trendAll, leastSquares, heatMap No null
id String Contains a global unique identifier to allow matching to the seriesSources containing the source rows used to generate the series data. No null
name String Name of the series, to be shown in any legend. Yes null
colour String Web Colour Yes null (use series colour)
points Chart Point [] Contains the series points to be displayed in the chart series. No  
opacity Float 0 to 1 determining the opacity of the point, 0 is completely transparent, 1 is not transparent at all. Yes 1
pointStyle String Style of points for series that have points, circle, square, diamond, cross Yes null
border Bool For points, should a border be painted. Yes True
pointSize Number Size of points, in pixels. Yes 1
displayPoints Bool For line series, do we show points for each point on the line. Yes False
shaded Bool Should the space between the line and where X = 0, be shaded. Yes False
showMesh Bool For heatMap and contour series, should a mesh be shown. Yes False
ganttStyle String For Gantt charts, should it be painted as line or bar. Yes bar
shadeInside String For shaded section series, should the shading occur between the bound lines, or outside the bounding lines. Yes False
gradient Float For trend line chart series, this specifies the gradient of each line, if 0, then the trend line is horizontal. Yes 0

Chart Point

Contains the data for each series point. Depending on the series type, it may contain different fields

Name Type Description Optional Default
opacity Float 0 to 1 determining the opacity of the point, 0 is completely transparent, 1 is not transparent at all. Yes 1
label String Point Label Yes null
id Number Unique key for this point in this series. Yes 0
colour String Web Colour Yes null (use series colour)
x Float X-Value Yes null
y Float Y-Value Yes null
z Float Z-Value Yes null
x2 Float Secondary X-Value Yes null
y2 Float Secondary Y-Value Yes null
z2 Float Secondary Z-Value Yes null
coordinates Coordinate [] Polygon series require an array of X,Y points to plot the polygon. Yes null

Chart Series Source

Contains the data for the raw data used to generate the chart series.

Name Type Description Optional Default
seriesId String Series identifier to match to the chart series No  
sources Chart Point Source [] Contains a list of sources for each point. This may not contain an item for each point in the chart series if the source isn’t able to be determined. Yes null

Chart Point Source

Contains the data for a single point in a chart series. To match a chart point to a point source, the seriesId and pointId need to both match to first find the Chart Series Source and then the corresponding Chart Point Source

Name Type Description Optional Default
pointId Number Id of the point this source corresponds to. No  
sourceBusinessObject String Name of the business object the sourceKey are contained in. No  
sourceKey Number [] List of 0 or more keys that were used to generate the chart series point. Yes null

Coordinate

Simple array of X,Y coordinates for polygon series.

Name Type Description Optional Default
x Float X-Value Yes null
y Float Y-Value Yes null

Paragraph Element

A paragraph element contains text, generally it does not have a title for the dashboard element, the text may be formatted. It may contain 1 or more paragraphs within it.

Name Type Description Optional Default
text Paragraph Text [] Contains the values for the paragraph. No  

Paragraph Text

Specifies text within a paragraph, including any styling.

Name Type Description Optional Default
value String Contains a text string for a paragraph. Yes  
color String Contains a web colour in #AARRGGBB form. Yes  
alignment String Alignment, left, center, right. Yes left
text-bold Bool Determines if the text is bold. Yes False
text-underline Bool Determines if the text is underlined. Yes False
text-italic Bool Determines if the text is italic. Yes False
text-size Bool Determines the point size of the text Yes  

Section Element

Specifies a new section starts in the elements, allowing the section to define the number of columns the elements are displayed in

Name Type Description Optional Default
columns Integer Number of columns the elements should be split into. Columns are consumed, top to bottom, left to right. Yes 1

Example

Generate and return the dashboard for the dashboard identified by the key of 3

Request

GET /icweb.dll/dashboard/3

Response

{
        "name": "Test Dashboard",
        "elements": [{
                        "type": "section",
                        "data": {
                                "columns": 2
                        }
                }, {
                        "type": "table",
                        "caption": "Workpack Listing",
                        "data": {
                                "columns": [{
                                                "caption": "Name"
                                        }, {
                                                "caption": "Description"
                                        }, {
                                                "caption": "Read Only"
                                        }, {
                                                "caption": "Actual Start",
                                                "alignment": "right"
                                        }, {
                                                "caption": "Hours (per day)",
                                                "alignment": "center"
                                        }, {
                                                "caption": "Workpack Group"
                                        }
                                ],
                                "rows": [{
                                                "cells": [{
                                                                "value": "Workpack A"
                                                        }, {
                                                                "value": "This is the description for WA"
                                                        }, {
                                                                "value": "No"
                                                        }, {
                                                                "value": "2019-08-26T00:00:00.000Z",
                                                                "alignment": "right"
                                                        }, {
                                                                "value": "8",
                                                                "alignment": "center"
                                                        }, {
                                                                "value": "Group A"
                                                        }
                                                ]
                                        }, {
                                                "cells": [{
                                                                "value": "Workpack B"
                                                        }, {
                                                                "value": "This is the description for WB"
                                                        }, {
                                                                "value": "No"
                                                        }, {
                                                                "value": "2019-08-26T00:00:00.000Z",
                                                                "alignment": "right"
                                                        }, {
                                                                "value": "6",
                                                                "alignment": "center"
                                                        }, {
                                                                "value": "Group B"
                                                        }
                                                ]
                                        }
                                ]
                        }
                }, {
                        "type": "paragraph",
                        "data": {
                                "text": [{
                                                "value": "The above table displays all workpacks.\r",
                                                "color": "#0055FF3A",
                                                "alignment": "center",
                                                "text-bold": true
                                        }, {
                                                "value": "There should be 2 workpacks in this test."
                                        }
                                ]
                        }
                }, {
                        "type": "image",
                        "caption": "Drawing Details",
                        "data": {
                                "type": "image\/png",
                                "image": "iVBORw0KGgoAAAANSUh..."
                        }
                }, {
                        "type": "chart",
                        "caption": "Test Chart",
                        "data": {
                                "charts": [{
                                                "x-axis": {
                                                        "title": "Anomaly Code",
                                                        "format": "label"
                                                },
                                                "y-axis": {
                                                        "title": "Count",
                                                        "format": "integer"
                                                },
                                                "series": [{
                                                                "id": "{860BF005-A81D-45A9-B57E-7F0497347442}",
                                                                "type": "pie",
                                                                "name": "Anomaly Code",
                                                                "points": [{
                                                                                "label": "C3",
                                                                                "id": 3,
                                                                                "x": 3,
                                                                                "y": 1
                                                                        }, {
                                                                                "label": "C2",
                                                                                "id": 2,
                                                                                "x": 2,
                                                                                "y": 2
                                                                        }, {
                                                                                "label": "C1",
                                                                                "id": 1,
                                                                                "x": 1,
                                                                                "y": 3
                                                                        }
                                                                ]
                                                        }
                                                ],
                                                "seriesSources": [{
                                                                "seriesId": "{860BF005-A81D-45A9-B57E-7F0497347442}",
                                                                "sources": [{
                                                                                "pointId": 3,
                                                                                "sourceBusinessObject": "Anomaly",
                                                                                "sourceKey": [6]
                                                                        }, {
                                                                                "pointId": 2,
                                                                                "sourceBusinessObject": "Anomaly",
                                                                                "sourceKey": [4, 5]
                                                                        }, {
                                                                                "pointId": 1,
                                                                                "sourceBusinessObject": "Anomaly",
                                                                                "sourceKey": [1, 2, 3]
                                                                        }
                                                                ]
                                                        }
                                                ]
                                        }
                                ]
                        }
                }
        ]
}