1 line
5.4 KiB
Plaintext
1 line
5.4 KiB
Plaintext
{"version":3,"file":"pie.js","sourceRoot":"","sources":["../../../src/geometry/label/pie.ts"],"names":[],"mappings":"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","sourcesContent":["import { get, isArray } from '@antv/util';\nimport { getAngleByPoint } from '../../util/coordinate';\nimport { polarToCartesian } from '../../util/graphics';\nimport Geometry from '../base';\nimport { LabelItem } from './interface';\nimport PolarLabel from './polar';\n\n/**\n * 饼图 label\n */\nexport default class PieLabel extends PolarLabel {\n public defaultLayout = 'distribute';\n\n constructor(geometry: Geometry) {\n super(geometry);\n }\n\n protected getDefaultLabelCfg() {\n return get(this.geometry.theme, 'pieLabels', {});\n }\n\n protected getDefaultOffset(offset) {\n return offset || 0;\n }\n\n protected getLabelRotate(angle: number, offset: number, isLabelLimit: boolean) {\n let rotate;\n if (offset < 0) {\n rotate = angle;\n if (rotate > Math.PI / 2) {\n rotate = rotate - Math.PI;\n }\n if (rotate < -Math.PI / 2) {\n rotate = rotate + Math.PI;\n }\n }\n return rotate;\n }\n\n protected getLabelAlign(point: LabelItem) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n\n let align;\n if (point.angle <= Math.PI / 2 && point.x >= center.x) {\n align = 'left';\n } else {\n align = 'right';\n }\n const offset = this.getDefaultOffset(point.offset);\n if (offset <= 0) {\n if (align === 'right') {\n align = 'left';\n } else {\n align = 'right';\n }\n }\n return align;\n }\n\n protected getArcPoint(point) {\n return point;\n }\n\n protected getPointAngle(point) {\n const coordinate = this.getCoordinate();\n const startPoint = {\n x: isArray(point.x) ? point.x[0] : point.x,\n y: point.y[0],\n };\n const endPoint = {\n x: isArray(point.x) ? point.x[1] : point.x,\n y: point.y[1],\n };\n let angle;\n const startAngle = getAngleByPoint(coordinate, startPoint);\n if (point.points && point.points[0].y === point.points[1].y) {\n angle = startAngle;\n } else {\n let endAngle = getAngleByPoint(coordinate, endPoint);\n if (startAngle >= endAngle) {\n // 100% pie slice\n endAngle = endAngle + Math.PI * 2;\n }\n angle = startAngle + (endAngle - startAngle) / 2;\n }\n return angle;\n }\n\n protected getCirclePoint(angle, offset, p?) {\n const coordinate = this.getCoordinate();\n const center = coordinate.getCenter();\n const r = coordinate.getRadius() + offset;\n return {\n ...polarToCartesian(center.x, center.y, r, angle),\n angle,\n r,\n };\n }\n}\n"]} |