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

1 line
5.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/geometry/path.ts"],"names":[],"mappings":"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","sourcesContent":["import { FIELD_ORIGIN } from '../constant';\nimport { MappingDatum, ShapeInfo } from '../interface';\nimport Geometry, { GeometryCfg } from './base';\nimport Element from './element';\n/** 引入对应的 ShapeFactory */\nimport './shape/line';\nimport { isModelChange } from './util/is-model-change';\n\n/** Path 构造函数参数类型 */\nexport interface PathCfg extends GeometryCfg {\n /** 是否连接空值 */\n connectNulls?: boolean;\n}\n\n/**\n * Path 几何标记。\n * 用于绘制路径图等。\n */\nexport default class Path extends Geometry {\n public readonly type: string = 'path';\n public readonly shapeType: string = 'line';\n /** 是否连接空值 */\n public connectNulls: boolean;\n\n constructor(cfg: PathCfg) {\n super(cfg);\n\n const { connectNulls = false } = cfg;\n this.connectNulls = connectNulls;\n }\n\n /**\n * 创建所有的 Element 实例,对于 Path、Line、Area一组数据对应一个 Element。\n * @param mappingData\n * @param [isUpdate]\n * @returns elements\n */\n protected createElements(mappingData: MappingDatum[], index: number, isUpdate: boolean = false): Element[] {\n // Path 的每个 element 对应一组数据\n const { lastElementsMap, elementsMap, elements, container } = this;\n const elementId = this.getElementId(mappingData);\n const shapeCfg = this.getShapeInfo(mappingData);\n\n let result = lastElementsMap[elementId];\n if (!result) {\n const shapeFactory = this.getShapeFactory();\n\n result = new Element({\n shapeFactory,\n container,\n offscreenGroup: this.getOffscreenGroup(),\n });\n result.geometry = this;\n result.animate = this.animateOption;\n result.draw(shapeCfg, isUpdate); // 绘制 shape\n } else {\n // element 已经创建\n const preShapeCfg = result.getModel();\n if (this.isCoordinateChanged || isModelChange(preShapeCfg, shapeCfg)) {\n result.animate = this.animateOption;\n // 通过绘制数据的变更来判断是否需要更新,因为用户有可能会修改图形属性映射\n result.update(shapeCfg); // 更新对应的 element\n }\n delete lastElementsMap[elementId];\n }\n\n elements.push(result);\n elementsMap[elementId] = result;\n\n return elements;\n }\n\n /**\n * 获取组成一条线(一组数据)的所有点以及数据\n * @param mappingData 映射后的数组\n */\n protected getPointsAndData(mappingData: MappingDatum[]) {\n const points = [];\n const data = [];\n\n for (let i = 0, len = mappingData.length; i < len; i++) {\n const obj = mappingData[i];\n points.push({\n x: obj.x,\n y: obj.y,\n });\n data.push(obj[FIELD_ORIGIN]);\n }\n\n return {\n points,\n data,\n };\n }\n\n private getShapeInfo(mappingData: MappingDatum[]): ShapeInfo {\n const shapeCfg = this.getDrawCfg(mappingData[0]);\n const { points, data } = this.getPointsAndData(mappingData);\n shapeCfg.mappingData = mappingData;\n shapeCfg.data = data;\n shapeCfg.isStack = !!this.getAdjust('stack');\n shapeCfg.points = points;\n shapeCfg.connectNulls = this.connectNulls;\n\n return shapeCfg;\n }\n}\n"]}