@qn-pandora/pandora-visualization
Version:
Pandora 通用可视化库
161 lines (160 loc) • 9.72 kB
JavaScript
"use strict";
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
var _a;
Object.defineProperty(exports, "__esModule", { value: true });
var lodash_1 = require("lodash");
var chart_style_1 = require("../../constants/chart-style");
var utils_1 = require("./utils");
var line_1 = __importDefault(require("./charts/line/line"));
var stack_1 = __importDefault(require("./charts/line/stack"));
var percentage_line_1 = __importDefault(require("./charts/line/percentage-line"));
var area_1 = __importDefault(require("./charts/line/area"));
var stack_area_1 = __importDefault(require("./charts/line/stack-area"));
var percentage_area_1 = __importDefault(require("./charts/line/percentage-area"));
var bucket_1 = __importDefault(require("./charts/pie/bucket"));
var metric_1 = __importDefault(require("./charts/pie/metric"));
var ring_bucket_1 = __importDefault(require("./charts/pie/ring-bucket"));
var ring_metric_1 = __importDefault(require("./charts/pie/ring-metric"));
var rose_bucket_1 = __importDefault(require("./charts/pie/rose-bucket"));
var rose_metric_1 = __importDefault(require("./charts/pie/rose-metric"));
var value_1 = __importDefault(require("./charts/single/value"));
var gauge_1 = __importDefault(require("./charts/single/gauge"));
var percent_1 = __importDefault(require("./charts/single/percent"));
var bubbleChina_1 = __importDefault(require("./charts/map/bubbleChina"));
var bubbleWorld_1 = __importDefault(require("./charts/map/bubbleWorld"));
var china_1 = __importDefault(require("./charts/migration/china"));
var world_1 = __importDefault(require("./charts/migration/world"));
var horizontal_1 = __importDefault(require("./charts/relation/horizontal"));
var circular_1 = __importDefault(require("./charts/relation/circular"));
var sankey_1 = __importDefault(require("./charts/sankey"));
var line_bar_1 = __importDefault(require("./charts/combination/line-bar"));
var line_bar_y2_1 = __importDefault(require("./charts/combination/line-bar-y2"));
var line_y2_1 = __importDefault(require("./charts/combination/line-y2"));
var bar_1 = __importDefault(require("./charts/bar/bar"));
var stack_2 = __importDefault(require("./charts/bar/stack"));
var percentage_1 = __importDefault(require("./charts/bar/percentage"));
var stack_vertical_1 = __importDefault(require("./charts/bar/stack-vertical"));
var vertical_1 = __importDefault(require("./charts/bar/vertical"));
var percentage_vertical_1 = __importDefault(require("./charts/bar/percentage-vertical"));
var colorChina_1 = __importDefault(require("./charts/map/colorChina"));
var colorWorld_1 = __importDefault(require("./charts/map/colorWorld"));
var bucket_2 = __importDefault(require("./charts/radar/bucket"));
var metric_2 = __importDefault(require("./charts/radar/metric"));
var scatter_1 = __importDefault(require("./charts/scatter/scatter"));
var bubble_1 = __importDefault(require("./charts/bubble/bubble"));
var grid_table_1 = __importDefault(require("./charts/table/grid-table"));
var tree_table_1 = __importDefault(require("./charts/table/tree-table"));
var sunburst_1 = __importDefault(require("./charts/sunburst/sunburst"));
var editor_1 = __importDefault(require("./charts/editor/editor"));
var outlier_1 = __importDefault(require("./charts/outlier"));
var timeline_1 = __importDefault(require("./charts/timeline/timeline"));
var status_1 = __importDefault(require("./charts/metric-panel/status"));
var metric_3 = __importDefault(require("./charts/metric-panel/metric"));
var custom_1 = __importDefault(require("./charts/custom"));
var capsule_bar_1 = __importDefault(require("./charts/capsule-bar"));
var bubble_2 = __importDefault(require("./charts/mapbox/bubble"));
var path_1 = __importDefault(require("./charts/mapbox/path"));
var log_event_1 = __importDefault(require("./charts/log-event"));
var honeycomb_1 = __importDefault(require("./charts/honeycomb"));
var topology_1 = __importDefault(require("./charts/topology"));
var chartStyleServiceMap = (_a = {},
_a[chart_style_1.ChartType.Line] = line_1.default,
_a[chart_style_1.ChartType.StackLine] = stack_1.default,
_a[chart_style_1.ChartType.PercentageLine] = percentage_line_1.default,
_a[chart_style_1.ChartType.Area] = area_1.default,
_a[chart_style_1.ChartType.StackArea] = stack_area_1.default,
_a[chart_style_1.ChartType.PercentageArea] = percentage_area_1.default,
_a[chart_style_1.ChartType.LineBar] = line_bar_1.default,
_a[chart_style_1.ChartType.LineBarY2] = line_bar_y2_1.default,
_a[chart_style_1.ChartType.LineY2] = line_y2_1.default,
_a[chart_style_1.ChartType.Bar] = bar_1.default,
_a[chart_style_1.ChartType.StackBar] = stack_2.default,
_a[chart_style_1.ChartType.PercentageBar] = percentage_1.default,
_a[chart_style_1.ChartType.VerticalBar] = vertical_1.default,
_a[chart_style_1.ChartType.StackVerticalBar] = stack_vertical_1.default,
_a[chart_style_1.ChartType.PercentageVerticalBar] = percentage_vertical_1.default,
_a[chart_style_1.ChartType.SingleValue] = value_1.default,
_a[chart_style_1.ChartType.SingleGauge] = gauge_1.default,
_a[chart_style_1.ChartType.SinglePercent] = percent_1.default,
_a[chart_style_1.ChartType.PieBucket] = bucket_1.default,
_a[chart_style_1.ChartType.PieMetric] = metric_1.default,
_a[chart_style_1.ChartType.PieRingBucket] = ring_bucket_1.default,
_a[chart_style_1.ChartType.PieRingMetric] = ring_metric_1.default,
_a[chart_style_1.ChartType.PieRoseBucket] = rose_bucket_1.default,
_a[chart_style_1.ChartType.PieRoseMetric] = rose_metric_1.default,
_a[chart_style_1.ChartType.MapColorChina] = colorChina_1.default,
_a[chart_style_1.ChartType.MapColorWorld] = colorWorld_1.default,
_a[chart_style_1.ChartType.MapBubbleChina] = bubbleChina_1.default,
_a[chart_style_1.ChartType.MapBubbleWorld] = bubbleWorld_1.default,
_a[chart_style_1.ChartType.MigrationChina] = china_1.default,
_a[chart_style_1.ChartType.MigrationWorld] = world_1.default,
_a[chart_style_1.ChartType.RelationHorizontal] = horizontal_1.default,
_a[chart_style_1.ChartType.RelationCircular] = circular_1.default,
_a[chart_style_1.ChartType.Sankey] = sankey_1.default,
_a[chart_style_1.ChartType.RadarBucket] = bucket_2.default,
_a[chart_style_1.ChartType.RadarMetric] = metric_2.default,
_a[chart_style_1.ChartType.Scatter] = scatter_1.default,
_a[chart_style_1.ChartType.Bubble] = bubble_1.default,
_a[chart_style_1.ChartType.GridTable] = grid_table_1.default,
_a[chart_style_1.ChartType.TreeTable] = tree_table_1.default,
_a[chart_style_1.ChartType.Sunburst] = sunburst_1.default,
_a[chart_style_1.ChartType.Editor] = editor_1.default,
_a[chart_style_1.ChartType.Outlier] = outlier_1.default,
_a[chart_style_1.ChartType.TimeLine] = timeline_1.default,
_a[chart_style_1.ChartType.StatusPanel] = status_1.default,
_a[chart_style_1.ChartType.MetricPanel] = metric_3.default,
_a[chart_style_1.ChartType.CapsuleBar] = capsule_bar_1.default,
_a[chart_style_1.ChartType.MapboxBubble] = bubble_2.default,
_a[chart_style_1.ChartType.MapboxPath] = path_1.default,
_a[chart_style_1.ChartType.LogEvent] = log_event_1.default,
_a[chart_style_1.ChartType.Honeycomb] = honeycomb_1.default,
_a[chart_style_1.ChartType.TopoLogy] = topology_1.default,
_a);
var SearchChartStyleFactory = /** @class */ (function () {
function SearchChartStyleFactory() {
}
SearchChartStyleFactory.create = function (chartType, option, dataset, initFirst, isExtendsChart) {
if (dataset === void 0) { dataset = { fields: [], rows: [] }; }
if (initFirst === void 0) { initFirst = true; }
if (isExtendsChart === void 0) { isExtendsChart = false; }
var StyleService = isExtendsChart
? custom_1.default
: lodash_1.get(chartStyleServiceMap, chartType);
if (!StyleService) {
throw new Error('chart type not exist');
}
option = option || {};
var _a = utils_1.getBucketMetricNameByFields(dataset.fields), metrics = _a.metrics, buckets = _a.buckets;
var chartMetrics = option.metrics, chartBuckets = option.buckets, restOption = __rest(option, ["metrics", "buckets"]);
var useCrossAxis2 = chartType === chart_style_1.ChartType.LineBarY2 || chartType === chart_style_1.ChartType.LineY2;
return new StyleService(StyleService.getChartInitStyle(isExtendsChart
? option
: __assign({ metrics: lodash_1.size(chartMetrics) > 0 ? chartMetrics : metrics, buckets: lodash_1.size(chartBuckets) > 0 ? chartBuckets : buckets, fields: dataset.fields }, restOption), initFirst, useCrossAxis2), chartType);
};
return SearchChartStyleFactory;
}());
exports.default = SearchChartStyleFactory;