@visactor/vchart 2.0.9 → 2.0.10-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.es.js +269 -55
- package/build/index.js +269 -55
- package/build/index.min.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/box-plot/box-plot-transformer.js +1 -1
- package/cjs/chart/box-plot/box-plot-transformer.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.js +2 -2
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/tooltip/utils/show-tooltip.js +3 -3
- package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +1 -1
- package/cjs/mark/base/base-mark.js +3 -3
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/series/base/base-series.js +3 -3
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/box-plot/box-plot.d.ts +3 -1
- package/cjs/series/box-plot/box-plot.js +54 -29
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/box-plot/interface.d.ts +7 -2
- package/cjs/series/box-plot/interface.js.map +1 -1
- package/cjs/theme/token/builtin/default.js +1 -1
- package/cjs/theme/token/builtin/default.js.map +1 -1
- package/cjs/typings/visual.d.ts +3 -3
- package/cjs/typings/visual.js.map +1 -1
- package/esm/chart/box-plot/box-plot-transformer.js +1 -1
- package/esm/chart/box-plot/box-plot-transformer.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.js +2 -2
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/tooltip/utils/show-tooltip.js +3 -3
- package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +1 -1
- package/esm/mark/base/base-mark.js +3 -3
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/series/base/base-series.js +3 -3
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/box-plot/box-plot.d.ts +3 -1
- package/esm/series/box-plot/box-plot.js +56 -29
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/box-plot/interface.d.ts +7 -2
- package/esm/series/box-plot/interface.js.map +1 -1
- package/esm/theme/token/builtin/default.js +1 -1
- package/esm/theme/token/builtin/default.js.map +1 -1
- package/esm/typings/visual.d.ts +3 -3
- package/esm/typings/visual.js.map +1 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/utils/show-tooltip.ts"],"names":[],"mappings":"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","file":"show-tooltip.js","sourcesContent":["import { type Datum, type IPoint, type IShowTooltipOption, type TooltipActiveType } from '../../../typings';\nimport type { ICartesianSeries, IPolarSeries, ISeries } from '../../../series/interface';\nimport { SeriesTypeEnum } from '../../../series/interface/type';\nimport type { PieSeries } from '../../../series/pie/pie';\nimport { Event_Source_Type } from '../../../constant/event';\nimport { getElementAbsolutePosition, isArray, isValid, isNil } from '@visactor/vutils';\nimport type { IDimensionData, IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { VChart } from '../../../core/vchart';\nimport type { IRegion } from '../../../region';\nimport type { Tooltip } from '../tooltip';\nimport type { IComponentOption } from '../../interface';\nimport { isDiscrete } from '@visactor/vscale';\nimport type { TooltipHandlerParams } from '../interface/common';\n\nconst getDataArrayFromFieldArray = (fields: string[], datum?: Datum) =>\n isValid(datum) ? fields.map(f => datum[f]) : undefined;\n\nconst datumContainsArray = (fields: string[], data?: Datum[]) => (datum: Datum) =>\n fields.every((key, i) => datum[key] === data?.[i]);\n\nconst hasData = (data?: any[] | Datum) => {\n if (isNil(data)) {\n return false;\n }\n if (isArray(data)) {\n return data.length > 0 && data.every(isValid);\n }\n return Object.keys(data).length > 0;\n};\n\ntype MarkInfo = {\n pos: IPoint;\n data: {\n dimensionFields: string[];\n measureFields: string[];\n dimensionData?: any[];\n measureData?: any[];\n hasMeasureData?: boolean;\n groupField?: string;\n groupData?: any;\n };\n series: ISeries;\n dimType?: string;\n};\n\nexport function showTooltip(datum: Datum, options: IShowTooltipOption, component: Tooltip): TooltipActiveType | 'none' {\n const opt: IShowTooltipOption = {\n regionIndex: 0,\n ...options\n };\n const componentOptions = component.getOption() as IComponentOption;\n\n // 确认region\n const region = componentOptions.getRegionsInUserIdOrIndex(\n isValid(opt.regionId) ? [opt.regionId] : undefined,\n isValid(opt.regionIndex) ? [opt.regionIndex] : undefined\n )[0];\n if (!region) {\n return 'none';\n }\n\n // 查询图元信息\n const markInfoList = getMarkInfoList(datum, region);\n\n // 组织数据\n const activeType = opt.activeType ?? (markInfoList.length > 1 ? 'dimension' : 'mark');\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n const container = componentOptions.globalInstance.getContainer();\n const containerPos = {\n x: 0,\n y: 0,\n ...(container ? getElementAbsolutePosition(container) : {})\n };\n const bound = (pos: IPoint): IPoint => ({\n x: Math.min(Math.max(pos.x, 0), regionRect.width),\n y: Math.min(Math.max(pos.y, 0), regionRect.height)\n });\n const getOriginDatum = (info: MarkInfo) => {\n const { dimensionFields, dimensionData, measureFields, measureData, groupField, groupData } = info.data;\n const originDatum = info.series.getViewData()?.latestData.find((datum: any) => {\n return (\n datumContainsArray(dimensionFields, dimensionData)(datum) &&\n datumContainsArray(measureFields, measureData)(datum) &&\n (isNil(groupField) || datumContainsArray([groupField], [groupData])(datum))\n );\n });\n return originDatum;\n };\n const getMockEvent = (originPos: IPoint): any => {\n const pos = bound(originPos);\n const canvasX = opt.x ?? regionPos.x + pos.x;\n const canvasY = opt.y ?? regionPos.y + pos.y;\n return {\n canvasX,\n canvasY,\n clientX: containerPos.x + canvasX,\n clientY: containerPos.y + canvasY\n };\n };\n\n // 显示tooltip\n if (activeType === 'dimension') {\n const firstInfo = markInfoList[0];\n if (!firstInfo) {\n return 'none';\n }\n\n // 将markInfoList按系列分组\n const markInfoSeriesMap = new Map<ISeries, MarkInfo[]>();\n markInfoList.forEach(info => {\n if (!markInfoSeriesMap.has(info.series)) {\n markInfoSeriesMap.set(info.series, []);\n }\n markInfoSeriesMap.get(info.series)?.push(info);\n });\n\n const mockDimensionInfo: IDimensionInfo[] = [\n {\n value: datum[firstInfo.data.dimensionFields[0]],\n data: [...markInfoSeriesMap.keys()].map(series => {\n return {\n series,\n datum: markInfoSeriesMap.get(series)?.map(info => getOriginDatum(info)) ?? []\n };\n })\n }\n ];\n\n if (isValid(firstInfo.dimType)) {\n mockDimensionInfo[0].position = firstInfo.pos[firstInfo.dimType];\n mockDimensionInfo[0].dimType = firstInfo.dimType;\n }\n\n const mockParams: TooltipHandlerParams = {\n changePositionOnly: false,\n action: 'enter',\n tooltip: null,\n dimensionInfo: mockDimensionInfo,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: undefined,\n model: undefined,\n source: Event_Source_Type.chart,\n event: getMockEvent({\n x: markInfoList.reduce((sum, info) => sum + info.pos.x, 0) / markInfoList.length,\n y: markInfoList.reduce((sum, info) => sum + info.pos.y, 0) / markInfoList.length // 位置求平均\n }),\n item: undefined\n };\n\n component.processor.dimension.showTooltip(mockDimensionInfo, mockParams, false);\n\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n\n return activeType;\n } else if (activeType === 'mark') {\n const info = markInfoList[0];\n if (!info) {\n return 'none';\n }\n const mockDatum = {\n ...getOriginDatum(info),\n ...datum\n };\n const mockDimensionData: IDimensionData[] = [\n {\n datum: [mockDatum],\n series: info.series\n }\n ];\n const mockDimensionInfo: IDimensionInfo[] = [\n {\n value: mockDatum[info.data.dimensionFields[0]],\n data: mockDimensionData\n }\n ];\n const mockParams: TooltipHandlerParams = {\n // FIXME: 补充 action、dimensionInfo\n changePositionOnly: false,\n tooltip: null,\n dimensionInfo: mockDimensionInfo,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: mockDatum,\n model: info.series,\n source: Event_Source_Type.chart,\n event: getMockEvent(info.pos),\n item: undefined\n } as any;\n\n component.processor.mark.showTooltip(\n {\n datum: mockDatum,\n mark: null,\n series: info.series\n },\n mockParams,\n false\n );\n\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return activeType;\n }\n return 'none';\n}\n\nexport const getMarkInfoList = (datum: Datum, region: IRegion) => {\n const seriesList = region.getSeries();\n const markInfoList: MarkInfo[] = [];\n\n seriesList.forEach(series => {\n /** 维度field */\n const dimensionFields = series.getDimensionField();\n /** 指标原始field(用于显示tooltip) */\n const measureFields = series.getMeasureField();\n\n const groupField = series.getSeriesField();\n const groupData = isValid(groupField) ? datum[groupField] : undefined;\n const groupDomain = isValid(groupField)\n ? series.getViewDataStatistics?.()?.latestData[groupField]?.values ?? []\n : [];\n\n const dimensionData = getDataArrayFromFieldArray(dimensionFields, datum);\n let measureData = getDataArrayFromFieldArray(measureFields, datum);\n const hasMeasureData = hasData(measureData);\n\n const isMultiGroups = !hasMeasureData && isValid(groupField) && isNil(groupData) && groupDomain.length > 0; // 是否需要考虑多个数据组\n\n const parseMarkInfoOfSimpleSeries = () => {\n const originDatum = series.getViewData()?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos =\n series.type === SeriesTypeEnum.pie\n ? (series as PieSeries).dataToCentralPosition(originDatum)\n : series.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n };\n\n if (series.coordinate === 'cartesian') {\n const cartesianSeries = series as ICartesianSeries;\n const dimType = isDiscrete((series as ICartesianSeries).getYAxisHelper()?.getScale(0)?.type) ? 'y' : 'x';\n\n // 补全维度轴数据\n const invalidDimensionFields = dimensionFields\n .map((field, i) => [field, i] as [string, number])\n .filter(([, i]) => isNil(dimensionData?.[i]));\n let dimensionDataList: any[][] = [dimensionData ?? []];\n if (invalidDimensionFields.length > 0) {\n invalidDimensionFields.forEach(([field, i]) => {\n const domain = series.getViewDataStatistics?.()?.latestData[field]?.values ?? [];\n const nextList: any[][] = [];\n dimensionDataList.forEach(dimensionData => {\n domain.forEach((value: any) => {\n const newData = dimensionData?.slice() ?? [];\n newData[i] = value;\n nextList.push(newData);\n });\n });\n dimensionDataList = nextList;\n });\n }\n dimensionDataList.forEach(dimensionData => {\n if (isMultiGroups) {\n const measureDataList = cartesianSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n groupDomain.forEach((groupData: any) => {\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series,\n dimType\n });\n });\n } else {\n const originDatum = cartesianSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n dimType,\n series\n });\n }\n });\n } else if (series.coordinate === 'polar') {\n if (series.type === SeriesTypeEnum.pie) {\n parseMarkInfoOfSimpleSeries();\n } else {\n // 处理玫瑰图、雷达图\n const polarSeries = series as IPolarSeries;\n\n if (isMultiGroups) {\n const measureDataList = polarSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n groupDomain.forEach((groupData: any) => {\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = polarSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n });\n } else {\n parseMarkInfoOfSimpleSeries();\n }\n }\n } else if (series.coordinate === 'geo') {\n parseMarkInfoOfSimpleSeries();\n }\n });\n\n return markInfoList;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/utils/show-tooltip.ts"],"names":[],"mappings":"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","file":"show-tooltip.js","sourcesContent":["import { type Datum, type IPoint, type IShowTooltipOption, type TooltipActiveType } from '../../../typings';\nimport type { ICartesianSeries, IPolarSeries, ISeries } from '../../../series/interface';\nimport { SeriesTypeEnum } from '../../../series/interface/type';\nimport type { PieSeries } from '../../../series/pie/pie';\nimport { Event_Source_Type } from '../../../constant/event';\nimport { getElementAbsolutePosition, isArray, isValid, isNil } from '@visactor/vutils';\nimport type { IDimensionData, IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { VChart } from '../../../core/vchart';\nimport type { IRegion } from '../../../region';\nimport type { Tooltip } from '../tooltip';\nimport type { IComponentOption } from '../../interface';\nimport { isDiscrete } from '@visactor/vscale';\nimport type { TooltipHandlerParams } from '../interface/common';\n\nconst getDataArrayFromFieldArray = (fields: string[], datum?: Datum) =>\n isValid(datum) ? fields.map(f => datum[f]) : undefined;\n\nconst datumContainsArray = (fields: string[], data?: Datum[]) => (datum: Datum) =>\n fields.every((key, i) => datum[key] === data?.[i]);\n\nconst hasData = (data?: any[] | Datum) => {\n if (isNil(data)) {\n return false;\n }\n if (isArray(data)) {\n return data.length > 0 && data.every(isValid);\n }\n return Object.keys(data).length > 0;\n};\n\ntype MarkInfo = {\n pos: IPoint;\n data: {\n dimensionFields: string[];\n measureFields: string[];\n dimensionData?: any[];\n measureData?: any[];\n hasMeasureData?: boolean;\n groupField?: string;\n groupData?: any;\n };\n series: ISeries;\n dimType?: string;\n};\n\nexport function showTooltip(datum: Datum, options: IShowTooltipOption, component: Tooltip): TooltipActiveType | 'none' {\n const opt: IShowTooltipOption = {\n regionIndex: 0,\n ...options\n };\n const componentOptions = component.getOption() as IComponentOption;\n\n // 确认region\n const region = componentOptions.getRegionsInUserIdOrIndex(\n isValid(opt.regionId) ? [opt.regionId] : undefined,\n isValid(opt.regionIndex) ? [opt.regionIndex] : undefined\n )[0];\n if (!region) {\n return 'none';\n }\n\n // 查询图元信息\n const markInfoList = getMarkInfoList(datum, region);\n\n // 组织数据\n const activeType = opt.activeType ?? (markInfoList.length > 1 ? 'dimension' : 'mark');\n const regionPos = region.getLayoutStartPoint();\n const regionRect = region.getLayoutRect();\n const container = componentOptions.globalInstance.getContainer();\n const containerPos = {\n x: 0,\n y: 0,\n ...(container ? getElementAbsolutePosition(container) : {})\n };\n const bound = (pos: IPoint): IPoint => ({\n x: Math.min(Math.max(pos.x, 0), regionRect.width),\n y: Math.min(Math.max(pos.y, 0), regionRect.height)\n });\n const getOriginDatum = (info: MarkInfo) => {\n const { dimensionFields, dimensionData, measureFields, measureData, groupField, groupData } = info.data;\n const originDatum = info.series.getViewData()?.latestData.find((datum: any) => {\n return (\n datumContainsArray(dimensionFields, dimensionData)(datum) &&\n datumContainsArray(measureFields, measureData)(datum) &&\n (isNil(groupField) || datumContainsArray([groupField], [groupData])(datum))\n );\n });\n return originDatum;\n };\n const getMockEvent = (originPos: IPoint): any => {\n const pos = bound(originPos);\n const canvasX = opt.x ?? regionPos.x + pos.x;\n const canvasY = opt.y ?? regionPos.y + pos.y;\n return {\n canvasX,\n canvasY,\n clientX: containerPos.x + canvasX,\n clientY: containerPos.y + canvasY\n };\n };\n\n // 显示tooltip\n if (activeType === 'dimension') {\n const firstInfo = markInfoList[0];\n if (!firstInfo) {\n return 'none';\n }\n\n // 将markInfoList按系列分组\n const markInfoSeriesMap = new Map<ISeries, MarkInfo[]>();\n markInfoList.forEach(info => {\n if (!markInfoSeriesMap.has(info.series)) {\n markInfoSeriesMap.set(info.series, []);\n }\n markInfoSeriesMap.get(info.series)?.push(info);\n });\n\n const mockDimensionInfo: IDimensionInfo[] = [\n {\n value: datum[firstInfo.data.dimensionFields[0]],\n data: [...markInfoSeriesMap.keys()].map(series => {\n return {\n series,\n datum: markInfoSeriesMap.get(series)?.map(info => getOriginDatum(info)) ?? []\n };\n })\n }\n ];\n\n if (isValid(firstInfo.dimType)) {\n mockDimensionInfo[0].position = firstInfo.pos[firstInfo.dimType];\n mockDimensionInfo[0].dimType = firstInfo.dimType;\n }\n\n const mockParams: TooltipHandlerParams = {\n changePositionOnly: false,\n action: 'enter',\n tooltip: null,\n dimensionInfo: mockDimensionInfo,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: undefined,\n model: undefined,\n source: Event_Source_Type.chart,\n event: getMockEvent({\n x: markInfoList.reduce((sum, info) => sum + info.pos.x, 0) / markInfoList.length,\n y: markInfoList.reduce((sum, info) => sum + info.pos.y, 0) / markInfoList.length // 位置求平均\n }),\n item: undefined\n };\n\n component.processor?.dimension?.showTooltip?.(mockDimensionInfo, mockParams, false);\n\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n\n return activeType;\n } else if (activeType === 'mark') {\n const info = markInfoList[0];\n if (!info) {\n return 'none';\n }\n const mockDatum = {\n ...getOriginDatum(info),\n ...datum\n };\n const mockDimensionData: IDimensionData[] = [\n {\n datum: [mockDatum],\n series: info.series\n }\n ];\n const mockDimensionInfo: IDimensionInfo[] = [\n {\n value: mockDatum[info.data.dimensionFields[0]],\n data: mockDimensionData\n }\n ];\n const mockParams: TooltipHandlerParams = {\n // FIXME: 补充 action、dimensionInfo\n changePositionOnly: false,\n tooltip: null,\n dimensionInfo: mockDimensionInfo,\n chart: componentOptions.globalInstance.getChart() ?? undefined,\n datum: mockDatum,\n model: info.series,\n source: Event_Source_Type.chart,\n event: getMockEvent(info.pos),\n item: undefined\n } as any;\n\n component.processor.mark.showTooltip(\n {\n datum: mockDatum,\n mark: null,\n series: info.series\n },\n mockParams,\n false\n );\n\n // 全局唯一 tooltip\n const vchart = componentOptions.globalInstance;\n if (VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return activeType;\n }\n return 'none';\n}\n\nexport const getMarkInfoList = (datum: Datum, region: IRegion) => {\n const seriesList = region.getSeries();\n const markInfoList: MarkInfo[] = [];\n\n seriesList.forEach(series => {\n /** 维度field */\n const dimensionFields = series.getDimensionField();\n /** 指标原始field(用于显示tooltip) */\n const measureFields = series.getMeasureField();\n\n const groupField = series.getSeriesField();\n const groupData = isValid(groupField) ? datum[groupField] : undefined;\n const groupDomain = isValid(groupField)\n ? series.getViewDataStatistics?.()?.latestData[groupField]?.values ?? []\n : [];\n\n const dimensionData = getDataArrayFromFieldArray(dimensionFields, datum);\n let measureData = getDataArrayFromFieldArray(measureFields, datum);\n const hasMeasureData = hasData(measureData);\n\n const isMultiGroups = !hasMeasureData && isValid(groupField) && isNil(groupData) && groupDomain.length > 0; // 是否需要考虑多个数据组\n\n const parseMarkInfoOfSimpleSeries = () => {\n const originDatum = series.getViewData()?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos =\n series.type === SeriesTypeEnum.pie\n ? (series as PieSeries).dataToCentralPosition(originDatum)\n : series.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n };\n\n if (series.coordinate === 'cartesian') {\n const cartesianSeries = series as ICartesianSeries;\n const dimType = isDiscrete((series as ICartesianSeries).getYAxisHelper()?.getScale(0)?.type) ? 'y' : 'x';\n\n // 补全维度轴数据\n const invalidDimensionFields = dimensionFields\n .map((field, i) => [field, i] as [string, number])\n .filter(([, i]) => isNil(dimensionData?.[i]));\n let dimensionDataList: any[][] = [dimensionData ?? []];\n if (invalidDimensionFields.length > 0) {\n invalidDimensionFields.forEach(([field, i]) => {\n const domain = series.getViewDataStatistics?.()?.latestData[field]?.values ?? [];\n const nextList: any[][] = [];\n dimensionDataList.forEach(dimensionData => {\n domain.forEach((value: any) => {\n const newData = dimensionData?.slice() ?? [];\n newData[i] = value;\n nextList.push(newData);\n });\n });\n dimensionDataList = nextList;\n });\n }\n dimensionDataList.forEach(dimensionData => {\n if (isMultiGroups) {\n const measureDataList = cartesianSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n groupDomain.forEach((groupData: any) => {\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series,\n dimType\n });\n });\n } else {\n const originDatum = cartesianSeries\n .getViewData()\n ?.latestData.find(datumContainsArray(dimensionFields, dimensionData));\n if (!hasMeasureData) {\n // 如果只有单个数据组且用户没有给y轴数据,则补全y轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n }\n\n const pos = cartesianSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n dimType,\n series\n });\n }\n });\n } else if (series.coordinate === 'polar') {\n if (series.type === SeriesTypeEnum.pie) {\n parseMarkInfoOfSimpleSeries();\n } else {\n // 处理玫瑰图、雷达图\n const polarSeries = series as IPolarSeries;\n\n if (isMultiGroups) {\n const measureDataList = polarSeries\n .getViewData()\n ?.latestData.filter(datumContainsArray(dimensionFields, dimensionData));\n const originDatum = measureDataList.find((d: Datum) => d[groupField] === groupData);\n groupDomain.forEach((groupData: any) => {\n // 补全指标轴数据\n measureData = getDataArrayFromFieldArray(measureFields, originDatum);\n if (!hasData(measureData)) {\n return;\n }\n\n const pos = polarSeries.dataToPosition(originDatum);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return;\n }\n\n markInfoList.push({\n pos,\n data: {\n dimensionFields,\n dimensionData,\n measureFields,\n measureData,\n hasMeasureData,\n groupField,\n groupData\n },\n series\n });\n });\n } else {\n parseMarkInfoOfSimpleSeries();\n }\n }\n } else if (series.coordinate === 'geo') {\n parseMarkInfoOfSimpleSeries();\n }\n });\n\n return markInfoList;\n};\n"]}
|
package/esm/core/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VChart } from './vchart';
|
|
2
2
|
import { Factory } from './factory';
|
|
3
3
|
export { VChart, Factory };
|
|
4
|
-
export declare const version = "2.0.
|
|
4
|
+
export declare const version = "2.0.10-alpha.1";
|
|
5
5
|
export type { IVChart } from './interface';
|
|
6
6
|
export type { IStateSpec, StateValueType } from '../compile/mark';
|
|
7
7
|
export type { IRegion } from '../region/interface';
|
package/esm/core/index.js
CHANGED
package/esm/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAC;AAOxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAI3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAK/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EACL,OAAO,EACP,WAAW,EACX,cAAc,EACd,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACb,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGtE,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"2.0.10-alpha.1\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport type { IRegion } from '../region/interface';\n\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../model/interface';\n\nexport * from './interface';\nexport * from '../typings';\nexport type { IMarkGraphic, IGraphicContext } from '../mark/interface/';\n\n// some constants\nexport * from '../constant/base';\nexport * from '../constant/data';\nexport * from '../constant/layout';\nexport { AttributeLevel } from '../constant/attribute';\nexport { TransformLevel } from '../data/initialize';\nexport { STATE_VALUE_ENUM } from '../compile/mark/interface';\nexport { ChartEvent } from '../constant/event';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\nexport * from '../typings/visual';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport {\n vglobal,\n createGroup,\n createRichText,\n createText,\n createArc,\n createArea,\n createRect,\n createLine,\n createSymbol\n} from '@visactor/vrender-core';\nexport { ManualTicker, StreamLight } from '@visactor/vrender-animate';\n\n// utils\nexport * from '../util/space';\nexport { transformToGraphic } from '../util/style';\nexport { getSpecInfo } from '../component/util';\nexport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../data/register';\nexport { lookup } from '../data/transforms/lookup';\nexport { warn } from '../util/debug';\nexport { measureText } from '../util/text';\n"]}
|
|
@@ -154,7 +154,7 @@ export declare class BaseMark<T extends ICommonSpec> extends GrammarItem impleme
|
|
|
154
154
|
};
|
|
155
155
|
protected _getEncoderOfStyle: (stateName: string, style: Partial<IAttrs<T>>) => Record<string, (datum: Datum) => any>;
|
|
156
156
|
protected _setGraphicFromMarkConfig: (g: IMarkGraphic) => void;
|
|
157
|
-
protected _setStateOfGraphic: (g: IMarkGraphic) => void;
|
|
157
|
+
protected _setStateOfGraphic: (g: IMarkGraphic, hasAnimation?: boolean) => void;
|
|
158
158
|
protected _addProgressiveGraphic(parent: IGroup, g: IMarkGraphic): void;
|
|
159
159
|
protected _runEncoder(graphics: IMarkGraphic[], noGroupEncode?: boolean): void;
|
|
160
160
|
protected _runApplyGraphic(graphics: IMarkGraphic[]): void;
|
|
@@ -240,11 +240,11 @@ export class BaseMark extends GrammarItem {
|
|
|
240
240
|
const {setCustomizedShape: setCustomizedShape, graphicName: graphicName} = this._markConfig;
|
|
241
241
|
setCustomizedShape && (g.pathProxy = attrs => setCustomizedShape(g.context.data, attrs, new CustomPath2D)),
|
|
242
242
|
graphicName && (isFunction(graphicName) ? g.name = graphicName(g) : g.name = graphicName);
|
|
243
|
-
}, this._setStateOfGraphic = g => {
|
|
243
|
+
}, this._setStateOfGraphic = (g, hasAnimation) => {
|
|
244
244
|
g.clearStates(), g.stateProxy = null, g.context.diffState !== DiffState.enter && g.context.diffState !== DiffState.update || (g.stateProxy = (stateName, nexStates) => {
|
|
245
245
|
var _a;
|
|
246
246
|
return this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[stateName], g);
|
|
247
|
-
}, g.context.states && g.useStates(g.context.states));
|
|
247
|
+
}, g.context.states && g.useStates(g.context.states, hasAnimation));
|
|
248
248
|
}, this.name = name, this.model = option.model, this.key = option.key, this.state = new MarkStateManager(option, this),
|
|
249
249
|
this._attributeContext = option.attributeContext, null === (_a = option.map) || void 0 === _a || _a.set(this.id, this);
|
|
250
250
|
}
|
|
@@ -708,7 +708,7 @@ export class BaseMark extends GrammarItem {
|
|
|
708
708
|
group && this._addProgressiveGraphic(group, g);
|
|
709
709
|
} else this._product.appendChild(g), this._graphicMap.set(g.context.uniqueKey, g);
|
|
710
710
|
}
|
|
711
|
-
this._setStateOfGraphic(g), this._setGraphicFromMarkConfig(g);
|
|
711
|
+
this._setStateOfGraphic(g, hasStateAnimation), this._setGraphicFromMarkConfig(g);
|
|
712
712
|
}));
|
|
713
713
|
}
|
|
714
714
|
_updateEncoderByState() {
|