NuclearDispersionSystem/ant-design-vue-jeecg/node_modules/@antv/g2/esm/facet/circle.js.map
2023-09-14 14:47:11 +08:00

1 line
6.6 KiB
Plaintext

{"version":3,"file":"circle.js","sourceRoot":"","sources":["../../src/facet/circle.ts"],"names":[],"mappings":"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","sourcesContent":["import { deepMix, each, filter } from '@antv/util';\nimport { AxisCfg, CircleCfg, CircleData, Datum } from '../interface';\n\nimport View from '../chart/view';\nimport { DIRECTION } from '../constant';\nimport { getAnglePoint, getFactTitleConfig } from '../util/facet';\nimport { Facet } from './facet';\n\n/**\n * @ignore\n * 镜像分面\n */\nexport default class Circle extends Facet<CircleCfg, CircleData> {\n protected getDefaultCfg() {\n return deepMix({}, super.getDefaultCfg(), {\n type: 'circle',\n showTitle: true,\n title: super.getDefaultTitleCfg(),\n });\n }\n\n public render() {\n super.render();\n\n if (this.cfg.showTitle) {\n this.renderTitle();\n }\n }\n\n /**\n * 根据总数和当前索引,计算分面的 region\n * @param count\n * @param index\n */\n protected getRegion(count: number, index: number) {\n const r = 1 / 2; // 画布半径\n // 画布圆心\n const center = { x: 0.5, y: 0.5 };\n // 每隔分面间隔的弧度\n const avgAngle = Math.PI * 2 / count;\n\n // 当前分面所在的弧度\n const angle = -1 * Math.PI / 2 + avgAngle * index;\n // TODO 没看懂\n const facetR = r / (1 + 1 / Math.sin(avgAngle / 2));\n // 分面的中心点\n const middle = getAnglePoint(center, r - facetR, angle);\n const startAngle = Math.PI * 5 / 4; // 右上角\n const endAngle = Math.PI * 1 / 4; // 左下角\n\n return {\n start: getAnglePoint(middle, facetR, startAngle),\n end: getAnglePoint(middle, facetR, endAngle)\n };\n }\n\n protected afterEachView(view: View, facet: CircleData) {\n this.processAxis(view, facet);\n }\n\n protected beforeEachView(view: View, facet: CircleData) {\n }\n\n protected generateFacets(data: Datum[]): CircleData[] {\n const { fields, type } = this.cfg;\n const [field] = fields;\n if (!field) {\n throw new Error('No `fields` specified!');\n }\n\n const values = this.getFieldValues(data, field);\n const count = values.length;\n\n const rst = [];\n values.forEach((value: any, index: number) => {\n const conditions = [{ field, value, values }];\n const facetData = filter(data, this.getFacetDataFilter(conditions));\n\n const facet: CircleData = {\n type,\n data: facetData,\n region: this.getRegion(count, index),\n\n columnValue: value,\n columnField: field,\n columnIndex: index,\n columnValuesLength: count,\n\n rowValue: null,\n rowField: null,\n rowIndex: 0,\n rowValuesLength: 1,\n };\n rst.push(facet);\n });\n return rst;\n }\n\n protected getXAxisOption(x: string, axes: any, option: AxisCfg, facet: CircleData): object {\n // 不做任何处理\n return option;\n }\n\n\n /**\n * 设置 y 坐标轴的文本、title 是否显示\n * @param y\n * @param axes\n * @param option\n * @param facet\n */\n protected getYAxisOption(y: string, axes: any, option: AxisCfg, facet: CircleData): object {\n // 不做任何处理\n return option;\n }\n\n /**\n * facet title\n */\n private renderTitle() {\n each(this.facets, (facet: CircleData) => {\n const { columnValue, view } = facet;\n\n const config = deepMix({\n position: [ '50%', '0%' ] as [string, string],\n content: columnValue,\n }, getFactTitleConfig(DIRECTION.TOP), this.cfg.title);\n\n view.annotation().text(config);\n });\n }\n}\n"]}