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

112 lines
2.7 KiB
JavaScript

'use strict';
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var utilsLite = require('utils-lite');
require('echarts/lib/chart/tree');
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 getTreeLegend(args) {
var dimension = args.dimension,
rows = args.rows;
var result = rows.map(function (row) {
return row[dimension];
});
return { data: result };
}
function getTreeTooltip(args) {
var tooltipFormatter = args.tooltipFormatter;
return {
trigger: 'item',
triggerOn: 'mousemove',
formatter: tooltipFormatter
};
}
function getTreeSeries(args) {
var dimension = args.dimension,
metrics = args.metrics,
rows = args.rows,
seriesMap = args.seriesMap;
var series = [];
rows.forEach(function (row) {
var label = row[dimension];
var seriesItem = seriesMap[label];
var result = {
type: 'tree',
name: row[dimension],
data: row[metrics]
};
if (seriesMap[row[dimension]]) {
Object.keys(seriesItem).forEach(function (key) {
if (utilsLite.isObject(result[key])) {
_extends(result[key], seriesItem[key]);
} else {
result[key] = seriesItem[key];
}
});
}
series.push(result);
});
return series;
}
var tree$1 = function tree$$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$seriesMap = settings.seriesMap,
seriesMap = _settings$seriesMap === undefined ? {} : _settings$seriesMap;
var legendVisible = extra.legendVisible,
tooltipFormatter = extra.tooltipFormatter,
tooltipVisible = extra.tooltipVisible;
var series = getTreeSeries({
dimension: dimension,
metrics: metrics,
rows: rows,
seriesMap: seriesMap
});
var legend = legendVisible && rows.length > 1 && getTreeLegend({
dimension: dimension,
rows: rows
});
var tooltip = tooltipVisible && getTreeTooltip({
tooltipFormatter: tooltipFormatter
});
return { series: series, legend: legend, tooltip: tooltip };
};
var index = _extends({}, Core, {
name: 'VeTree',
data: function data() {
this.chartHandler = tree$1;
return {};
}
});
module.exports = index;