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 |
|
Path |
Yes |
Integer |
Key associated with dashboard. |
|
|
Body |
Yes |
Parameter [] |
List of parameters that the report requires. |
No |
Responses
Name |
Type |
Description |
200 OK |
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 |
|
string |
Name of the dashboard |
No |
|
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 |
|
string |
Caption used for the dashboard element. |
No |
|
string |
Specifies the type of element this represents.
|
No |
|
object |
Contains the data associated with the element, this is dependant on the element type defined in |
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 |
|
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 |
|
Table Column [] |
Contains a list of columns for the table. |
Yes |
|
|
Contains a list of optional categories for the table columns, generally this are output above the columns, grouping them together. |
Yes |
||
|
Table Row [] |
Contains the rows of data for the table. |
Yes |
Table Column
Name |
Type |
Description |
Optional |
Default |
|
String |
Caption for the column. |
No |
|
|
String |
Specifies the way the caption should be align, |
Yes |
|
Table Category
Name |
Type |
Description |
Optional |
Default |
|
String |
Caption for the column. |
No |
|
|
Integer |
Number of columns this category spans. |
Yes |
1 |
|
String |
Specifies the way the caption should be align, |
Yes |
|
|
Defines the style of this cell. |
Yes |
Table Row
Name |
Type |
Description |
Optional |
Default |
|
Table Cell [] |
Contains the data for each of the cells of the Table Row. |
No |
|
|
Integer |
Contains the primary key for the source row applicable to this Table Row. |
Yes |
null |
Table Cell
Name |
Type |
Description |
Optional |
Default |
|
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 |
|
|
String |
Specifies the way the cell value should be align, |
Yes |
|
|
Defines the style of this cell. |
Yes |
||
|
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 |
|
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 |
|
String |
Mime Type of format of image. |
No |
|
|
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 |
|
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 |
|
Defines the x-axis for this chart. |
No |
||
|
Defines the y-axis for this chart. |
No |
||
|
Chart Series [] |
Defines the series data for this chart. |
No |
|
|
Defines the source data used for each of the chart series. |
No |
||
|
Boolean |
Determines if a zoombar is visible. |
Yes |
No |
|
string |
One of 3 values, none (don’t display count), series (display the count per series) or chart (show total for all series). |
Yes |
none |
Chart Axis
Chart Axis defines the specific axis for a chart, such as title and format of data.
Name |
Type |
Description |
Optional |
Default |
|
String |
Title for the axis. |
Yes |
null |
|
Bool |
Should the title be shown for this axis. |
Yes |
True |
|
Bool |
Specifies whether this axis should auto-scale to fit the data. |
Yes |
True |
|
Float |
When |
Yes |
null |
|
String |
Specifies the type of data in the axis, float, int, datetime, string. |
No |
|
|
Integer |
Where this is a risk chart, this specifies the number of sections on the axis that have defined ticks. |
No |
|
|
String[] |
Specifies the labels of each section on the axis, used in conjunction with |
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 |
|
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 |
|
String |
Contains a global unique identifier to allow matching to the |
No |
null |
|
String |
Name of the series, to be shown in any legend. |
Yes |
null |
|
String |
Web Colour |
Yes |
null (use series colour) |
|
Chart Point [] |
Contains the series points to be displayed in the chart series. |
No |
|
|
Float |
0 to 1 determining the opacity of the point, 0 is completely transparent, 1 is not transparent at all. |
Yes |
1 |
|
String |
Style of points for series that have points, circle, square, diamond, cross |
Yes |
null |
|
Bool |
For points, should a border be painted. |
Yes |
True |
|
Number |
Size of points, in pixels. |
Yes |
1 |
|
Number |
Weight of lines, in pixels for series that draw lines. |
Yes |
1 |
|
Bool |
For line series, do we show points for each point on the line. |
Yes |
False |
|
Bool |
Should the space between the line and where X = 0, be shaded. |
Yes |
False |
|
Bool |
For heatMap and contour series, should a mesh be shown. |
Yes |
False |
|
String |
For Gantt charts, should it be painted as line or bar. |
Yes |
bar |
|
String |
For shaded section series, should the shading occur between the bound lines, or outside the bounding lines. |
Yes |
False |
|
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 |
|
Float |
0 to 1 determining the opacity of the point, 0 is completely transparent, 1 is not transparent at all. |
Yes |
1 |
|
String |
Point Label |
Yes |
null |
|
Number |
Unique key for this point in this series. |
Yes |
0 |
|
String |
Web Colour |
Yes |
null (use series colour) |
|
Float |
X-Value |
Yes |
null |
|
Float |
Y-Value |
Yes |
null |
|
Float |
Z-Value |
Yes |
null |
|
Float |
Secondary X-Value |
Yes |
null |
|
Float |
Secondary Y-Value |
Yes |
null |
|
Float |
Secondary Z-Value |
Yes |
null |
|
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 |
|
String |
Series identifier to match to the chart series |
No |
|
|
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 |
|
Number |
Id of the point this source corresponds to. |
No |
|
|
String |
Name of the business object the sourceKey are contained in. |
No |
|
|
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 |
|
Float |
X-Value |
Yes |
null |
|
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 |
|
Contains the values for the paragraph. |
No |
Paragraph Text
Specifies text within a paragraph, including any styling.
Name |
Type |
Description |
Optional |
Default |
|
String |
Contains a text string for a paragraph. |
Yes |
|
|
String |
Contains a web colour in #AARRGGBB form. |
Yes |
|
|
String |
Alignment, left, center, right. |
Yes |
left |
|
Bool |
Determines if the text is bold. |
Yes |
False |
|
Bool |
Determines if the text is underlined. |
Yes |
False |
|
Bool |
Determines if the text is italic. |
Yes |
False |
|
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 |
|
Integer |
Number of columns the elements should be split into. Columns are consumed, top to bottom, left to right. |
Yes |
1 |
Style
Specifies style of an element.text within a paragraph, including any styling.
Name |
Type |
Description |
Optional |
Default |
|
String |
Contains a web colour in #AARRGGBB form. |
Yes |
|
|
String |
Alignment, left, center, right. |
Yes |
left |
|
Bool |
Determines if the text is bold. |
Yes |
False |
|
Bool |
Determines if the text is underlined. |
Yes |
False |
|
Bool |
Determines if the text is italic. |
Yes |
False |
|
Bool |
Determines the point size of the text |
Yes |
|
|
String |
Contains a web colour in #AARRGGBB form. |
Yes |
|
|
String |
Contains the name of the font to be used. |
Yes |
|
|
String |
Number of pixels before element. |
Yes |
|
|
String |
Number of pixels after element. |
Yes |
|
|
String |
Number of pixels inside the element on the left before content. |
Yes |
|
|
String |
Number of pixels inside the element on the right after content. |
Yes |
|
|
String |
Vertical alignment of element (top, middle, bottom). |
Yes |
top |
|
String |
Orientation of text (leftToRight, topToBottom, bottomToTop). |
Yes |
leftToRight |
|
String |
Colour of the border in web format (xxx is left, top, right, bottom, inner-vert, inner-horz). |
Yes |
|
|
String |
Width of the border in pixels (xxx is left, top, right, bottom, inner-vert, inner-horz) |
Yes |
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]
}
]
}
]
}
]
}
}
]
}