'use strict'; function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } var utils = require('./utils'); var utilsLite = require('utils-lite'); require('echarts/lib/chart/gauge'); var Core = _interopDefault(require('./core')); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; function getTooltip(args) { var tooltipFormatter = args.tooltipFormatter, dataType = args.dataType, digit = args.digit; return { formatter: function formatter(options) { var seriesName = options.seriesName, _options$data = options.data, value = _options$data.value, name = _options$data.name; if (tooltipFormatter) { return tooltipFormatter.apply(null, arguments); } var tpl = []; tpl.push(seriesName + ': '); tpl.push(utils.getFormated(value, dataType[seriesName], digit) + ' ' + name); return tpl.join(''); } }; } function getSeries(args) { var rows = args.rows, dimension = args.dimension, metrics = args.metrics, digit = args.digit, dataType = args.dataType, labelMap = args.labelMap, seriesMap = args.seriesMap, dataName = args.dataName; var series = rows.map(function (row) { var label = row[dimension]; var seriesItem = seriesMap[label]; var result = { type: 'gauge', name: labelMap[label] != null ? labelMap[label] : label, data: [{ name: dataName[label] || '', value: row[metrics] }], detail: { formatter: function formatter(v) { return utils.getFormated(v, dataType[label], digit); } }, axisLabel: { formatter: function formatter(v) { return utils.getFormated(v, dataType[label], digit); } } }; if (seriesItem) { Object.keys(seriesItem).forEach(function (key) { if (utilsLite.isObject(result[key])) { _extends(result[key], seriesItem[key]); } else { result[key] = seriesItem[key]; } }); } return result; }); return series; } var gauge$1 = function gauge$$1(columns, rows, settings, extra) { var _settings$dimension = settings.dimension, dimension = _settings$dimension === undefined ? columns[0] : _settings$dimension, _settings$metrics = settings.metrics, metrics = _settings$metrics === undefined ? columns[1] : _settings$metrics, _settings$digit = settings.digit, digit = _settings$digit === undefined ? 2 : _settings$digit, _settings$dataType = settings.dataType, dataType = _settings$dataType === undefined ? {} : _settings$dataType, _settings$labelMap = settings.labelMap, labelMap = _settings$labelMap === undefined ? {} : _settings$labelMap, _settings$seriesMap = settings.seriesMap, seriesMap = _settings$seriesMap === undefined ? {} : _settings$seriesMap, _settings$dataName = settings.dataName, dataName = _settings$dataName === undefined ? {} : _settings$dataName; var tooltipFormatter = extra.tooltipFormatter, tooltipVisible = extra.tooltipVisible; var tooltip = tooltipVisible && getTooltip({ tooltipFormatter: tooltipFormatter, dataType: dataType }); var series = getSeries({ rows: rows, dimension: dimension, metrics: metrics, digit: digit, dataType: dataType, labelMap: labelMap, seriesMap: seriesMap, dataName: dataName }); return { tooltip: tooltip, series: series }; }; var index = _extends({}, Core, { name: 'VeGauge', data: function data() { this.chartHandler = gauge$1; return {}; } }); module.exports = index;