diff --git a/zabbix/datasource.js b/zabbix/datasource.js index cb04753..283295e 100644 --- a/zabbix/datasource.js +++ b/zabbix/datasource.js @@ -637,19 +637,12 @@ function (angular, _, kbn) { .then(function (result) { var events = []; _.each(result, function(e) { - var formatted_acknowledges = "

Acknowledges:
"; - var acknowledges = _.each(_.map(e.acknowledges, function (ack) { - return ''; - }), function (ack) { - formatted_acknowledges = formatted_acknowledges.concat(ack) - }); - formatted_acknowledges = formatted_acknowledges.concat('
TimeUserMessage
' + ack.clock + '' + ack.name + ' ' + ack.surname + ' (' + ack.alias + ')' + '' + ack.message + '
') - + var formatted_acknowledges = formatAcknowledges(e.acknowledges);; events.push({ annotation: annotation, time: e.clock * 1000, title: Number(e.value) ? 'Problem' : 'OK', - text: objects[e.objectid].description + (acknowledges.length ? formatted_acknowledges : ''), + text: objects[e.objectid].description + formatted_acknowledges, }); }); return events; @@ -699,4 +692,38 @@ function expandItemName(item) { name = name.replace('$' + i, key_params[i - 1]); }; return name; -}; \ No newline at end of file +} + + +/** + * Convert Date object to local time in format + * YYYY-MM-DD HH:mm:ss + * + * @param {Date} date Date object + * @return {string} formatted local time YYYY-MM-DD HH:mm:ss + */ +function getShortTime(date) { + var MM = date.getMonth() < 10 ? '0' + date.getMonth() : date.getMonth(); + var DD = date.getDate() < 10 ? '0' + date.getDate() : date.getDate(); + var HH = date.getHours() < 10 ? '0' + date.getHours() : date.getHours(); + var mm = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes(); + var ss = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds(); + return date.getFullYear() + '-' + MM + '-' + DD + ' ' + HH + ':' + mm + ':' + ss; +} + + +function formatAcknowledges(acknowledges) { + if (acknowledges.length) { + var formatted_acknowledges = '

Acknowledges:
'; + _.each(_.map(acknowledges, function (ack) { + var time = new Date(ack.clock * 1000); + return ''; + }), function (ack) { + formatted_acknowledges = formatted_acknowledges.concat(ack) + }); + formatted_acknowledges = formatted_acknowledges.concat('
TimeUserComments
' + getShortTime(time) + '' + ack.alias + ' (' + ack.name+ ' ' + ack.surname + ')' + '' + ack.message + '
') + return formatted_acknowledges; + } else { + return ''; + } +} \ No newline at end of file