diff --git a/ui/src/app/widget/lib/canvas-digital-gauge.js b/ui/src/app/widget/lib/canvas-digital-gauge.js
index 1290f5f..74ab7ac 100644
--- a/ui/src/app/widget/lib/canvas-digital-gauge.js
+++ b/ui/src/app/widget/lib/canvas-digital-gauge.js
@@ -45,6 +45,9 @@ export default class TbCanvasDigitalGauge {
(settings.unitTitle && settings.unitTitle.length > 0 ?
settings.unitTitle : dataKey.label) : '');
+ this.localSettings.showTimestamp = settings.showTimestamp == true ? true : false;
+ this.localSettings.timestampFormat = settings.timestampFormat && settings.timestampFormat.length ? settings.timestampFormat : 'yyyy-MM-dd HH:mm:ss';
+
this.localSettings.gaugeWidthScale = settings.gaugeWidthScale || 0.75;
this.localSettings.gaugeColor = settings.gaugeColor || tinycolor(keyColor).setAlpha(0.2).toRgbString();
@@ -167,6 +170,7 @@ export default class TbCanvasDigitalGauge {
symbol: this.localSettings.units,
label: this.localSettings.unitTitle,
+ showTimestamp: this.localSettings.showTimestamp,
hideValue: this.localSettings.hideValue,
hideMinMax: this.localSettings.hideMinMax,
@@ -193,6 +197,12 @@ export default class TbCanvasDigitalGauge {
if (cellData.data.length > 0) {
var tvPair = cellData.data[cellData.data.length -
1];
+ if (this.localSettings.showTimestamp) {
+ var timestamp = tvPair[0];
+ var filter= this.ctx.$scope.$injector.get('$filter');
+ var timestampDisplayValue = filter('date')(timestamp, this.localSettings.timestampFormat);
+ this.gauge.options.label = timestampDisplayValue;
+ }
var value = tvPair[1];
this.gauge.value = value;
}
@@ -269,6 +279,16 @@ export default class TbCanvasDigitalGauge {
"type": "boolean",
"default": false
},
+ "showTimestamp": {
+ "title": "Show value timestamp",
+ "type": "boolean",
+ "default": false
+ },
+ "timestampFormat": {
+ "title": "Timestamp format",
+ "type": "string",
+ "default": "yyyy-MM-dd HH:mm:ss"
+ },
"showValue": {
"title": "Show value text",
"type": "boolean",
@@ -477,6 +497,8 @@ export default class TbCanvasDigitalGauge {
"showTitle",
"unitTitle",
"showUnitTitle",
+ "showTimestamp",
+ "timestampFormat",
"showValue",
"showMinMax",
"gaugeWidthScale",
diff --git a/ui/src/app/widget/lib/CanvasDigitalGauge.js b/ui/src/app/widget/lib/CanvasDigitalGauge.js
index 08a54d8..f7ee66e 100644
--- a/ui/src/app/widget/lib/CanvasDigitalGauge.js
+++ b/ui/src/app/widget/lib/CanvasDigitalGauge.js
@@ -180,7 +180,9 @@ export default class CanvasDigitalGauge extends canvasGauges.BaseGauge {
drawDigitalTitle(context, options);
- drawDigitalLabel(context, options);
+ if (!options.showTimestamp) {
+ drawDigitalLabel(context, options);
+ }
drawDigitalMinMax(context, options);
@@ -198,6 +200,10 @@ export default class CanvasDigitalGauge extends canvasGauges.BaseGauge {
drawDigitalValue(context, options, this.value);
+ if (options.showTimestamp) {
+ drawDigitalLabel(context, options);
+ }
+
this.elementValueClone.initialized = true;
this.elementValueClone.renderedValue = this.value;
}