This widget display data from JSON file in your Mozaik dashboard. This JSON file may be either a static hosted file or a JSON object fetched from a REST API.
To install mozaik-ext-json from npm, run:
npm install --save mozaik-ext-json
Let's say you want to display two set of data from a file you host on your Dropbox public directory.
{
type: 'json.data',
id: 'myID',
title: '${obj2.name}',
value: '${obj2.value}',
unit: null,
columns: 1, rows: 1,
x: 1, y: 1
},
{
type: 'json.data',
id: 'myID',
title: 'WIDGET TITLE',
value: '${obj1.value}',
unit: '${obj1.unit}',
columns: 1, rows: 1,
x: 2, y: 1
},
In your Mozaik dashboard's config.js file, add the JSON file url in the api
section or as parameter of your widget. The url
key shall contains the full URL where your JSON file is hosted:
// clients configs
api: {
json: {
url: 'https://dl.dropboxusercontent.com/u/21352749/mozaik.json'
}
}
In your Mozaik dashboard's config.js file, add the webservice url in the api
section. The url
key shall contains the full URL where your webservice is hosted. An optionnal headers key can be added (to add authentication information for example):
// clients configs
api: {
json: {
url: 'http://mywebservice/rest/api/2/resource/id', // optional
headers: [{name: 'Authorization', value: 'Basic aKjs6LK8ijkSfT'}, {name: 'Content-type', value: 'applicatin/json'}]
}
}
title
, value
and unit
parameters can be either a String or a property path to be retrieve in the JSON data.
key | required | description |
---|---|---|
type |
yes | Always equal to 'json.data' |
id |
yes | ID of widget |
title |
yes | The title to be displayed in the header. |
value |
yes | The value to be displayed in the widget body. |
unit |
yes | Unit to be displayed after the data. Set to null if not needed. |
url |
no | Url to JSON or API that provides JSON response (enables to use url per widget). |
{
type: 'json.data',
id: 'MyID',
title: 'THIS IS A TITLE',
value: '${obj1.value}',
unit: '${obj1.unit}',
url: 'path_to_API',
columns: 1, rows: 1,
x: 1, y: 1
}