ts-bigscreen-vue/node_modules/v-charts/lib/gauge.common.js

142 lines
3.9 KiB
JavaScript

'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;