@visactor/vchart-extension 1.15.5-alpha.8 → 2.0.0-alpha.0
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/index.js +143 -814
- package/build/index.min.js +2 -2
- package/cjs/charts/conversion-funnel/conversion-funnel.js +3 -2
- package/cjs/charts/conversion-funnel/conversion-funnel.js.map +1 -1
- package/cjs/components/bar-link/index.js +1 -2
- package/cjs/components/series-break/series-break.js +2 -2
- package/cjs/components/series-break/series-break.js.map +1 -1
- package/cjs/components/series-break/util.js +6 -6
- package/cjs/components/series-break/util.js.map +1 -1
- package/cjs/components/series-label/type.js +2 -1
- package/cjs/index.d.ts +0 -1
- package/cjs/index.js +3 -3
- package/cjs/index.js.map +1 -1
- package/esm/charts/conversion-funnel/conversion-funnel.js +4 -3
- package/esm/charts/conversion-funnel/conversion-funnel.js.map +1 -1
- package/esm/components/bar-link/index.js +1 -2
- package/esm/components/series-break/series-break.js +2 -2
- package/esm/components/series-break/series-break.js.map +1 -1
- package/esm/components/series-break/util.js +6 -6
- package/esm/components/series-break/util.js.map +1 -1
- package/esm/components/series-label/type.js +2 -1
- package/esm/index.d.ts +0 -1
- package/esm/index.js +0 -2
- package/esm/index.js.map +1 -1
- package/package.json +10 -11
- package/cjs/charts/ranking-list/constant.d.ts +0 -2
- package/cjs/charts/ranking-list/constant.js +0 -74
- package/cjs/charts/ranking-list/constant.js.map +0 -1
- package/cjs/charts/ranking-list/interface.d.ts +0 -73
- package/cjs/charts/ranking-list/interface.js +0 -6
- package/cjs/charts/ranking-list/interface.js.map +0 -1
- package/cjs/charts/ranking-list/ranking-list-transformer.d.ts +0 -458
- package/cjs/charts/ranking-list/ranking-list-transformer.js +0 -376
- package/cjs/charts/ranking-list/ranking-list-transformer.js.map +0 -1
- package/cjs/charts/ranking-list/ranking-list.d.ts +0 -16
- package/cjs/charts/ranking-list/ranking-list.js +0 -34
- package/cjs/charts/ranking-list/ranking-list.js.map +0 -1
- package/cjs/charts/ranking-list/utils.d.ts +0 -7
- package/cjs/charts/ranking-list/utils.js +0 -51
- package/cjs/charts/ranking-list/utils.js.map +0 -1
- package/esm/charts/ranking-list/constant.d.ts +0 -2
- package/esm/charts/ranking-list/constant.js +0 -70
- package/esm/charts/ranking-list/constant.js.map +0 -1
- package/esm/charts/ranking-list/interface.d.ts +0 -73
- package/esm/charts/ranking-list/interface.js +0 -2
- package/esm/charts/ranking-list/interface.js.map +0 -1
- package/esm/charts/ranking-list/ranking-list-transformer.d.ts +0 -458
- package/esm/charts/ranking-list/ranking-list-transformer.js +0 -376
- package/esm/charts/ranking-list/ranking-list-transformer.js.map +0 -1
- package/esm/charts/ranking-list/ranking-list.d.ts +0 -16
- package/esm/charts/ranking-list/ranking-list.js +0 -27
- package/esm/charts/ranking-list/ranking-list.js.map +0 -1
- package/esm/charts/ranking-list/utils.d.ts +0 -7
- package/esm/charts/ranking-list/utils.js +0 -41
- package/esm/charts/ranking-list/utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["components/series-break/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["/**\n * 支持轴翻转\n */\nimport type { ILinearAxisBreakSpec, ILinearAxisSpec } from '@visactor/vchart/esm/component/axis';\nimport { ICartesianSeries, ISpec } from '@visactor/vchart';\nimport { SeriesBreakData } from './type';\nimport { array, getIntersectPoint, IPointLike, isValid, PointService } from '@visactor/vutils';\nimport { Point } from '@visactor/vrender-components';\nimport { IArea, ILine } from '@visactor/vrender-core';\nimport { getAllRegionBounds } from '../../utils/element';\nimport { isNumberEqual } from '../../utils/math';\nimport { SERIES_BREAK } from './constant';\n\nconst barOffset = 2;\nconst lineOffset = 10;\nconst areaOffset = 0;\n\n/**\n * 获取系列标签的 spec 配置\n * @param position 显示位置\n * @param config 系列标签的样式配置\n * @returns\n */\nexport function getSeriesBreakConfig(axesSpec: ILinearAxisSpec[], axesIndex?: number[]) {\n return {\n type: 'component',\n componentType: SERIES_BREAK,\n interactive: true,\n zIndex: 500,\n\n style: {\n data: (datum: any, ctx: any) => {\n const seriesBreakData: SeriesBreakData[] = [];\n const vchart = ctx.vchart;\n const chart = vchart.getChart();\n const series = chart.getAllSeries()[0] as ICartesianSeries;\n const isHorizontal = series.direction === 'horizontal';\n axesSpec.forEach((spec: any, index: number) => {\n const axisId = spec.id;\n const axisModel = isValid(axisId)\n ? chart.getComponentByUserId(axisId)\n : axesIndex && isValid(axesIndex[index])\n ? chart.getComponentByIndex('axes', axesIndex[index])\n : chart.getComponentsByKey('axes').filter((axis: { getSpec: () => any }) => {\n const axisInnerSpec = axis.getSpec();\n\n return axisInnerSpec.breaks === spec.breaks;\n })?.[0];\n\n if (!axisModel) {\n return;\n }\n const parsedAxisId = axisId ?? `${axisModel.type}-${axisModel.id}`;\n\n const regionBounds = getAllRegionBounds(axisModel.getRegions());\n\n // todo 这里用到了内部变量,不太安全\n array(axisModel._break?.breaks).forEach((breakConfig: ILinearAxisBreakSpec) => {\n const { range, breakSymbol, gap = 5 } = breakConfig;\n const pos1 = axisModel.valueToPosition(range[0]);\n const pos2 = axisModel.valueToPosition(range[1]);\n\n const posY = (pos1 + pos2) / 2 + (isHorizontal ? regionBounds.x1 : regionBounds.y1);\n\n chart.getAllSeries().forEach((s: ICartesianSeries) => {\n if (s.type === 'bar' || s.type === 'waterfall') {\n const mark = s.getMarkInName('bar');\n const vgrammarElements = mark.getProduct().elements;\n vgrammarElements.forEach((element: any) => {\n const elementBounds = element.getBounds();\n let shouldDrawBreak = false;\n let startX;\n let startY;\n let endX;\n let endY;\n if (isHorizontal) {\n shouldDrawBreak =\n elementBounds.x1 < (pos1 + pos2 - (gap as number)) / 2 &&\n elementBounds.x2 > (pos1 + pos2 + gap) / 2;\n\n startX = posY;\n startY = Math.max(elementBounds.y1 + regionBounds.y1 - barOffset, regionBounds.y1);\n\n endX = posY;\n endY = Math.min(elementBounds.y2 + regionBounds.y1 + barOffset, regionBounds.y2);\n } else {\n shouldDrawBreak =\n elementBounds.y1 < (pos1 + pos2 - (gap as number)) / 2 &&\n elementBounds.y2 > (pos1 + pos2 + gap) / 2;\n startX = Math.max(elementBounds.x1 + regionBounds.x1 - barOffset, regionBounds.x1);\n startY = posY;\n endX = Math.min(elementBounds.x2 + regionBounds.x1 + barOffset, regionBounds.x2);\n endY = posY;\n }\n\n if (shouldDrawBreak) {\n seriesBreakData.push({\n start: {\n x: startX,\n y: startY\n },\n end: {\n x: endX,\n y: endY\n },\n gap: gap as number,\n style: breakSymbol?.style,\n axisId: parsedAxisId,\n data: range\n });\n }\n });\n } else if (s.type === 'line') {\n // 求水平直线/垂直线同 line path 的交点\n const mark = s.getMarkInName(s.type);\n const vgrammarElements = mark.getProduct().elements;\n vgrammarElements.forEach((element: any) => {\n const graphicItem = element.graphicItem;\n const points = getAreaOrLinePathPoints(graphicItem, 'line');\n points.forEach(linePoints => {\n // 开始查找交点\n const intersections = getIntersectionsFromLineAndPolyline(\n isHorizontal\n ? {\n start: { x: (pos1 + pos2) / 2, y: 0 },\n end: { x: (pos1 + pos2) / 2, y: regionBounds.y2 - regionBounds.y1 }\n }\n : {\n start: { x: 0, y: (pos1 + pos2) / 2 },\n end: { x: regionBounds.x2 - regionBounds.x1, y: (pos1 + pos2) / 2 }\n },\n linePoints\n );\n\n intersections.forEach(intersection => {\n let start;\n let end;\n if (isHorizontal) {\n start = {\n x: posY,\n y: Math.max(intersection[1] + regionBounds.y1 - lineOffset, regionBounds.y1)\n };\n end = {\n x: posY,\n y: Math.min(intersection[1] + regionBounds.y1 + lineOffset, regionBounds.y2)\n };\n } else {\n start = {\n x: Math.max(intersection[0] + regionBounds.x1 - lineOffset, regionBounds.x1),\n y: posY\n };\n end = {\n x: Math.min(intersection[0] + regionBounds.x1 + lineOffset, regionBounds.x2),\n y: posY\n };\n }\n seriesBreakData.push({\n start,\n end,\n gap: gap as number,\n style: breakSymbol?.style,\n axisId: parsedAxisId,\n data: range\n });\n });\n });\n });\n } else if (s.type === 'area') {\n // 默认面积去全部堆叠\n const mark = s.getMarkInName('area');\n const vgrammarElements = mark.getProduct().elements;\n vgrammarElements.forEach((element: any) => {\n const graphicItem = element.graphicItem;\n const points = getAreaOrLinePathPoints(graphicItem, 'area');\n points.forEach(areaPoints => {\n const intersections = getIntersectionsFromLineAndPolyline(\n isHorizontal\n ? {\n start: { x: (pos1 + pos2) / 2, y: 0 },\n end: { x: (pos1 + pos2) / 2, y: regionBounds.y2 - regionBounds.y1 }\n }\n : {\n start: { x: 0, y: (pos1 + pos2) / 2 },\n end: { x: regionBounds.x2 - regionBounds.x1, y: (pos1 + pos2) / 2 }\n },\n areaPoints\n );\n\n intersections.sort((a, b) => a[0] - b[0]);\n\n for (let index = 0; index < intersections.length - 1; index++) {\n const lineStart = {\n x: intersections[index][0],\n y: intersections[index][1]\n };\n const lineEnd = {\n x: intersections[index + 1][0],\n y: intersections[index + 1][1]\n };\n if (\n isPointInPolygon(\n isHorizontal\n ? {\n x: lineStart.x,\n y: (lineStart.y + lineEnd.y) / 2\n }\n : {\n x: (lineStart.x + lineEnd.x) / 2,\n y: lineStart.y\n },\n areaPoints\n )\n ) {\n let start;\n let end;\n if (isHorizontal) {\n start = {\n x: lineStart.x + regionBounds.x1,\n y: Math.max(lineStart.y + regionBounds.y1 - areaOffset, regionBounds.y1)\n };\n end = {\n x: lineEnd.x + regionBounds.x1,\n y: Math.min(lineEnd.y + regionBounds.y1 + areaOffset, regionBounds.y2)\n };\n } else {\n start = {\n x: Math.max(lineStart.x + regionBounds.x1 - areaOffset, regionBounds.x1),\n y: lineStart.y + regionBounds.y1\n };\n end = {\n x: Math.min(lineEnd.x + regionBounds.x1 + areaOffset, regionBounds.x2),\n y: lineEnd.y + regionBounds.y1\n };\n }\n seriesBreakData.push({\n start,\n end,\n gap: gap as number,\n style: breakSymbol?.style,\n axisId: parsedAxisId,\n data: range\n });\n }\n }\n });\n });\n }\n });\n });\n });\n\n return seriesBreakData;\n }\n }\n };\n}\n\nfunction getIntersectionsFromLineAndPolyline(line: { start: Point; end: Point }, points: Point[]) {\n const intersections: [number, number][] = [];\n for (let index = 1; index < points.length; index++) {\n const intersection = getIntersectPoint(\n [line.start.x, line.start.y],\n [line.end.x, line.end.y],\n [points[index].x, points[index].y],\n [points[index - 1].x, points[index - 1].y]\n );\n if (\n intersection &&\n !intersections.find(point =>\n isNumberEqual(\n PointService.distancePP(\n { x: point[0], y: point[1] },\n { x: (intersection as [number, number])[0], y: (intersection as [number, number])[1] }\n ),\n 0\n )\n )\n ) {\n intersections.push(intersection as [number, number]);\n }\n }\n return intersections;\n}\n\nfunction getAreaOrLinePathPoints(shape: IArea | ILine, type: 'line' | 'area') {\n const { points, segments } = shape.attribute;\n const pathPoints: Point[][] = [];\n let eachPathPoints: Point[] = [];\n const parsePoints = (points: IPointLike[]) => {\n if (points && points.length) {\n let basePoints: IPointLike[] = [];\n points.forEach(point => {\n if (point.defined === false) {\n pathPoints.push(eachPathPoints);\n if (type === 'area' && basePoints.length) {\n for (let i = basePoints.length - 1; i >= 0; i--) {\n eachPathPoints.push({\n x: basePoints[i].x,\n y: basePoints[i].y\n });\n }\n\n eachPathPoints.push(eachPathPoints[0]);\n }\n eachPathPoints = [];\n basePoints = [];\n } else {\n eachPathPoints.push({\n x: point.x,\n y: point.y\n });\n\n type === 'area' && basePoints.push({ x: point.x1 ?? point.x, y: point.y1 ?? point.y });\n }\n });\n\n if (type === 'area' && basePoints.length) {\n for (let i = basePoints.length - 1; i >= 0; i--) {\n eachPathPoints.push({\n x: basePoints[i].x,\n y: basePoints[i].y\n });\n }\n eachPathPoints.push(eachPathPoints[0]);\n }\n\n pathPoints.push(eachPathPoints);\n }\n };\n\n if (points && points.length) {\n parsePoints(points);\n } else if (segments && segments.length) {\n segments.forEach(seg => {\n parsePoints(seg.points);\n });\n }\n\n return pathPoints;\n}\n\nfunction isPointInPolygon(point: Point, polygon: Point[]) {\n const { x, y } = point;\n let inside = false;\n\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const { x: xi, y: yi } = polygon[i];\n const { x: xj, y: yj } = polygon[j];\n\n const intersect = yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi;\n if (intersect) {\n inside = !inside;\n }\n }\n\n return inside;\n}\n\nexport const appendSeriesBreakConfig = (rawSpec: ISpec) => {\n if (rawSpec.axes?.length) {\n const breakedAxes = rawSpec.axes.filter((axis: any) => axis.breaks && axis.breaks.length && axis.visible !== false);\n\n if (breakedAxes.length) {\n (rawSpec as any).customMark = array((rawSpec as any).customMark).filter(\n (obj: any) => obj.componentType !== SERIES_BREAK\n );\n (rawSpec as any).customMark.push(\n getSeriesBreakConfig(\n breakedAxes as ILinearAxisSpec[],\n breakedAxes.map(axisSpec => {\n return rawSpec.axes.indexOf(axisSpec as any);\n })\n )\n );\n return true;\n }\n }\n\n return false;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["components/series-break/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["/**\n * 支持轴翻转\n */\nimport type { ILinearAxisBreakSpec, ILinearAxisSpec } from '@visactor/vchart/esm/component/axis';\nimport { ICartesianSeries, IMarkGraphic, ISpec } from '@visactor/vchart';\nimport { SeriesBreakData } from './type';\nimport { array, getIntersectPoint, IPointLike, isValid, PointService } from '@visactor/vutils';\nimport { Point } from '@visactor/vrender-components';\nimport { IArea, ILine } from '@visactor/vrender-core';\nimport { getAllRegionBounds } from '../../utils/element';\nimport { isNumberEqual } from '../../utils/math';\nimport { SERIES_BREAK } from './constant';\n\nconst barOffset = 2;\nconst lineOffset = 10;\nconst areaOffset = 0;\n\n/**\n * 获取系列标签的 spec 配置\n * @param position 显示位置\n * @param config 系列标签的样式配置\n * @returns\n */\nexport function getSeriesBreakConfig(axesSpec: ILinearAxisSpec[], axesIndex?: number[]) {\n return {\n type: 'component',\n componentType: SERIES_BREAK,\n interactive: true,\n zIndex: 500,\n\n style: {\n data: (datum: any, ctx: any) => {\n const seriesBreakData: SeriesBreakData[] = [];\n const vchart = ctx.vchart;\n const chart = vchart.getChart();\n const series = chart.getAllSeries()[0] as ICartesianSeries;\n const isHorizontal = series.direction === 'horizontal';\n axesSpec.forEach((spec: any, index: number) => {\n const axisId = spec.id;\n const axisModel = isValid(axisId)\n ? chart.getComponentByUserId(axisId)\n : axesIndex && isValid(axesIndex[index])\n ? chart.getComponentByIndex('axes', axesIndex[index])\n : chart.getComponentsByKey('axes').filter((axis: { getSpec: () => any }) => {\n const axisInnerSpec = axis.getSpec();\n\n return axisInnerSpec.breaks === spec.breaks;\n })?.[0];\n\n if (!axisModel) {\n return;\n }\n const parsedAxisId = axisId ?? `${axisModel.type}-${axisModel.id}`;\n\n const regionBounds = getAllRegionBounds(axisModel.getRegions());\n\n // todo 这里用到了内部变量,不太安全\n array(axisModel._break?.breaks).forEach((breakConfig: ILinearAxisBreakSpec) => {\n const { range, breakSymbol, gap = 5 } = breakConfig;\n const pos1 = axisModel.valueToPosition(range[0]);\n const pos2 = axisModel.valueToPosition(range[1]);\n\n const posY = (pos1 + pos2) / 2 + (isHorizontal ? regionBounds.x1 : regionBounds.y1);\n\n chart.getAllSeries().forEach((s: ICartesianSeries) => {\n if (s.type === 'bar' || s.type === 'waterfall') {\n const mark = s.getMarkInName('bar');\n const graphics = mark.getGraphics();\n\n graphics.forEach((element: IMarkGraphic) => {\n const elementBounds = element.AABBBounds;\n let shouldDrawBreak = false;\n let startX;\n let startY;\n let endX;\n let endY;\n if (isHorizontal) {\n shouldDrawBreak =\n elementBounds.x1 < (pos1 + pos2 - (gap as number)) / 2 &&\n elementBounds.x2 > (pos1 + pos2 + gap) / 2;\n\n startX = posY;\n startY = Math.max(elementBounds.y1 + regionBounds.y1 - barOffset, regionBounds.y1);\n\n endX = posY;\n endY = Math.min(elementBounds.y2 + regionBounds.y1 + barOffset, regionBounds.y2);\n } else {\n shouldDrawBreak =\n elementBounds.y1 < (pos1 + pos2 - (gap as number)) / 2 &&\n elementBounds.y2 > (pos1 + pos2 + gap) / 2;\n startX = Math.max(elementBounds.x1 + regionBounds.x1 - barOffset, regionBounds.x1);\n startY = posY;\n endX = Math.min(elementBounds.x2 + regionBounds.x1 + barOffset, regionBounds.x2);\n endY = posY;\n }\n\n if (shouldDrawBreak) {\n seriesBreakData.push({\n start: {\n x: startX,\n y: startY\n },\n end: {\n x: endX,\n y: endY\n },\n gap: gap as number,\n style: breakSymbol?.style,\n axisId: parsedAxisId,\n data: range\n });\n }\n });\n } else if (s.type === 'line') {\n // 求水平直线/垂直线同 line path 的交点\n const mark = s.getMarkInName(s.type);\n const graphics = mark.getGraphics();\n graphics.forEach(graphicItem => {\n const points = getAreaOrLinePathPoints(graphicItem, 'line');\n points.forEach(linePoints => {\n // 开始查找交点\n const intersections = getIntersectionsFromLineAndPolyline(\n isHorizontal\n ? {\n start: { x: (pos1 + pos2) / 2, y: 0 },\n end: { x: (pos1 + pos2) / 2, y: regionBounds.y2 - regionBounds.y1 }\n }\n : {\n start: { x: 0, y: (pos1 + pos2) / 2 },\n end: { x: regionBounds.x2 - regionBounds.x1, y: (pos1 + pos2) / 2 }\n },\n linePoints\n );\n\n intersections.forEach(intersection => {\n let start;\n let end;\n if (isHorizontal) {\n start = {\n x: posY,\n y: Math.max(intersection[1] + regionBounds.y1 - lineOffset, regionBounds.y1)\n };\n end = {\n x: posY,\n y: Math.min(intersection[1] + regionBounds.y1 + lineOffset, regionBounds.y2)\n };\n } else {\n start = {\n x: Math.max(intersection[0] + regionBounds.x1 - lineOffset, regionBounds.x1),\n y: posY\n };\n end = {\n x: Math.min(intersection[0] + regionBounds.x1 + lineOffset, regionBounds.x2),\n y: posY\n };\n }\n seriesBreakData.push({\n start,\n end,\n gap: gap as number,\n style: breakSymbol?.style,\n axisId: parsedAxisId,\n data: range\n });\n });\n });\n });\n } else if (s.type === 'area') {\n // 默认面积去全部堆叠\n const mark = s.getMarkInName('area');\n const graphics = mark.getGraphics();\n graphics.forEach(graphicItem => {\n const points = getAreaOrLinePathPoints(graphicItem, 'area');\n points.forEach(areaPoints => {\n const intersections = getIntersectionsFromLineAndPolyline(\n isHorizontal\n ? {\n start: { x: (pos1 + pos2) / 2, y: 0 },\n end: { x: (pos1 + pos2) / 2, y: regionBounds.y2 - regionBounds.y1 }\n }\n : {\n start: { x: 0, y: (pos1 + pos2) / 2 },\n end: { x: regionBounds.x2 - regionBounds.x1, y: (pos1 + pos2) / 2 }\n },\n areaPoints\n );\n\n intersections.sort((a, b) => a[0] - b[0]);\n\n for (let index = 0; index < intersections.length - 1; index++) {\n const lineStart = {\n x: intersections[index][0],\n y: intersections[index][1]\n };\n const lineEnd = {\n x: intersections[index + 1][0],\n y: intersections[index + 1][1]\n };\n if (\n isPointInPolygon(\n isHorizontal\n ? {\n x: lineStart.x,\n y: (lineStart.y + lineEnd.y) / 2\n }\n : {\n x: (lineStart.x + lineEnd.x) / 2,\n y: lineStart.y\n },\n areaPoints\n )\n ) {\n let start;\n let end;\n if (isHorizontal) {\n start = {\n x: lineStart.x + regionBounds.x1,\n y: Math.max(lineStart.y + regionBounds.y1 - areaOffset, regionBounds.y1)\n };\n end = {\n x: lineEnd.x + regionBounds.x1,\n y: Math.min(lineEnd.y + regionBounds.y1 + areaOffset, regionBounds.y2)\n };\n } else {\n start = {\n x: Math.max(lineStart.x + regionBounds.x1 - areaOffset, regionBounds.x1),\n y: lineStart.y + regionBounds.y1\n };\n end = {\n x: Math.min(lineEnd.x + regionBounds.x1 + areaOffset, regionBounds.x2),\n y: lineEnd.y + regionBounds.y1\n };\n }\n seriesBreakData.push({\n start,\n end,\n gap: gap as number,\n style: breakSymbol?.style,\n axisId: parsedAxisId,\n data: range\n });\n }\n }\n });\n });\n }\n });\n });\n });\n\n return seriesBreakData;\n }\n }\n };\n}\n\nfunction getIntersectionsFromLineAndPolyline(line: { start: Point; end: Point }, points: Point[]) {\n const intersections: [number, number][] = [];\n for (let index = 1; index < points.length; index++) {\n const intersection = getIntersectPoint(\n [line.start.x, line.start.y],\n [line.end.x, line.end.y],\n [points[index].x, points[index].y],\n [points[index - 1].x, points[index - 1].y]\n );\n if (\n intersection &&\n !intersections.find(point =>\n isNumberEqual(\n PointService.distancePP(\n { x: point[0], y: point[1] },\n { x: (intersection as [number, number])[0], y: (intersection as [number, number])[1] }\n ),\n 0\n )\n )\n ) {\n intersections.push(intersection as [number, number]);\n }\n }\n return intersections;\n}\n\nfunction getAreaOrLinePathPoints(shape: IArea | ILine, type: 'line' | 'area') {\n const { points, segments } = shape.attribute;\n const pathPoints: Point[][] = [];\n let eachPathPoints: Point[] = [];\n const parsePoints = (points: IPointLike[]) => {\n if (points && points.length) {\n let basePoints: IPointLike[] = [];\n points.forEach(point => {\n if (point.defined === false) {\n pathPoints.push(eachPathPoints);\n if (type === 'area' && basePoints.length) {\n for (let i = basePoints.length - 1; i >= 0; i--) {\n eachPathPoints.push({\n x: basePoints[i].x,\n y: basePoints[i].y\n });\n }\n\n eachPathPoints.push(eachPathPoints[0]);\n }\n eachPathPoints = [];\n basePoints = [];\n } else {\n eachPathPoints.push({\n x: point.x,\n y: point.y\n });\n\n type === 'area' && basePoints.push({ x: point.x1 ?? point.x, y: point.y1 ?? point.y });\n }\n });\n\n if (type === 'area' && basePoints.length) {\n for (let i = basePoints.length - 1; i >= 0; i--) {\n eachPathPoints.push({\n x: basePoints[i].x,\n y: basePoints[i].y\n });\n }\n eachPathPoints.push(eachPathPoints[0]);\n }\n\n pathPoints.push(eachPathPoints);\n }\n };\n\n if (points && points.length) {\n parsePoints(points);\n } else if (segments && segments.length) {\n segments.forEach(seg => {\n parsePoints(seg.points);\n });\n }\n\n return pathPoints;\n}\n\nfunction isPointInPolygon(point: Point, polygon: Point[]) {\n const { x, y } = point;\n let inside = false;\n\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const { x: xi, y: yi } = polygon[i];\n const { x: xj, y: yj } = polygon[j];\n\n const intersect = yi > y !== yj > y && x < ((xj - xi) * (y - yi)) / (yj - yi) + xi;\n if (intersect) {\n inside = !inside;\n }\n }\n\n return inside;\n}\n\nexport const appendSeriesBreakConfig = (rawSpec: ISpec) => {\n if (rawSpec.axes?.length) {\n const breakedAxes = rawSpec.axes.filter((axis: any) => axis.breaks && axis.breaks.length && axis.visible !== false);\n\n if (breakedAxes.length) {\n (rawSpec as any).customMark = array((rawSpec as any).customMark).filter(\n (obj: any) => obj.componentType !== SERIES_BREAK\n );\n (rawSpec as any).customMark.push(\n getSeriesBreakConfig(\n breakedAxes as ILinearAxisSpec[],\n breakedAxes.map(axisSpec => {\n return rawSpec.axes.indexOf(axisSpec as any);\n })\n )\n );\n return true;\n }\n }\n\n return false;\n};\n"]}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export { };
|
|
1
|
+
export { };
|
|
2
|
+
//# sourceMappingURL=type.js.map
|
package/esm/index.d.ts
CHANGED
package/esm/index.js
CHANGED
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAE3C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC","file":"index.js","sourcesContent":["export * from './charts/ranking-bar/ranking-bar';\nexport * from './charts/conversion-funnel';\n\nexport * from './components/series-break';\nexport * from './components/bar-link';\nexport * from './components/series-label';\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visactor/vchart-extension",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-alpha.0",
|
|
4
4
|
"description": "vchart extension package, including extension plugins and components",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "cjs/index.js",
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
"build"
|
|
13
13
|
],
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"@visactor/vrender-core": "0.21.
|
|
16
|
-
"@visactor/vrender-kits": "0.21.
|
|
17
|
-
"@visactor/vrender-components": "0.21.
|
|
18
|
-
"@visactor/vgrammar-core": "0.15.
|
|
19
|
-
"@visactor/vutils": "~0.19.
|
|
20
|
-
"@visactor/vdataset": "~0.19.
|
|
21
|
-
"@visactor/vchart": "
|
|
15
|
+
"@visactor/vrender-core": "0.21.15",
|
|
16
|
+
"@visactor/vrender-kits": "0.21.15",
|
|
17
|
+
"@visactor/vrender-components": "0.21.15",
|
|
18
|
+
"@visactor/vgrammar-core": "0.15.6",
|
|
19
|
+
"@visactor/vutils": "~0.19.4",
|
|
20
|
+
"@visactor/vdataset": "~0.19.4",
|
|
21
|
+
"@visactor/vchart": "2.0.0-alpha.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@rushstack/eslint-patch": "~1.1.4",
|
|
@@ -42,10 +42,9 @@
|
|
|
42
42
|
"rollup-plugin-bundle-size": "1.0.3",
|
|
43
43
|
"rollup-plugin-sizes": "1.0.5",
|
|
44
44
|
"rollup": "3.20.5",
|
|
45
|
-
"lil-gui": "^0.17.0",
|
|
46
|
-
"@internal/bundler": "0.0.1",
|
|
47
45
|
"@internal/ts-config": "0.0.1",
|
|
48
|
-
"@internal/eslint-config": "0.0.1"
|
|
46
|
+
"@internal/eslint-config": "0.0.1",
|
|
47
|
+
"@internal/bundler": "0.0.1"
|
|
49
48
|
},
|
|
50
49
|
"publishConfig": {
|
|
51
50
|
"access": "public",
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: !0
|
|
5
|
-
}), exports.defaultSpec = void 0, exports.defaultSpec = {
|
|
6
|
-
width: 400,
|
|
7
|
-
height: 225,
|
|
8
|
-
labelLayout: "top",
|
|
9
|
-
bar: {
|
|
10
|
-
height: 100,
|
|
11
|
-
style: {
|
|
12
|
-
cornerRadius: 5
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
barBackground: {
|
|
16
|
-
type: "rect",
|
|
17
|
-
style: {
|
|
18
|
-
fill: "rgba(255,255,255,0.1)",
|
|
19
|
-
cornerRadius: 5
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
rankingIcon: {
|
|
23
|
-
visible: !0,
|
|
24
|
-
style: {
|
|
25
|
-
fill: "rgba(253,253,253,0.5)",
|
|
26
|
-
size: 12
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
nameLabel: {
|
|
30
|
-
visible: !0,
|
|
31
|
-
style: {
|
|
32
|
-
fontSize: 20,
|
|
33
|
-
fontWeight: "normal",
|
|
34
|
-
fill: "rgba(255,255,255,0.7)",
|
|
35
|
-
textBaseline: "middle"
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
orderLabel: {
|
|
39
|
-
visible: !0,
|
|
40
|
-
style: {
|
|
41
|
-
fontSize: 20,
|
|
42
|
-
fontWeight: "normal",
|
|
43
|
-
fill: "rgba(255,255,255,0.7)",
|
|
44
|
-
textBaseline: "middle"
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
valueLabel: {
|
|
48
|
-
visible: !0,
|
|
49
|
-
style: {
|
|
50
|
-
fontSize: 14,
|
|
51
|
-
fontWeight: "normal",
|
|
52
|
-
fill: "rgba(255,255,255,1)",
|
|
53
|
-
textBaseline: "middle"
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
pageSize: 5,
|
|
57
|
-
scrollSize: 1,
|
|
58
|
-
animationAppear: {
|
|
59
|
-
enable: !0,
|
|
60
|
-
type: "grow",
|
|
61
|
-
duration: 1e3,
|
|
62
|
-
easing: "linear"
|
|
63
|
-
},
|
|
64
|
-
animationUpdate: {
|
|
65
|
-
enable: !0,
|
|
66
|
-
type: "grow",
|
|
67
|
-
duration: 1e3,
|
|
68
|
-
easing: "linear"
|
|
69
|
-
},
|
|
70
|
-
animationNormal: {
|
|
71
|
-
interval: 1e3
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
//# sourceMappingURL=constant.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["charts/ranking-list/constant.ts"],"names":[],"mappings":";;;AAEa,QAAA,WAAW,GAAkE;IACxF,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,KAAK;IAClB,GAAG,EAAE;QACH,MAAM,EAAE,GAAG;QACX,KAAK,EAAE;YACL,YAAY,EAAE,CAAC;SAChB;KACF;IACD,aAAa,EAAE;QACb,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,uBAAuB;YAC7B,YAAY,EAAE,CAAC;SAChB;KACF;IACD,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,EAAE;SACT;KACF;IACD,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YAEL,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,uBAAuB;YAC7B,YAAY,EAAE,QAAQ;SACvB;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YAEL,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,uBAAuB;YAC7B,YAAY,EAAE,QAAQ;SACvB;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YAEL,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,qBAAqB;YAC3B,YAAY,EAAE,QAAQ;SACvB;KACF;IACD,QAAQ,EAAE,CAAC;IACX,UAAU,EAAE,CAAC;IACb,eAAe,EAAE;QACf,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ;KACjB;IACD,eAAe,EAAE;QACf,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,QAAQ;KACjB;IACD,eAAe,EAAE;QAGf,QAAQ,EAAE,IAAI;KAEf;CACF,CAAC","file":"constant.js","sourcesContent":["import { IRankingListSpec } from './interface';\n\nexport const defaultSpec: Omit<IRankingListSpec, 'type' | 'data' | 'xField' | 'yField'> = {\n width: 400,\n height: 225,\n labelLayout: 'top',\n bar: {\n height: 100,\n style: {\n cornerRadius: 5\n }\n },\n barBackground: {\n type: 'rect',\n style: {\n fill: 'rgba(255,255,255,0.1)',\n cornerRadius: 5\n }\n },\n rankingIcon: {\n visible: true,\n style: {\n fill: 'rgba(253,253,253,0.5)',\n size: 12\n }\n },\n nameLabel: {\n visible: true,\n style: {\n // fontFamily: ''\n fontSize: 20,\n fontWeight: 'normal',\n fill: 'rgba(255,255,255,0.7)',\n textBaseline: 'middle'\n }\n },\n orderLabel: {\n visible: true,\n style: {\n // fontFamily: ''\n fontSize: 20,\n fontWeight: 'normal',\n fill: 'rgba(255,255,255,0.7)',\n textBaseline: 'middle'\n }\n },\n valueLabel: {\n visible: true,\n style: {\n // fontFamily: ''\n fontSize: 14,\n fontWeight: 'normal',\n fill: 'rgba(255,255,255,1)',\n textBaseline: 'middle'\n }\n },\n pageSize: 5,\n scrollSize: 1,\n animationAppear: {\n enable: true,\n type: 'grow',\n duration: 1000,\n easing: 'linear'\n },\n animationUpdate: {\n enable: true,\n type: 'grow',\n duration: 1000,\n easing: 'linear'\n },\n animationNormal: {\n // enable: true,\n // type: 'scroll',\n interval: 1000\n // easing: 'linear'\n }\n};\n"]}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { IMarkStateSpec, IMarkStateStyleSpec } from '@visactor/vchart';
|
|
2
|
-
import { StateValue } from '@visactor/vchart/src/compile/mark';
|
|
3
|
-
import { Datum } from '@visactor/vchart/src/typings/common';
|
|
4
|
-
import { ITextGraphicAttribute, ISymbolGraphicAttribute, IRectGraphicAttribute, EasingType } from '@visactor/vrender-core';
|
|
5
|
-
type IRankingListData = Datum[];
|
|
6
|
-
export interface IRankingListSpec {
|
|
7
|
-
type: 'rankingList';
|
|
8
|
-
data: IRankingListData;
|
|
9
|
-
xField: string;
|
|
10
|
-
yField: string;
|
|
11
|
-
width?: number;
|
|
12
|
-
height?: number;
|
|
13
|
-
labelLayout?: 'top' | 'bothEnd';
|
|
14
|
-
bar?: {
|
|
15
|
-
height?: number;
|
|
16
|
-
style?: IRectGraphicAttribute;
|
|
17
|
-
state?: Record<StateValue, IMarkStateSpec<IRectGraphicAttribute> | IMarkStateStyleSpec<IRectGraphicAttribute>>;
|
|
18
|
-
};
|
|
19
|
-
barBackground?: {
|
|
20
|
-
visible?: boolean;
|
|
21
|
-
type?: string;
|
|
22
|
-
style?: ISymbolGraphicAttribute | IRectGraphicAttribute;
|
|
23
|
-
state?: Record<StateValue, IMarkStateSpec<ISymbolGraphicAttribute | IRectGraphicAttribute> | IMarkStateStyleSpec<ISymbolGraphicAttribute | IRectGraphicAttribute>>;
|
|
24
|
-
};
|
|
25
|
-
rankingIcon?: {
|
|
26
|
-
visible?: boolean;
|
|
27
|
-
style?: ISymbolGraphicAttribute;
|
|
28
|
-
state?: Record<StateValue, IMarkStateSpec<ISymbolGraphicAttribute> | IMarkStateStyleSpec<ISymbolGraphicAttribute>>;
|
|
29
|
-
};
|
|
30
|
-
decorateHaloIcons?: [
|
|
31
|
-
{
|
|
32
|
-
visible?: boolean;
|
|
33
|
-
style?: ISymbolGraphicAttribute;
|
|
34
|
-
state?: Record<StateValue, IMarkStateSpec<ISymbolGraphicAttribute> | IMarkStateStyleSpec<ISymbolGraphicAttribute>>;
|
|
35
|
-
}
|
|
36
|
-
];
|
|
37
|
-
orderLabel?: {
|
|
38
|
-
visible?: boolean;
|
|
39
|
-
style?: ITextGraphicAttribute;
|
|
40
|
-
formatMethod?: (text: string, datum: Datum) => string;
|
|
41
|
-
state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;
|
|
42
|
-
};
|
|
43
|
-
nameLabel?: {
|
|
44
|
-
visible?: boolean;
|
|
45
|
-
style?: ITextGraphicAttribute;
|
|
46
|
-
formatMethod?: (text: string, datum: Datum) => string;
|
|
47
|
-
state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;
|
|
48
|
-
};
|
|
49
|
-
valueLabel?: {
|
|
50
|
-
visible?: boolean;
|
|
51
|
-
style?: ITextGraphicAttribute;
|
|
52
|
-
formatMethod?: (text: string, datum: Datum) => string;
|
|
53
|
-
state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;
|
|
54
|
-
};
|
|
55
|
-
pageSize?: number;
|
|
56
|
-
scrollSize?: number;
|
|
57
|
-
animationAppear?: {
|
|
58
|
-
enable?: boolean;
|
|
59
|
-
type?: 'grow';
|
|
60
|
-
duration?: number;
|
|
61
|
-
easing?: EasingType;
|
|
62
|
-
};
|
|
63
|
-
animationUpdate?: {
|
|
64
|
-
enable?: boolean;
|
|
65
|
-
type?: 'grow';
|
|
66
|
-
duration?: number;
|
|
67
|
-
easing?: EasingType;
|
|
68
|
-
};
|
|
69
|
-
animationNormal?: {
|
|
70
|
-
interval?: number;
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["charts/ranking-list/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import { IMarkStateSpec, IMarkStateStyleSpec } from '@visactor/vchart';\nimport { StateValue } from '@visactor/vchart/src/compile/mark';\nimport { Datum } from '@visactor/vchart/src/typings/common';\nimport {\n ITextGraphicAttribute,\n ISymbolGraphicAttribute,\n IRectGraphicAttribute,\n EasingType\n} from '@visactor/vrender-core';\n\ntype IRankingListData = Datum[];\n\nexport interface IRankingListSpec {\n /**\n * 图表类型\n */\n type: 'rankingList';\n /**\n * 数据\n */\n data: IRankingListData;\n /**\n * x轴字段\n */\n xField: string;\n /**\n * y轴字段\n */\n yField: string;\n width?: number;\n height?: number;\n /**\n * 标签布局\n * @default 'top'\n */\n labelLayout?: 'top' | 'bothEnd';\n /**\n * 柱样式\n */\n bar?: {\n height?: number;\n style?: IRectGraphicAttribute;\n state?: Record<StateValue, IMarkStateSpec<IRectGraphicAttribute> | IMarkStateStyleSpec<IRectGraphicAttribute>>;\n };\n /**\n * 柱图背景\n */\n barBackground?: {\n visible?: boolean;\n type?: string;\n style?: ISymbolGraphicAttribute | IRectGraphicAttribute;\n state?: Record<\n StateValue,\n | IMarkStateSpec<ISymbolGraphicAttribute | IRectGraphicAttribute>\n | IMarkStateStyleSpec<ISymbolGraphicAttribute | IRectGraphicAttribute>\n >;\n };\n /**\n * 排名图标\n */\n rankingIcon?: {\n visible?: boolean;\n style?: ISymbolGraphicAttribute;\n state?: Record<StateValue, IMarkStateSpec<ISymbolGraphicAttribute> | IMarkStateStyleSpec<ISymbolGraphicAttribute>>;\n };\n /**\n * 装饰图元\n */\n decorateHaloIcons?: [\n {\n visible?: boolean;\n // type?: 'circle' | 'square' | 'emptyCircle' | 'diamond' | 'halo' | 'concentric' | 'custom';\n style?: ISymbolGraphicAttribute;\n state?: Record<\n StateValue,\n IMarkStateSpec<ISymbolGraphicAttribute> | IMarkStateStyleSpec<ISymbolGraphicAttribute>\n >;\n }\n ];\n /**\n * 排名序号\n */\n orderLabel?: {\n visible?: boolean;\n style?: ITextGraphicAttribute;\n formatMethod?: (text: string, datum: Datum) => string;\n state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;\n };\n /**\n * 名称标签(yField对应的标签)\n */\n nameLabel?: {\n visible?: boolean;\n style?: ITextGraphicAttribute;\n formatMethod?: (text: string, datum: Datum) => string;\n state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;\n };\n /**\n * 值标签(xField对应的标签)\n */\n valueLabel?: {\n visible?: boolean;\n style?: ITextGraphicAttribute;\n formatMethod?: (text: string, datum: Datum) => string;\n state?: Record<StateValue, IMarkStateSpec<ITextGraphicAttribute> | IMarkStateStyleSpec<ITextGraphicAttribute>>;\n };\n /**\n * 每页行数\n */\n pageSize?: number;\n /**\n * 滚动行数\n */\n scrollSize?: number;\n /**\n * 排行榜动画效果的定义和普通图表不甚相同\n * animationNormal动画代表由player控制其更新数据时执行的滚动效果的动画, 本质上是由普通图表的 update + enter + exit 共同构成的\n */\n /**\n * 出现动画\n */\n animationAppear?: {\n /**\n * 是否开启\n * @default true\n */\n enable?: boolean;\n /**\n * 动画类型\n * @default 'grow'\n * 'grow' 伸展\n */\n type?: 'grow';\n /**\n * 动画时长\n */\n duration?: number;\n /**\n * 动画缓动效果\n */\n easing?: EasingType;\n };\n\n /**\n * 更新动画\n */\n animationUpdate?: {\n /**\n * 是否开启\n * @default true\n */\n enable?: boolean;\n /**\n * 动画类型\n * @default 'grow'\n * 'grow' 伸展\n */\n type?: 'grow';\n /**\n * 动画时长\n */\n duration?: number;\n /**\n * 动画缓动效果\n */\n easing?: EasingType;\n };\n\n /**\n * 循环滚动动画\n */\n animationNormal?: {\n // /**\n // * 是否开启\n // * @default true\n // */\n // enable?: boolean;\n // /**\n // * 动画类型\n // * @default 'scroll'\n // * 'scroll' 伸展\n // */\n // type?: 'scroll';\n /**\n * 动画间隔\n */\n interval?: number;\n };\n}\n"]}
|