@xiaomengqiang/charts
Version: 
hcharts library for web visualization
71 lines (68 loc) • 3.12 kB
JavaScript
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
import init from '../../option/init/index.js';
import { event } from '../../util/event.js';
import { setTooltip, getSeriesData, getLabelData } from './handleOption.js';
import { setSeries } from './handleSeries.js';
import PolarCoordSys from '../../option/PolarSys/index.js';
import { CHART_TYPE } from '../../util/constants.js';
/**
 * Copyright (c) 2024 - present OpenTiny HUICharts Authors.
 * Copyright (c) 2024 - present Huawei Cloud Computing Technologies Co., Ltd.
 *
 * Use of this source code is governed by an MIT-style license.
 *
 * THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
 * BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
 * A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
 *
 */
var PolarBarChart = /*#__PURE__*/function () {
  function PolarBarChart(iChartOption, chartInstance) {
    this.baseOption = {};
    this.iChartOption = {};
    // 组装 iChartOption, 补全默认值
    this.iChartOption = init(iChartOption);
    // 根据 iChartOption 组装 baseOption
    this.updateOption(chartInstance);
  }
  var _proto = PolarBarChart.prototype;
  _proto.updateOption = function updateOption(chartInstance) {
    var _this = this;
    var iChartOption = this.iChartOption;
    var data = iChartOption.data;
    // 装载除series之外的其他配置
    PolarCoordSys(this.baseOption, iChartOption, CHART_TYPE.POLAR_BAR);
    var type = iChartOption.type || 'normal';
    // angleAxis赋值
    this.baseOption.angleAxis.data = [];
    if (type !== 'normal') {
      this.baseOption.angleAxis.axisLabel.show = true;
    }
    if (data) {
      data.forEach(function (item) {
        _this.baseOption.angleAxis.data.push(item.name);
      });
      // tooltip悬浮框
      setTooltip(this.baseOption);
      // legend数据
      this.baseOption.legend.data = type === 'normal' ? data : [];
      // series bar数据
      var seriesData = getSeriesData(data, type);
      // pie数据
      var labelData = getLabelData(data);
      this.baseOption.series = setSeries(seriesData, labelData, iChartOption, this.baseOption.polar, type);
    }
    // 配置图表事件
    if (iChartOption.event) {
      event(chartInstance, iChartOption.event);
    }
  };
  _proto.getOption = function getOption() {
    return this.baseOption;
  };
  return PolarBarChart;
}();
_defineProperty(PolarBarChart, "name", CHART_TYPE.POLAR_BAR);
export { PolarBarChart as default };