OMV6 – First dashboard impressions

Adding custom dashboard widgets will be as easy as possible. Simply drop a JSON file to a specific directory and run a CLI command.

Examples:

{
	"id": "e2ed9a54-df38-11ea-8976-7786e66d5f43",
	"type": "rrd",
	"title": "CPU usage",
	"rrd": {
		"name": "cpu-0-hour.png"
	}
}
{
	"id": "1dc0ac9a-df14-11ea-8342-6fcac5f2e571",
	"title": "File Systems",
	"type": "datatable",
	"datatable": {
		"columns": [
			{
				"name": "Device",
				"prop": "devicefile",
				"flexGrow": 1,
				"sortable": true
			},
			{
				"name": "Label",
				"prop": "label",
				"flexGrow": 1,
				"sortable": true,
				"hidden": true
			},
			{
				"name": "Total",
				"prop": "size",
				"flexGrow": 1,
				"sortable": true,
				"cellTemplateName": "template",
				"cellTemplateConfig": "{{ size | tobytes | binaryunit | notavailable(\"-\") }}"
			},
			{
				"name": "Available",
				"prop": "available",
				"flexGrow": 1,
				"sortable": true,
				"cellTemplateName": "template",
				"cellTemplateConfig": "{{ available | tobytes | binaryunit | notavailable(\"-\") }}"
			},
			{
				"name": "Used",
				"prop": "used",
				"flexGrow": 1,
				"sortable": true,
				"cellTemplateName": "template",
				"cellTemplateConfig": "{{ used | tobytes | binaryunit | notavailable(\"-\") }}"
			}
		],
		"store": {
			"proxy": {
				"service": "FileSystemMgmt",
				"get": {
					"method": "enumerateFilesystems"
				}
			}
		},
		"sorters": [
			{
				"dir": "asc",
				"prop": "devicefile"
			}
		]
	}
}