UNPKG

@qn-pandora/pandora-visualization

Version:

Pandora 通用可视化库

161 lines (160 loc) 9.72 kB
"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;