| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.adaptor = exports.tooltip = exports.meta = exports.axis = void 0;
- var tslib_1 = require("tslib");
- var util_1 = require("@antv/util");
- var common_1 = require("../../adaptor/common");
- var geometries_1 = require("../../adaptor/geometries");
- var utils_1 = require("../../utils");
- var padding_1 = require("../../utils/padding");
- var constant_1 = require("./constant");
- var utils_2 = require("./utils");
- /**
- * geometry 配置处理
- * @param params
- */
- function geometry(params) {
- var chart = params.chart, options = params.options;
- var color = options.color, _a = options.colorField, colorField = _a === void 0 ? constant_1.SUNBURST_ANCESTOR_FIELD : _a, sunburstStyle = options.sunburstStyle, _b = options.rawFields, rawFields = _b === void 0 ? [] : _b, shape = options.shape;
- var data = (0, utils_2.transformData)(options);
- chart.data(data);
- // 特殊处理下样式,如果没有设置 fillOpacity 的时候,默认根据层级进行填充透明度
- var style;
- if (sunburstStyle) {
- style = function (datum) {
- return (0, utils_1.deepAssign)({}, {
- fillOpacity: Math.pow(0.85, datum.depth),
- }, (0, util_1.isFunction)(sunburstStyle) ? sunburstStyle(datum) : sunburstStyle);
- };
- }
- // geometry
- (0, geometries_1.polygon)((0, utils_1.deepAssign)({}, params, {
- options: {
- xField: 'x',
- yField: 'y',
- seriesField: colorField,
- rawFields: (0, util_1.uniq)(tslib_1.__spreadArray(tslib_1.__spreadArray([], constant_1.RAW_FIELDS, true), rawFields, true)),
- polygon: {
- color: color,
- style: style,
- shape: shape,
- },
- },
- }));
- return params;
- }
- /**
- * axis 配置
- * @param params
- */
- function axis(params) {
- var chart = params.chart;
- chart.axis(false);
- return params;
- }
- exports.axis = axis;
- /**
- * 数据标签
- * @param params
- */
- function label(params) {
- var chart = params.chart, options = params.options;
- var label = options.label;
- var geometry = (0, utils_1.findGeometry)(chart, 'polygon');
- // 默认不展示,undefined 也不展示
- if (!label) {
- geometry.label(false);
- }
- else {
- var _a = label.fields, fields = _a === void 0 ? ['name'] : _a, callback = label.callback, cfg = tslib_1.__rest(label, ["fields", "callback"]);
- geometry.label({
- fields: fields,
- callback: callback,
- cfg: (0, utils_1.transformLabel)(cfg),
- });
- }
- return params;
- }
- /**
- * coord 配置
- * @param params
- */
- function coordinate(params) {
- var chart = params.chart, options = params.options;
- var innerRadius = options.innerRadius, radius = options.radius, reflect = options.reflect;
- var coord = chart.coordinate({
- type: 'polar',
- cfg: {
- innerRadius: innerRadius,
- radius: radius,
- },
- });
- if (reflect) {
- coord.reflect(reflect);
- }
- return params;
- }
- /**
- * meta 配置
- * @param params
- */
- function meta(params) {
- var _a;
- var options = params.options;
- var hierarchyConfig = options.hierarchyConfig, meta = options.meta;
- return (0, utils_1.flow)((0, common_1.scale)({}, (_a = {},
- _a[constant_1.SUNBURST_Y_FIELD] = (0, util_1.get)(meta, (0, util_1.get)(hierarchyConfig, ['field'], 'value')),
- _a)))(params);
- }
- exports.meta = meta;
- /**
- * tooltip 配置
- * @param params
- */
- function tooltip(params) {
- var chart = params.chart, options = params.options;
- var tooltip = options.tooltip;
- if (tooltip === false) {
- chart.tooltip(false);
- }
- else {
- var tooltipOptions = tooltip;
- // 设置了 fields,就不进行 customItems 了; 设置 formatter 时,需要搭配 fields
- if (!(0, util_1.get)(tooltip, 'fields')) {
- tooltipOptions = (0, utils_1.deepAssign)({}, {
- customItems: function (items) {
- return items.map(function (item) {
- var scales = (0, util_1.get)(chart.getOptions(), 'scales');
- var pathFormatter = (0, util_1.get)(scales, [constant_1.SUNBURST_PATH_FIELD, 'formatter'], function (v) { return v; });
- var valueFormatter = (0, util_1.get)(scales, [constant_1.SUNBURST_Y_FIELD, 'formatter'], function (v) { return v; });
- return tslib_1.__assign(tslib_1.__assign({}, item), { name: pathFormatter(item.data[constant_1.SUNBURST_PATH_FIELD]), value: valueFormatter(item.data.value) });
- });
- },
- }, tooltipOptions);
- }
- chart.tooltip(tooltipOptions);
- }
- return params;
- }
- exports.tooltip = tooltip;
- function adaptorInteraction(options) {
- var drilldown = options.drilldown, _a = options.interactions, interactions = _a === void 0 ? [] : _a;
- if (drilldown === null || drilldown === void 0 ? void 0 : drilldown.enabled) {
- return (0, utils_1.deepAssign)({}, options, {
- interactions: tslib_1.__spreadArray(tslib_1.__spreadArray([], interactions, true), [
- {
- type: 'drill-down',
- cfg: { drillDownConfig: drilldown, transformData: utils_2.transformData },
- },
- ], false),
- });
- }
- return options;
- }
- /**
- * 交互配置
- * @param params
- * @returns
- */
- function interaction(params) {
- var chart = params.chart, options = params.options;
- var drilldown = options.drilldown;
- (0, common_1.interaction)({
- chart: chart,
- options: adaptorInteraction(options),
- });
- // 适应下钻交互面包屑
- if (drilldown === null || drilldown === void 0 ? void 0 : drilldown.enabled) {
- // 为面包屑留出 25px 的空间
- chart.appendPadding = (0, padding_1.getAdjustAppendPadding)(chart.appendPadding, (0, util_1.get)(drilldown, ['breadCrumb', 'position']));
- }
- return params;
- }
- /**
- * 旭日图适配器
- * @param chart
- * @param options
- */
- function adaptor(params) {
- // flow 的方式处理所有的配置到 G2 API
- return (0, utils_1.flow)(common_1.theme, (0, common_1.pattern)('sunburstStyle'), geometry, axis, meta, common_1.legend, coordinate, tooltip, label, interaction, common_1.animation, (0, common_1.annotation)())(params);
- }
- exports.adaptor = adaptor;
- //# sourceMappingURL=adaptor.js.map
|