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

1 line
33 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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":"annotation.js","sourceRoot":"","sources":["../../../src/chart/controller/annotation.ts"],"names":[],"mappings":"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","sourcesContent":["import { contains, deepMix, each, get, isArray, isFunction, isNil, isString, keys, upperFirst } from '@antv/util';\n\nimport { Annotation as AnnotationComponent, IElement, IGroup, Scale } from '../../dependents';\nimport {\n AnnotationBaseOption as BaseOption,\n AnnotationPosition as Position,\n ArcOption,\n ComponentOption,\n Data,\n DataMarkerOption,\n DataRegionOption,\n ImageOption,\n LineOption,\n Point,\n RegionFilterOption,\n RegionOption,\n RegionPositionBaseOption,\n TextOption,\n} from '../../interface';\n\nimport { DEFAULT_ANIMATE_CFG } from '../../animate/';\nimport { COMPONENT_TYPE, DIRECTION, LAYER, VIEW_LIFE_CIRCLE } from '../../constant';\n\nimport Geometry from '../../geometry/base';\nimport Element from '../../geometry/element';\nimport { getAngleByPoint, getDistanceToCenter } from '../../util/coordinate';\nimport { omit } from '../../util/helper';\nimport View from '../view';\nimport { Controller } from './base';\n\n/**\n * Annotation controller, 主要作用:\n * 1. 创建 Annotation: line、text、arc ...\n * 2. 生命周期: init、layout、render、clear、destroy\n */\nexport default class Annotation extends Controller<BaseOption[]> {\n private foregroundContainer: IGroup;\n private backgroundContainer: IGroup;\n\n /* 组件更新的 cache组件配置 object : 组件 */\n private cache = new Map<BaseOption, ComponentOption>();\n\n constructor(view: View) {\n super(view);\n\n this.foregroundContainer = this.view.getLayer(LAYER.FORE).addGroup();\n this.backgroundContainer = this.view.getLayer(LAYER.BG).addGroup();\n\n this.option = [];\n }\n\n public get name(): string {\n return 'annotation';\n }\n\n public init() {}\n\n public layout() {\n const components = this.getComponents();\n const updateComponentFn = (co: ComponentOption) => {\n const { component, extra } = co;\n const { type } = extra;\n const theme = this.getAnnotationTheme(type);\n\n component.update(this.getAnnotationCfg(type, extra, theme));\n };\n const createComponentFn = (option: BaseOption) => {\n const co = this.createAnnotation(option);\n if (co) {\n co.component.init();\n // NoteregionFilter 特殊处理regionFilter需要取到 Geometry 中的 Shape需要在 view render 之后处理\n // 其他组件使用外层的统一 render 逻辑\n if (option.type === 'regionFilter') {\n co.component.render();\n }\n // 缓存起来\n this.cache.set(option, co);\n }\n };\n\n if (components.length) {\n each(components, (co: ComponentOption) => {\n const { component } = co;\n\n if (component.get('type') === 'regionFilter') {\n // regionFilter 依赖绘制后的 Geometry Shapes\n this.view.once(VIEW_LIFE_CIRCLE.AFTER_RENDER, () => {\n updateComponentFn(co);\n });\n } else {\n updateComponentFn(co);\n }\n });\n } else {\n each(this.option, (option: BaseOption) => {\n if (option.type === 'regionFilter') {\n this.view.once(VIEW_LIFE_CIRCLE.AFTER_RENDER, () => {\n // regionFilter 依赖绘制后的 Geometry Shapes\n createComponentFn(option);\n });\n } else {\n createComponentFn(option);\n }\n });\n }\n }\n\n public render() {\n // 因为 Annotation 不参与布局,但是渲染的位置依赖于坐标系,所以可以将绘制阶段延迟到 layout() 进行\n }\n\n /**\n * 更新\n */\n public update() {\n // 已经处理过的 legend\n const updated = new WeakMap<BaseOption, true>();\n\n const updateComponentFn = (option: BaseOption) => {\n const { type } = option;\n const theme = this.getAnnotationTheme(type);\n const cfg = this.getAnnotationCfg(type, option, theme);\n\n const existCo = this.cache.get(option);\n\n // 存在,则更新\n if (existCo) {\n // 忽略掉一些配置\n omit(cfg, ['container']);\n\n existCo.component.update(cfg);\n updated.set(option, true);\n } else {\n // 不存在,则创建\n const co = this.createAnnotation(option);\n if (co) {\n co.component.init();\n // NoteregionFilter 特殊处理regionFilter需要取到 Geometry 中的 Shape需要在 view render 之后处理\n // 其他组件使用外层的统一 render 逻辑\n if (option.type === 'regionFilter') {\n co.component.render();\n }\n // 缓存起来\n this.cache.set(option, co);\n updated.set(option, true);\n }\n }\n };\n\n this.view.once(VIEW_LIFE_CIRCLE.AFTER_RENDER, () => {\n // 先看是否有 regionFilter 要更新\n each(this.option, (option: BaseOption) => {\n if (option.type === 'regionFilter') {\n updateComponentFn(option);\n }\n });\n\n // 处理完成之后,销毁删除的\n // 不在处理中的\n const newCache = new Map<BaseOption, ComponentOption>();\n\n this.cache.forEach((value: ComponentOption, key: BaseOption) => {\n if (updated.has(key)) {\n newCache.set(key, value);\n } else {\n // 不存在,则是所有需要被销毁的组件\n value.component.destroy();\n }\n });\n\n // 更新缓存\n this.cache = newCache;\n });\n\n each(this.option, (option: BaseOption) => {\n if (option.type !== 'regionFilter') {\n updateComponentFn(option);\n }\n });\n }\n\n /**\n * 清空\n * @param includeOption 是否清空 option 配置项\n */\n public clear(includeOption = false) {\n super.clear();\n\n this.cache.clear();\n this.foregroundContainer.clear();\n this.backgroundContainer.clear();\n // clear all option\n if (includeOption) {\n this.option = [];\n }\n }\n\n public destroy() {\n this.clear(true);\n\n this.foregroundContainer.remove(true);\n this.backgroundContainer.remove(true);\n }\n\n /**\n * 复写基类的方法\n */\n public getComponents(): ComponentOption[] {\n const co = [];\n\n this.cache.forEach((value: ComponentOption) => {\n co.push(value);\n });\n\n return co;\n }\n\n private createAnnotation(option: BaseOption) {\n const { type } = option;\n\n const Ctor = AnnotationComponent[upperFirst(type)];\n if (Ctor) {\n const theme = this.getAnnotationTheme(type);\n const cfg = this.getAnnotationCfg(type, option, theme);\n const annotation = new Ctor(cfg);\n\n return {\n component: annotation,\n layer: this.isTop(cfg) ? LAYER.FORE : LAYER.BG,\n direction: DIRECTION.NONE,\n type: COMPONENT_TYPE.ANNOTATION,\n extra: option,\n };\n }\n }\n\n // APIs for creating annotation component\n public annotation(option: any) {\n this.option.push(option);\n }\n\n /**\n * 创建 Arc\n * @param option\n * @returns AnnotationController\n */\n public arc(option: ArcOption) {\n this.annotation({\n type: 'arc',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 image\n * @param option\n * @returns AnnotationController\n */\n public image(option: ImageOption) {\n this.annotation({\n type: 'image',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Line\n * @param option\n * @returns AnnotationController\n */\n public line(option: LineOption) {\n this.annotation({\n type: 'line',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Region\n * @param option\n * @returns AnnotationController\n */\n public region(option: RegionOption) {\n this.annotation({\n type: 'region',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 Text\n * @param option\n * @returns AnnotationController\n */\n public text(option: TextOption) {\n this.annotation({\n type: 'text',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 DataMarker\n * @param option\n * @returns AnnotationController\n */\n public dataMarker(option: DataMarkerOption) {\n this.annotation({\n type: 'dataMarker',\n ...option,\n });\n\n return this;\n }\n\n /**\n * 创建 DataRegion\n * @param option\n * @returns AnnotationController\n */\n public dataRegion(option: DataRegionOption) {\n this.annotation({\n type: 'dataRegion',\n ...option,\n });\n }\n\n /**\n * 创建 RegionFilter\n * @param option\n * @returns AnnotationController\n */\n public regionFilter(option: RegionFilterOption) {\n this.annotation({\n type: 'regionFilter',\n ...option,\n });\n }\n // end API\n\n /**\n * parse the point position to [x, y]\n * @param p Position\n * @returns { x, y }\n */\n private parsePosition(p: Position): Point {\n const xScale = this.view.getXScale();\n // 转成 object\n const yScales = this.view.getScalesByDim('y');\n\n const position: Position = isFunction(p) ? p.call(null, xScale, yScales) : p;\n\n let x = 0;\n let y = 0;\n\n // 入参是 [24, 24] 这类时\n if (isArray(position)) {\n const [xPos, yPos] = position;\n // 如果数据格式是 ['50%', '50%'] 的格式\n // fix: 原始数据中可能会包含 'xxx5%xxx' 这样的数据,需要判断下 https://github.com/antvis/f2/issues/590\n // @ts-ignore\n if (isString(xPos) && xPos.indexOf('%') !== -1 && !isNaN(xPos.slice(0, -1))) {\n return this.parsePercentPosition(position as [string, string]);\n }\n\n x = this.getNormalizedValue(xPos, xScale);\n y = this.getNormalizedValue(yPos, Object.values(yScales)[0]);\n } else if (!isNil(position)) {\n // 入参是 object 结构,数据点\n for (const key of keys(position)) {\n const value = position[key];\n if (key === xScale.field) {\n x = this.getNormalizedValue(value, xScale);\n }\n if (yScales[key]) {\n y = this.getNormalizedValue(value, yScales[key]);\n }\n }\n }\n\n return this.view.getCoordinate().convert({ x, y });\n }\n\n /**\n * parse all the points between start and end\n * @param start\n * @param end\n * @return Point[]\n */\n private getRegionPoints(start: Position | Data, end: Position | Data): Point[] {\n const xScale = this.view.getXScale();\n const yScales = this.view.getScalesByDim('y');\n const yScale = Object.values(yScales)[0];\n const xField = xScale.field;\n const viewData = this.view.getData();\n const startXValue = isArray(start) ? start[0] : start[xField];\n const endXValue = isArray(end) ? end[0] : end[xField];\n const arr = [];\n\n let startIndex;\n each(viewData, (item, idx) => {\n if (item[xField] === startXValue) {\n startIndex = idx;\n }\n if (idx >= startIndex) {\n const point = this.parsePosition([item[xField], item[yScale.field]]);\n if (point) {\n arr.push(point);\n }\n }\n if (item[xField] === endXValue) {\n return false;\n }\n });\n\n return arr;\n }\n\n /**\n * parse the value position\n * @param val\n * @param scale\n */\n private getNormalizedValue(val: number | string, scale: Scale) {\n let result: number;\n let scaled: number;\n\n switch (val) {\n case 'start':\n result = 0;\n break;\n case 'end':\n result = 1;\n break;\n case 'median': {\n scaled = scale.isCategory ? (scale.values.length - 1) / 2 : (scale.min + scale.max) / 2;\n result = scale.scale(scaled);\n break;\n }\n case 'min':\n case 'max':\n if (scale.isCategory) {\n scaled = val === 'min' ? 0 : scale.values.length - 1;\n } else {\n scaled = scale[val];\n }\n result = scale.scale(scaled);\n break;\n default:\n result = scale.scale(val);\n }\n\n return result;\n }\n\n /**\n * parse percent position\n * @param position\n */\n private parsePercentPosition(position: [string, string]): Point {\n const xPercent = parseFloat(position[0]) / 100;\n const yPercent = parseFloat(position[1]) / 100;\n const coordinate = this.view.getCoordinate();\n const { start, end } = coordinate;\n\n const topLeft = {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n };\n const x = coordinate.getWidth() * xPercent + topLeft.x;\n const y = coordinate.getHeight() * yPercent + topLeft.y;\n return { x, y };\n }\n\n /**\n * get coordinate bbox\n */\n private getCoordinateBBox() {\n const coordinate = this.view.getCoordinate();\n const { start, end } = coordinate;\n\n const width = coordinate.getWidth();\n const height = coordinate.getHeight();\n const topLeft = {\n x: Math.min(start.x, end.x),\n y: Math.min(start.y, end.y),\n };\n\n return {\n x: topLeft.x,\n y: topLeft.y,\n minX: topLeft.x,\n minY: topLeft.y,\n maxX: topLeft.x + width,\n maxY: topLeft.y + height,\n width,\n height,\n };\n }\n\n /**\n * get annotation component config by different type\n * @param type\n * @param option 用户的配置\n * @param theme\n */\n private getAnnotationCfg(type: string, option: any, theme: object): object {\n const coordinate = this.view.getCoordinate();\n let o = {};\n\n if (isNil(option)) {\n return null;\n }\n\n if (type === 'arc') {\n const { start, end } = option as ArcOption;\n const sp = this.parsePosition(start);\n const ep = this.parsePosition(end);\n const startAngle = getAngleByPoint(coordinate, sp);\n let endAngle = getAngleByPoint(coordinate, ep);\n if (startAngle > endAngle) {\n endAngle = Math.PI * 2 + endAngle;\n }\n\n o = {\n center: coordinate.getCenter(),\n radius: getDistanceToCenter(coordinate, sp),\n startAngle,\n endAngle,\n };\n } else if (type === 'image') {\n const { start, end } = option as ImageOption;\n o = {\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n src: option.src,\n };\n } else if (type === 'line') {\n const { start, end } = option as LineOption;\n o = {\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n text: get(option, 'text', null),\n };\n } else if (type === 'region') {\n const { start, end } = option as RegionPositionBaseOption;\n o = {\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n };\n } else if (type === 'text') {\n const { position, rotate } = option as TextOption;\n o = {\n ...this.parsePosition(position),\n content: option.content,\n rotate,\n };\n } else if (type === 'dataMarker') {\n const { position, point, line, text, autoAdjust, direction } = option as DataMarkerOption;\n o = {\n ...this.parsePosition(position),\n coordinateBBox: this.getCoordinateBBox(),\n point,\n line,\n text,\n autoAdjust,\n direction,\n };\n } else if (type === 'dataRegion') {\n const { start, end, region, text, lineLength } = option as DataRegionOption;\n o = {\n points: this.getRegionPoints(start, end),\n region,\n text,\n lineLength,\n };\n } else if (type === 'regionFilter') {\n const { start, end, apply, color } = option as RegionFilterOption;\n const geometries: Geometry[] = this.view.geometries;\n const shapes = [];\n const addShapes = (item?: IElement) => {\n if (!item) {\n return;\n }\n if (item.isGroup()) {\n (item as IGroup).getChildren().forEach((child) => addShapes(child));\n } else {\n shapes.push(item);\n }\n };\n each(geometries, (geom: Geometry) => {\n if (apply) {\n if (contains(apply, geom.type)) {\n each(geom.elements, (elem: Element) => {\n addShapes(elem.shape);\n });\n }\n } else {\n each(geom.elements, (elem: Element) => {\n addShapes(elem.shape);\n });\n }\n });\n o = {\n color,\n shapes,\n start: this.parsePosition(start),\n end: this.parsePosition(end),\n };\n }\n // 合并主题,用户配置优先级高于默认主题\n const cfg = deepMix({}, theme, {\n ...o,\n top: option.top,\n style: option.style,\n offsetX: option.offsetX,\n offsetY: option.offsetY,\n });\n cfg.container = this.getComponentContainer(cfg);\n cfg.animate = this.view.getOptions().animate && cfg.animate && get(option, 'animate', cfg.animate); // 如果 view 关闭动画,则不执行\n cfg.animateOption = deepMix({}, DEFAULT_ANIMATE_CFG, cfg.animateOption, option.animateOption);\n\n return cfg;\n }\n\n /**\n * is annotation render on top\n * @param option\n * @return whethe on top\n */\n private isTop(option: any): boolean {\n return get(option, 'top', true);\n }\n\n /**\n * get the container by option.top\n * default is on top\n * @param option\n * @returns the container\n */\n private getComponentContainer(option: any) {\n return this.isTop(option) ? this.foregroundContainer : this.backgroundContainer;\n }\n\n private getAnnotationTheme(type: string) {\n return get(this.view.getTheme(), ['components', 'annotation', type], {});\n }\n}\n"]}