From e251588a478dc416f38614448cce9f7d139673c1 Mon Sep 17 00:00:00 2001 From: xile611 Date: Thu, 1 Aug 2024 01:53:18 +0000 Subject: [PATCH 1/7] docs: generate changelog of release v0.19.20 --- docs/assets/changelog/en/changelog.md | 15 +++++++++++++++ docs/assets/changelog/zh/changelog.md | 15 +++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/docs/assets/changelog/en/changelog.md b/docs/assets/changelog/en/changelog.md index 6fe588bd7..133374a89 100644 --- a/docs/assets/changelog/en/changelog.md +++ b/docs/assets/changelog/en/changelog.md @@ -1,3 +1,18 @@ +# v0.19.20 + +2024-08-01 + + +**🆕 New feature** + +- **@visactor/vrender-core**: support array cornerRadius, closed [#1322](https://github.com/VisActor/VRender/issues/1322) +- **@visactor/vrender-core**: support catmull-rom and catmull-rom-closed curve, closed [#1320](https://github.com/VisActor/VRender/issues/1320) +- **@visactor/vrender**: support array cornerRadius, closed [#1322](https://github.com/VisActor/VRender/issues/1322) + + + +[more detail about v0.19.20](https://github.com/VisActor/VRender/releases/tag/v0.19.20) + # v0.19.19 2024-07-25 diff --git a/docs/assets/changelog/zh/changelog.md b/docs/assets/changelog/zh/changelog.md index ffda964d9..f1facc914 100644 --- a/docs/assets/changelog/zh/changelog.md +++ b/docs/assets/changelog/zh/changelog.md @@ -1,3 +1,18 @@ +# v0.19.20 + +2024-08-01 + + +**🆕 新增功能** + +- **@visactor/vrender-core**: support array cornerRadius, closed [#1322](https://github.com/VisActor/VRender/issues/1322) +- **@visactor/vrender-core**: support catmull-rom and catmull-rom-closed curve, closed [#1320](https://github.com/VisActor/VRender/issues/1320) +- **@visactor/vrender**: support array cornerRadius, closed [#1322](https://github.com/VisActor/VRender/issues/1322) + + + +[更多详情请查看 v0.19.20](https://github.com/VisActor/VRender/releases/tag/v0.19.20) + # v0.19.19 2024-07-25 From 3a37d46305569221af9b4f72903812aa1d7c7406 Mon Sep 17 00:00:00 2001 From: skie1997 Date: Fri, 2 Aug 2024 00:04:38 +0800 Subject: [PATCH 2/7] feat: label line support custom path. feat @VisActor/VChart#3000 --- .../__tests__/browser/examples/label-arc.ts | 138 ++++++++++++++---- packages/vrender-components/src/label/arc.ts | 12 +- packages/vrender-components/src/label/base.ts | 14 +- packages/vrender-components/src/label/type.ts | 11 +- 4 files changed, 138 insertions(+), 37 deletions(-) diff --git a/packages/vrender-components/__tests__/browser/examples/label-arc.ts b/packages/vrender-components/__tests__/browser/examples/label-arc.ts index 40fdc028a..73ccc5a19 100644 --- a/packages/vrender-components/__tests__/browser/examples/label-arc.ts +++ b/packages/vrender-components/__tests__/browser/examples/label-arc.ts @@ -3,6 +3,7 @@ import '@visactor/vrender'; import { createGroup, Stage, createArc } from '@visactor/vrender'; import { createRenderer } from '../../util/render'; import { ArcLabel } from '../../../src'; +import { IPointLike } from '@visactor/vutils'; const pieGenerator = () => { const spec: any = { @@ -1252,6 +1253,48 @@ const latestData = [ // } ]; +function drawRoundedPolyline(ctx, points, radius) { + for (let i = 0; i < points.length - 1; i++) { + const startPoint = points[i]; + const endPoint = points[i + 1]; + + // 计算线段的方向向量 + const dx = endPoint.x - startPoint.x; + const dy = endPoint.y - startPoint.y; + + // 计算转折点处的切线方向 + let tangentDx = -dy; + let tangentDy = dx; + + // 标准化切线方向向量 + const tangentLength = Math.sqrt(tangentDx * tangentDx + tangentDy * tangentDy); + tangentDx /= tangentLength; + tangentDy /= tangentLength; + + // 计算圆角的起始点和结束点 + const startRadiusPoint = { + x: startPoint.x + tangentDx * radius, + y: startPoint.y + tangentDy * radius + }; + + const endRadiusPoint = { + x: endPoint.x - tangentDx * radius, + y: endPoint.y - tangentDy * radius + }; + + // 绘制圆弧 + // ctx.beginPath(); + ctx.arc(startPoint.x, startPoint.y, radius, Math.atan2(tangentDy, tangentDx), Math.atan2(-dy, -dx)); + // ctx.stroke(); + + // 绘制直线部分 + // ctx.beginPath(); + ctx.moveTo(startRadiusPoint.x, startRadiusPoint.y); + ctx.lineTo(endRadiusPoint.x, endRadiusPoint.y); + // ctx.stroke(); + } +} + function createContent(stage: Stage) { const pieSpec = pieGenerator(); const pieGroup = createGroup(pieSpec.attribute); @@ -1266,7 +1309,8 @@ function createContent(stage: Stage) { baseMarkGroupName: pieSpec.name, data: pieSpec.children.map((c, index) => { return { - // // text: 'test122344556778891234550987665544' + text: 'xx' + // text: 'test122344556778891234550987665544', // text: latestData[index] ? latestData[index]?.type : undefined // // text: originData[index].id // // fill: c.attribute.fill, @@ -1276,30 +1320,30 @@ function createContent(stage: Stage) { // // lineWidth: 0 // // ...latestData[index] - textType: 'rich', - text: [ - // { - // text: `NO.${index}🐾`, - // fontSize: 15, - // textAlign: 'right', - // textDecoration: 'underline', - // stroke: '#0f51b5' - // } + // textType: 'rich', + // text: [ + // // { + // // text: `NO.${index}🐾`, + // // fontSize: 15, + // // textAlign: 'right', + // // textDecoration: 'underline', + // // stroke: '#0f51b5' + // // } - { - text: 'Mapbox', - fontWeight: 'bold', - fontSize: 25, - fill: '#3f51b5' - }, + // { + // text: 'Mapbox', + // fontWeight: 'bold', + // fontSize: 25, + // fill: '#3f51b5' + // }, - { - text: '替代方案', - fontStyle: 'italic', - textDecoration: 'underline', - fill: '#3f51b5' - } - ] + // { + // text: '替代方案', + // fontStyle: 'italic', + // textDecoration: 'underline', + // fill: '#3f51b5' + // } + // ] // type: 'html', // text: '

这是一个html字符串

' @@ -1315,7 +1359,7 @@ function createContent(stage: Stage) { }, width: 800, height: 500, - position: 'inside', + position: 'outside', // position: 'inside-outer', @@ -1323,14 +1367,44 @@ function createContent(stage: Stage) { // // angle: 0 // fontSize: 16 // }, - // line: { - // line1MinLength: 30, - // smooth: true, - // style: { - // lineWidth: 2, - // stroke: 'red' - // } - // }, + line: { + line1MinLength: 40, + line2MinLength: 60, + // smooth: true, + style: { + lineWidth: 1, + stroke: 'red', + customShape: (attrs, path) => { + console.log('attrs', attrs, path); + let points = attrs.points as IPointLike[]; + // 绘制带圆角的折线(暂时用小转折拟合) + const direction = points[points.length - 1].x - points[0].x > 0 ? -1 : 1; + path.moveTo(points[0].x, points[0].y); + for (let i = 1; i < points.length - 1; i++) { + const p1 = points[i - 1]; + const p2 = points[i % points.length]; + const p3 = points[(i + 1) % points.length]; + const { x: x1, y: y1 } = p1; + const { x: x2, y: y2 } = p2; + const { x: x3, y: y3 } = p3; + + const k1 = (y2 - y1) / (x2 - x1); + const k2 = (y3 - y2) / (x3 - x2); + const deltaX = 3; + const deltaY1 = k1 * deltaX; + const deltaY2 = k2 * deltaX; + + path.lineTo(p2.x + direction * deltaX, p2.y + direction * deltaY1); // 到点p1的上方 + path.lineTo(p2.x - direction * deltaX, p2.y - direction * deltaY2); // 绘制圆弧 + // path.quadraticCurveTo(p2.x - deltaX, p2.y - deltaY1, p2.x + deltaX, p2.y + deltaY2) + // path.quadraticCurveTo(p2.x - deltaX, p2.y - deltaY1, p2.x + deltaX, p2.y + deltaY2, 2) + } + + path.lineTo(points[points.length - 1].x, points[points.length - 1].y); + return path; + } + } + }, layout: { // align: 'edge' tangentConstraint: false diff --git a/packages/vrender-components/src/label/arc.ts b/packages/vrender-components/src/label/arc.ts index fa1559010..00c93082e 100644 --- a/packages/vrender-components/src/label/arc.ts +++ b/packages/vrender-components/src/label/arc.ts @@ -1,14 +1,18 @@ import type { IAABBBounds, IBoundsLike } from '@visactor/vutils'; +// eslint-disable-next-line no-duplicate-imports import { merge, isValidNumber, isNil, isLess, isGreater, isNumberClose as isClose } from '@visactor/vutils'; import { LabelBase } from './base'; import type { ArcLabelAttrs, IPoint, Quadrant, BaseLabelAttrs, LabelItem, IArcLabelLineSpec } from './type'; +import type { ILineGraphicAttribute } from '@visactor/vrender-core'; +// eslint-disable-next-line no-duplicate-imports import { type IRichText, type IText, type IArcGraphicAttribute, type IGraphic, type ILine, - graphicCreator + graphicCreator, + CustomPath2D } from '@visactor/vrender-core'; import { circlePoint, @@ -944,6 +948,12 @@ export class ArcLabel extends LabelBase { }) : undefined; if (labelLine) { + if (line.style?.customShape) { + const customShape = line.style.customShape; + labelLine.pathProxy = (attrs: Partial) => { + return customShape(attrs, new CustomPath2D()); + }; + } this._setStatesOfLabelLine(labelLine); } return labelLine; diff --git a/packages/vrender-components/src/label/base.ts b/packages/vrender-components/src/label/base.ts index ee4e0a47b..8aa1743e7 100644 --- a/packages/vrender-components/src/label/base.ts +++ b/packages/vrender-components/src/label/base.ts @@ -10,10 +10,13 @@ import type { IColor, ILine, IArea, - IRichText + IRichText, + ILineGraphicAttribute } from '@visactor/vrender-core'; -import { graphicCreator, AttributeUpdateType, IContainPointMode } from '@visactor/vrender-core'; +// eslint-disable-next-line no-duplicate-imports +import { graphicCreator, AttributeUpdateType, IContainPointMode, CustomPath2D } from '@visactor/vrender-core'; import type { IAABBBounds, IBoundsLike, IPointLike } from '@visactor/vutils'; +// eslint-disable-next-line no-duplicate-imports import { isFunction, isEmpty, @@ -31,6 +34,7 @@ import { labelSmartInvert, contrastAccessibilityChecker, smartInvertStrategy } f import { createTextGraphicByType, getMarksByName, getNoneGroupMarksByName, traverseGroup } from '../util'; import { StateValue } from '../constant'; import type { Bitmap } from './overlap'; +// eslint-disable-next-line no-duplicate-imports import { bitmapTool, boundToRange, canPlace, clampText, place } from './overlap'; import type { BaseLabelAttrs, @@ -126,6 +130,12 @@ export class LabelBase extends AbstractComponent { const line = graphicCreator.line({ points }); + if (line.style?.customShape) { + const customShape = line.style.customShape; + line.pathProxy = (attrs: Partial) => { + return customShape(attrs, new CustomPath2D()); + }; + } if (baseMark && baseMark.attribute.fill) { line.setAttribute('stroke', baseMark.attribute.fill); diff --git a/packages/vrender-components/src/label/type.ts b/packages/vrender-components/src/label/type.ts index 9dc92c79e..34e6885d4 100644 --- a/packages/vrender-components/src/label/type.ts +++ b/packages/vrender-components/src/label/type.ts @@ -10,7 +10,8 @@ import type { ILineGraphicAttribute, IRichTextCharacter, IRichText, - ILine + ILine, + ICustomPath2D } from '@visactor/vrender-core'; import type { BoundsAnchorType, IPointLike, InsideBoundsAnchorType } from '@visactor/vutils'; @@ -423,7 +424,13 @@ export interface ILabelLineSpec { /** * 引导线样式 */ - style?: Partial; + style?: Partial & { + /** + * 自定义路径 + * @since 0.19.21 + */ + customShape?: (attrs: Partial, path: ICustomPath2D) => ICustomPath2D; + }; } export interface IArcLabelLineSpec extends ILabelLineSpec { From 3fadc9177e425597848d583e601b1ffdf56d00a8 Mon Sep 17 00:00:00 2001 From: skie1997 Date: Fri, 2 Aug 2024 00:05:21 +0800 Subject: [PATCH 3/7] chore: rush change --- .../feat-label-line_2024-08-01-16-05.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@visactor/vrender-components/feat-label-line_2024-08-01-16-05.json diff --git a/common/changes/@visactor/vrender-components/feat-label-line_2024-08-01-16-05.json b/common/changes/@visactor/vrender-components/feat-label-line_2024-08-01-16-05.json new file mode 100644 index 000000000..71fff7a1f --- /dev/null +++ b/common/changes/@visactor/vrender-components/feat-label-line_2024-08-01-16-05.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@visactor/vrender-components", + "comment": "feat: label line support custom path. feat @VisActor/VChart#3000", + "type": "none" + } + ], + "packageName": "@visactor/vrender-components" +} \ No newline at end of file From 158c64bb6820a8905256057d715f554343431571 Mon Sep 17 00:00:00 2001 From: skie1997 Date: Fri, 2 Aug 2024 00:18:23 +0800 Subject: [PATCH 4/7] chore: delete unuseful code --- .../__tests__/browser/examples/label-arc.ts | 42 ------------------- 1 file changed, 42 deletions(-) diff --git a/packages/vrender-components/__tests__/browser/examples/label-arc.ts b/packages/vrender-components/__tests__/browser/examples/label-arc.ts index 73ccc5a19..352a5c767 100644 --- a/packages/vrender-components/__tests__/browser/examples/label-arc.ts +++ b/packages/vrender-components/__tests__/browser/examples/label-arc.ts @@ -1253,48 +1253,6 @@ const latestData = [ // } ]; -function drawRoundedPolyline(ctx, points, radius) { - for (let i = 0; i < points.length - 1; i++) { - const startPoint = points[i]; - const endPoint = points[i + 1]; - - // 计算线段的方向向量 - const dx = endPoint.x - startPoint.x; - const dy = endPoint.y - startPoint.y; - - // 计算转折点处的切线方向 - let tangentDx = -dy; - let tangentDy = dx; - - // 标准化切线方向向量 - const tangentLength = Math.sqrt(tangentDx * tangentDx + tangentDy * tangentDy); - tangentDx /= tangentLength; - tangentDy /= tangentLength; - - // 计算圆角的起始点和结束点 - const startRadiusPoint = { - x: startPoint.x + tangentDx * radius, - y: startPoint.y + tangentDy * radius - }; - - const endRadiusPoint = { - x: endPoint.x - tangentDx * radius, - y: endPoint.y - tangentDy * radius - }; - - // 绘制圆弧 - // ctx.beginPath(); - ctx.arc(startPoint.x, startPoint.y, radius, Math.atan2(tangentDy, tangentDx), Math.atan2(-dy, -dx)); - // ctx.stroke(); - - // 绘制直线部分 - // ctx.beginPath(); - ctx.moveTo(startRadiusPoint.x, startRadiusPoint.y); - ctx.lineTo(endRadiusPoint.x, endRadiusPoint.y); - // ctx.stroke(); - } -} - function createContent(stage: Stage) { const pieSpec = pieGenerator(); const pieGroup = createGroup(pieSpec.attribute); From fe3b39e8de0d71bcf0b6bb75f624c766f57ce3be Mon Sep 17 00:00:00 2001 From: skie1997 Date: Fri, 2 Aug 2024 10:49:15 +0800 Subject: [PATCH 5/7] chore: reconfig custom shape layer --- .../__tests__/browser/examples/label-arc.ts | 58 +++++++++---------- packages/vrender-components/src/label/arc.ts | 6 +- packages/vrender-components/src/label/base.ts | 6 +- packages/vrender-components/src/label/type.ts | 17 +++--- 4 files changed, 45 insertions(+), 42 deletions(-) diff --git a/packages/vrender-components/__tests__/browser/examples/label-arc.ts b/packages/vrender-components/__tests__/browser/examples/label-arc.ts index 352a5c767..a9ff29116 100644 --- a/packages/vrender-components/__tests__/browser/examples/label-arc.ts +++ b/packages/vrender-components/__tests__/browser/examples/label-arc.ts @@ -1329,38 +1329,38 @@ function createContent(stage: Stage) { line1MinLength: 40, line2MinLength: 60, // smooth: true, - style: { - lineWidth: 1, - stroke: 'red', - customShape: (attrs, path) => { - console.log('attrs', attrs, path); - let points = attrs.points as IPointLike[]; - // 绘制带圆角的折线(暂时用小转折拟合) - const direction = points[points.length - 1].x - points[0].x > 0 ? -1 : 1; - path.moveTo(points[0].x, points[0].y); - for (let i = 1; i < points.length - 1; i++) { - const p1 = points[i - 1]; - const p2 = points[i % points.length]; - const p3 = points[(i + 1) % points.length]; - const { x: x1, y: y1 } = p1; - const { x: x2, y: y2 } = p2; - const { x: x3, y: y3 } = p3; + customShape: (text, attrs, path) => { + console.log('attrs', text, attrs, path); + let points = attrs.points as IPointLike[]; + // 绘制带圆角的折线(暂时用小转折拟合) + const direction = points[points.length - 1].x - points[0].x > 0 ? -1 : 1; + path.moveTo(points[0].x, points[0].y); + for (let i = 1; i < points.length - 1; i++) { + const p1 = points[i - 1]; + const p2 = points[i % points.length]; + const p3 = points[(i + 1) % points.length]; + const { x: x1, y: y1 } = p1; + const { x: x2, y: y2 } = p2; + const { x: x3, y: y3 } = p3; - const k1 = (y2 - y1) / (x2 - x1); - const k2 = (y3 - y2) / (x3 - x2); - const deltaX = 3; - const deltaY1 = k1 * deltaX; - const deltaY2 = k2 * deltaX; + const k1 = (y2 - y1) / (x2 - x1); + const k2 = (y3 - y2) / (x3 - x2); + const deltaX = 3; + const deltaY1 = k1 * deltaX; + const deltaY2 = k2 * deltaX; - path.lineTo(p2.x + direction * deltaX, p2.y + direction * deltaY1); // 到点p1的上方 - path.lineTo(p2.x - direction * deltaX, p2.y - direction * deltaY2); // 绘制圆弧 - // path.quadraticCurveTo(p2.x - deltaX, p2.y - deltaY1, p2.x + deltaX, p2.y + deltaY2) - // path.quadraticCurveTo(p2.x - deltaX, p2.y - deltaY1, p2.x + deltaX, p2.y + deltaY2, 2) - } - - path.lineTo(points[points.length - 1].x, points[points.length - 1].y); - return path; + path.lineTo(p2.x + direction * deltaX, p2.y + direction * deltaY1); // 到点p1的上方 + path.lineTo(p2.x - direction * deltaX, p2.y - direction * deltaY2); // 绘制圆弧 + // path.quadraticCurveTo(p2.x - deltaX, p2.y - deltaY1, p2.x + deltaX, p2.y + deltaY2) + // path.quadraticCurveTo(p2.x - deltaX, p2.y - deltaY1, p2.x + deltaX, p2.y + deltaY2, 2) } + + path.lineTo(points[points.length - 1].x, points[points.length - 1].y); + return path; + }, + style: { + lineWidth: 1, + stroke: 'red' } }, layout: { diff --git a/packages/vrender-components/src/label/arc.ts b/packages/vrender-components/src/label/arc.ts index 00c93082e..b896120e8 100644 --- a/packages/vrender-components/src/label/arc.ts +++ b/packages/vrender-components/src/label/arc.ts @@ -948,10 +948,10 @@ export class ArcLabel extends LabelBase { }) : undefined; if (labelLine) { - if (line.style?.customShape) { - const customShape = line.style.customShape; + if (line?.customShape) { + const customShape = line.customShape; labelLine.pathProxy = (attrs: Partial) => { - return customShape(attrs, new CustomPath2D()); + return customShape(text.attribute.text, attrs, new CustomPath2D()); }; } this._setStatesOfLabelLine(labelLine); diff --git a/packages/vrender-components/src/label/base.ts b/packages/vrender-components/src/label/base.ts index 8aa1743e7..8910c433f 100644 --- a/packages/vrender-components/src/label/base.ts +++ b/packages/vrender-components/src/label/base.ts @@ -130,10 +130,10 @@ export class LabelBase extends AbstractComponent { const line = graphicCreator.line({ points }); - if (line.style?.customShape) { - const customShape = line.style.customShape; + if (line?.customShape) { + const customShape = line.customShape; line.pathProxy = (attrs: Partial) => { - return customShape(attrs, new CustomPath2D()); + return customShape(text.attribute.text, attrs, new CustomPath2D()); }; } diff --git a/packages/vrender-components/src/label/type.ts b/packages/vrender-components/src/label/type.ts index 34e6885d4..02cec5492 100644 --- a/packages/vrender-components/src/label/type.ts +++ b/packages/vrender-components/src/label/type.ts @@ -421,16 +421,19 @@ export interface ILabelLineSpec { * @default true */ visible?: boolean; + /** + * 自定义路径 + * @since 0.19.21 + */ + customShape?: ( + text: string | number | string[] | number[], + attrs: Partial, + path: ICustomPath2D + ) => ICustomPath2D; /** * 引导线样式 */ - style?: Partial & { - /** - * 自定义路径 - * @since 0.19.21 - */ - customShape?: (attrs: Partial, path: ICustomPath2D) => ICustomPath2D; - }; + style?: Partial; } export interface IArcLabelLineSpec extends ILabelLineSpec { From e794ee471ced052a928d7bfb685112c922f221ab Mon Sep 17 00:00:00 2001 From: skie1997 Date: Fri, 2 Aug 2024 11:57:53 +0800 Subject: [PATCH 6/7] feat: change callback params from text to mark attr --- packages/vrender-components/src/interface.ts | 10 ++++++++-- packages/vrender-components/src/label/arc.ts | 2 +- packages/vrender-components/src/label/base.ts | 2 +- packages/vrender-components/src/label/type.ts | 2 +- packages/vrender-components/src/tag/tag.ts | 6 +++--- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/vrender-components/src/interface.ts b/packages/vrender-components/src/interface.ts index fb4854f7b..551d182bd 100644 --- a/packages/vrender-components/src/interface.ts +++ b/packages/vrender-components/src/interface.ts @@ -1,4 +1,10 @@ -import type { ICustomPath2D, IGraphicAttribute, IRectGraphicAttribute } from '@visactor/vrender-core'; +import type { + ICustomPath2D, + IGraphicAttribute, + IRectGraphicAttribute, + IRichTextAttribute, + ITextGraphicAttribute +} from '@visactor/vrender-core'; import type { TextContent } from './core/type'; export type Direction = 'horizontal' | 'vertical'; @@ -15,7 +21,7 @@ export type BackgroundAttributes = { * @since 0.19.19 */ customShape?: ( - text: Pick, + text: ITextGraphicAttribute | IRichTextAttribute, attrs: Partial, path: ICustomPath2D ) => ICustomPath2D; diff --git a/packages/vrender-components/src/label/arc.ts b/packages/vrender-components/src/label/arc.ts index b896120e8..1c5c9dcee 100644 --- a/packages/vrender-components/src/label/arc.ts +++ b/packages/vrender-components/src/label/arc.ts @@ -951,7 +951,7 @@ export class ArcLabel extends LabelBase { if (line?.customShape) { const customShape = line.customShape; labelLine.pathProxy = (attrs: Partial) => { - return customShape(text.attribute.text, attrs, new CustomPath2D()); + return customShape(text.attribute, attrs, new CustomPath2D()); }; } this._setStatesOfLabelLine(labelLine); diff --git a/packages/vrender-components/src/label/base.ts b/packages/vrender-components/src/label/base.ts index 8910c433f..d9c61d3e7 100644 --- a/packages/vrender-components/src/label/base.ts +++ b/packages/vrender-components/src/label/base.ts @@ -133,7 +133,7 @@ export class LabelBase extends AbstractComponent { if (line?.customShape) { const customShape = line.customShape; line.pathProxy = (attrs: Partial) => { - return customShape(text.attribute.text, attrs, new CustomPath2D()); + return customShape(text.attribute, attrs, new CustomPath2D()); }; } diff --git a/packages/vrender-components/src/label/type.ts b/packages/vrender-components/src/label/type.ts index 02cec5492..0e176d9c0 100644 --- a/packages/vrender-components/src/label/type.ts +++ b/packages/vrender-components/src/label/type.ts @@ -426,7 +426,7 @@ export interface ILabelLineSpec { * @since 0.19.21 */ customShape?: ( - text: string | number | string[] | number[], + text: ITextGraphicAttribute, attrs: Partial, path: ICustomPath2D ) => ICustomPath2D; diff --git a/packages/vrender-components/src/tag/tag.ts b/packages/vrender-components/src/tag/tag.ts index 9d766a206..1306afb76 100644 --- a/packages/vrender-components/src/tag/tag.ts +++ b/packages/vrender-components/src/tag/tag.ts @@ -111,7 +111,7 @@ export class Tag extends AbstractComponent> { tagWidth += symbolPlaceWidth; textX += symbolPlaceWidth; - let textShape; + let textShape: IRichText | IText; const isRich = isRichText({ text } as TextContent) || type === 'rich'; if (isRich) { const richTextAttrs = { @@ -144,7 +144,7 @@ export class Tag extends AbstractComponent> { if (backgroundStyle.customShape) { const customShape = backgroundStyle.customShape; bgRect.pathProxy = (attrs: Partial) => { - return customShape(text as Pick, attrs, new CustomPath2D()); + return customShape(textShape.attribute, attrs, new CustomPath2D()); }; } this._bgRect = bgRect; @@ -320,7 +320,7 @@ export class Tag extends AbstractComponent> { if (backgroundStyle.customShape) { const customShape = backgroundStyle.customShape; bgRect.pathProxy = (attrs: Partial) => { - return customShape(text as Pick, attrs, new CustomPath2D()); + return customShape(textShape.attribute, attrs, new CustomPath2D()); }; } this._bgRect = bgRect; From c769dd3f708c0dc687513c1ec9cc8989b5996e86 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 5 Aug 2024 01:44:09 +0000 Subject: [PATCH 7/7] build: prelease version 0.19.21 --- .../feat-label-line_2024-08-01-16-05.json | 10 ------- common/config/rush/pnpm-lock.yaml | 26 +++++++++---------- common/config/rush/version-policies.json | 2 +- docs/package.json | 2 +- packages/react-vrender-utils/CHANGELOG.json | 6 +++++ packages/react-vrender-utils/CHANGELOG.md | 7 ++++- packages/react-vrender-utils/package.json | 6 ++--- packages/react-vrender/CHANGELOG.json | 6 +++++ packages/react-vrender/CHANGELOG.md | 7 ++++- packages/react-vrender/package.json | 4 +-- packages/vrender-components/CHANGELOG.json | 12 +++++++++ packages/vrender-components/CHANGELOG.md | 9 ++++++- packages/vrender-components/package.json | 6 ++--- packages/vrender-core/CHANGELOG.json | 6 +++++ packages/vrender-core/CHANGELOG.md | 7 ++++- packages/vrender-core/package.json | 2 +- packages/vrender-kits/CHANGELOG.json | 6 +++++ packages/vrender-kits/CHANGELOG.md | 7 ++++- packages/vrender-kits/package.json | 4 +-- packages/vrender/CHANGELOG.json | 6 +++++ packages/vrender/CHANGELOG.md | 7 ++++- packages/vrender/package.json | 6 ++--- tools/bugserver-trigger/package.json | 8 +++--- 23 files changed, 113 insertions(+), 49 deletions(-) delete mode 100644 common/changes/@visactor/vrender-components/feat-label-line_2024-08-01-16-05.json diff --git a/common/changes/@visactor/vrender-components/feat-label-line_2024-08-01-16-05.json b/common/changes/@visactor/vrender-components/feat-label-line_2024-08-01-16-05.json deleted file mode 100644 index 71fff7a1f..000000000 --- a/common/changes/@visactor/vrender-components/feat-label-line_2024-08-01-16-05.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@visactor/vrender-components", - "comment": "feat: label line support custom path. feat @VisActor/VChart#3000", - "type": "none" - } - ], - "packageName": "@visactor/vrender-components" -} \ No newline at end of file diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 35af3e109..e1880a79e 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -14,7 +14,7 @@ importers: '@types/react-dom': ^18.0.0 '@visactor/vchart': 1.3.0 '@visactor/vgrammar': ~0.5.7 - '@visactor/vrender': workspace:0.19.20 + '@visactor/vrender': workspace:0.19.21 '@visactor/vutils': ~0.18.10 '@vitejs/plugin-react': 3.1.0 axios: ^1.4.0 @@ -71,7 +71,7 @@ importers: '@types/react': ^18.0.0 '@types/react-dom': ^18.0.0 '@types/react-reconciler': ^0.28.2 - '@visactor/vrender': workspace:0.19.20 + '@visactor/vrender': workspace:0.19.21 '@visactor/vutils': ~0.18.10 '@vitejs/plugin-react': 3.1.0 cross-env: ^7.0.3 @@ -111,8 +111,8 @@ importers: '@rushstack/eslint-patch': ~1.1.4 '@types/react': ^18.0.0 '@types/react-dom': ^18.0.0 - '@visactor/react-vrender': workspace:0.19.20 - '@visactor/vrender': workspace:0.19.20 + '@visactor/react-vrender': workspace:0.19.21 + '@visactor/vrender': workspace:0.19.21 '@visactor/vutils': ~0.18.10 '@vitejs/plugin-react': 3.1.0 cross-env: ^7.0.3 @@ -153,8 +153,8 @@ importers: '@types/jest': ^26.0.0 '@types/react': ^18.0.0 '@types/react-dom': ^18.0.0 - '@visactor/vrender-core': workspace:0.19.20 - '@visactor/vrender-kits': workspace:0.19.20 + '@visactor/vrender-core': workspace:0.19.21 + '@visactor/vrender-kits': workspace:0.19.21 '@visactor/vutils': ~0.18.10 '@vitejs/plugin-react': 3.1.0 canvas: 2.11.2 @@ -200,8 +200,8 @@ importers: '@internal/ts-config': workspace:* '@rushstack/eslint-patch': ~1.1.4 '@types/jest': ^26.0.0 - '@visactor/vrender-core': workspace:0.19.20 - '@visactor/vrender-kits': workspace:0.19.20 + '@visactor/vrender-core': workspace:0.19.21 + '@visactor/vrender-kits': workspace:0.19.21 '@visactor/vscale': ~0.18.9 '@visactor/vutils': ~0.18.10 cross-env: ^7.0.3 @@ -287,7 +287,7 @@ importers: '@types/node-fetch': 2.6.4 '@types/react': ^18.0.0 '@types/react-dom': ^18.0.0 - '@visactor/vrender-core': workspace:0.19.20 + '@visactor/vrender-core': workspace:0.19.21 '@visactor/vutils': ~0.18.10 '@vitejs/plugin-react': 3.1.0 canvas: 2.11.2 @@ -369,10 +369,10 @@ importers: '@rushstack/eslint-patch': ~1.1.4 '@types/node': '*' '@types/node-fetch': 2.6.4 - '@visactor/vrender': workspace:0.19.20 - '@visactor/vrender-components': workspace:0.19.20 - '@visactor/vrender-core': workspace:0.19.20 - '@visactor/vrender-kits': workspace:0.19.20 + '@visactor/vrender': workspace:0.19.21 + '@visactor/vrender-components': workspace:0.19.21 + '@visactor/vrender-core': workspace:0.19.21 + '@visactor/vrender-kits': workspace:0.19.21 cross-env: ^7.0.3 eslint: ~8.18.0 form-data: ~4.0.0 diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index a52fa45aa..449353cde 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -1 +1 @@ -[{"definitionName":"lockStepVersion","policyName":"vrenderMain","version":"0.19.20","nextBump":"patch"}] +[{"definitionName":"lockStepVersion","policyName":"vrenderMain","version":"0.19.21","nextBump":"patch"}] diff --git a/docs/package.json b/docs/package.json index c1e7bab22..55d0acf62 100644 --- a/docs/package.json +++ b/docs/package.json @@ -13,7 +13,7 @@ "@visactor/vchart": "1.3.0", "@visactor/vutils": "~0.18.10", "@visactor/vgrammar": "~0.5.7", - "@visactor/vrender": "workspace:0.19.20", + "@visactor/vrender": "workspace:0.19.21", "markdown-it": "^13.0.0", "highlight.js": "^11.8.0", "axios": "^1.4.0", diff --git a/packages/react-vrender-utils/CHANGELOG.json b/packages/react-vrender-utils/CHANGELOG.json index c752cd16a..4557760f9 100644 --- a/packages/react-vrender-utils/CHANGELOG.json +++ b/packages/react-vrender-utils/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/react-vrender-utils", "entries": [ + { + "version": "0.19.21", + "tag": "@visactor/react-vrender-utils_v0.19.21", + "date": "Mon, 05 Aug 2024 01:39:45 GMT", + "comments": {} + }, { "version": "0.19.20", "tag": "@visactor/react-vrender-utils_v0.19.20", diff --git a/packages/react-vrender-utils/CHANGELOG.md b/packages/react-vrender-utils/CHANGELOG.md index 59a29df5d..aee625caa 100644 --- a/packages/react-vrender-utils/CHANGELOG.md +++ b/packages/react-vrender-utils/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/react-vrender-utils -This log was last generated on Wed, 31 Jul 2024 09:48:37 GMT and should not be manually modified. +This log was last generated on Mon, 05 Aug 2024 01:39:45 GMT and should not be manually modified. + +## 0.19.21 +Mon, 05 Aug 2024 01:39:45 GMT + +_Version update only_ ## 0.19.20 Wed, 31 Jul 2024 09:48:37 GMT diff --git a/packages/react-vrender-utils/package.json b/packages/react-vrender-utils/package.json index 6b871acb4..fbb01e373 100644 --- a/packages/react-vrender-utils/package.json +++ b/packages/react-vrender-utils/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/react-vrender-utils", - "version": "0.19.20", + "version": "0.19.21", "description": "", "sideEffects": false, "main": "cjs/index.js", @@ -24,8 +24,8 @@ "react-dom": "^18.2.0" }, "dependencies": { - "@visactor/vrender": "workspace:0.19.20", - "@visactor/react-vrender": "workspace:0.19.20", + "@visactor/vrender": "workspace:0.19.21", + "@visactor/react-vrender": "workspace:0.19.21", "@visactor/vutils": "~0.18.10", "react-reconciler": "^0.29.0", "tslib": "^2.3.1" diff --git a/packages/react-vrender/CHANGELOG.json b/packages/react-vrender/CHANGELOG.json index e5439e586..0ce80aade 100644 --- a/packages/react-vrender/CHANGELOG.json +++ b/packages/react-vrender/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/react-vrender", "entries": [ + { + "version": "0.19.21", + "tag": "@visactor/react-vrender_v0.19.21", + "date": "Mon, 05 Aug 2024 01:39:45 GMT", + "comments": {} + }, { "version": "0.19.20", "tag": "@visactor/react-vrender_v0.19.20", diff --git a/packages/react-vrender/CHANGELOG.md b/packages/react-vrender/CHANGELOG.md index a21062de8..5c3b2c945 100644 --- a/packages/react-vrender/CHANGELOG.md +++ b/packages/react-vrender/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/react-vrender -This log was last generated on Wed, 31 Jul 2024 09:48:37 GMT and should not be manually modified. +This log was last generated on Mon, 05 Aug 2024 01:39:45 GMT and should not be manually modified. + +## 0.19.21 +Mon, 05 Aug 2024 01:39:45 GMT + +_Version update only_ ## 0.19.20 Wed, 31 Jul 2024 09:48:37 GMT diff --git a/packages/react-vrender/package.json b/packages/react-vrender/package.json index f0ac39578..bb9cb0316 100644 --- a/packages/react-vrender/package.json +++ b/packages/react-vrender/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/react-vrender", - "version": "0.19.20", + "version": "0.19.21", "description": "", "sideEffects": false, "main": "cjs/index.js", @@ -23,7 +23,7 @@ "react": "^18.2.0" }, "dependencies": { - "@visactor/vrender": "workspace:0.19.20", + "@visactor/vrender": "workspace:0.19.21", "@visactor/vutils": "~0.18.10", "react-reconciler": "^0.29.0", "tslib": "^2.3.1" diff --git a/packages/vrender-components/CHANGELOG.json b/packages/vrender-components/CHANGELOG.json index 6bacde877..6d8ba3c58 100644 --- a/packages/vrender-components/CHANGELOG.json +++ b/packages/vrender-components/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@visactor/vrender-components", "entries": [ + { + "version": "0.19.21", + "tag": "@visactor/vrender-components_v0.19.21", + "date": "Mon, 05 Aug 2024 01:39:45 GMT", + "comments": { + "none": [ + { + "comment": "feat: label line support custom path. feat @VisActor/VChart#3000" + } + ] + } + }, { "version": "0.19.20", "tag": "@visactor/vrender-components_v0.19.20", diff --git a/packages/vrender-components/CHANGELOG.md b/packages/vrender-components/CHANGELOG.md index 6020cc2f7..77e955de4 100644 --- a/packages/vrender-components/CHANGELOG.md +++ b/packages/vrender-components/CHANGELOG.md @@ -1,6 +1,13 @@ # Change Log - @visactor/vrender-components -This log was last generated on Wed, 31 Jul 2024 09:48:37 GMT and should not be manually modified. +This log was last generated on Mon, 05 Aug 2024 01:39:45 GMT and should not be manually modified. + +## 0.19.21 +Mon, 05 Aug 2024 01:39:45 GMT + +### Updates + +- feat: label line support custom path. feat @VisActor/VChart#3000 ## 0.19.20 Wed, 31 Jul 2024 09:48:37 GMT diff --git a/packages/vrender-components/package.json b/packages/vrender-components/package.json index 73c4f642c..e9985ab25 100644 --- a/packages/vrender-components/package.json +++ b/packages/vrender-components/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender-components", - "version": "0.19.20", + "version": "0.19.21", "description": "components library for dp visualization", "sideEffects": false, "main": "cjs/index.js", @@ -24,8 +24,8 @@ "analysis-core": "cross-env DEBUG='Bundler*' bundle -f umd -a -i core.ts" }, "dependencies": { - "@visactor/vrender-core": "workspace:0.19.20", - "@visactor/vrender-kits": "workspace:0.19.20", + "@visactor/vrender-core": "workspace:0.19.21", + "@visactor/vrender-kits": "workspace:0.19.21", "@visactor/vutils": "~0.18.10", "@visactor/vscale": "~0.18.9" }, diff --git a/packages/vrender-core/CHANGELOG.json b/packages/vrender-core/CHANGELOG.json index 5c2f56e11..1043983e1 100644 --- a/packages/vrender-core/CHANGELOG.json +++ b/packages/vrender-core/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/vrender-core", "entries": [ + { + "version": "0.19.21", + "tag": "@visactor/vrender-core_v0.19.21", + "date": "Mon, 05 Aug 2024 01:39:45 GMT", + "comments": {} + }, { "version": "0.19.20", "tag": "@visactor/vrender-core_v0.19.20", diff --git a/packages/vrender-core/CHANGELOG.md b/packages/vrender-core/CHANGELOG.md index caa2f07b7..cd6f29f06 100644 --- a/packages/vrender-core/CHANGELOG.md +++ b/packages/vrender-core/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/vrender-core -This log was last generated on Wed, 31 Jul 2024 09:48:37 GMT and should not be manually modified. +This log was last generated on Mon, 05 Aug 2024 01:39:45 GMT and should not be manually modified. + +## 0.19.21 +Mon, 05 Aug 2024 01:39:45 GMT + +_Version update only_ ## 0.19.20 Wed, 31 Jul 2024 09:48:37 GMT diff --git a/packages/vrender-core/package.json b/packages/vrender-core/package.json index e9e442e96..fbbf75e28 100644 --- a/packages/vrender-core/package.json +++ b/packages/vrender-core/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender-core", - "version": "0.19.20", + "version": "0.19.21", "description": "", "sideEffects": [ "./src/modules.ts", diff --git a/packages/vrender-kits/CHANGELOG.json b/packages/vrender-kits/CHANGELOG.json index b7ff40e2f..3a4a24922 100644 --- a/packages/vrender-kits/CHANGELOG.json +++ b/packages/vrender-kits/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/vrender-kits", "entries": [ + { + "version": "0.19.21", + "tag": "@visactor/vrender-kits_v0.19.21", + "date": "Mon, 05 Aug 2024 01:39:45 GMT", + "comments": {} + }, { "version": "0.19.20", "tag": "@visactor/vrender-kits_v0.19.20", diff --git a/packages/vrender-kits/CHANGELOG.md b/packages/vrender-kits/CHANGELOG.md index f5950675c..13ba2f9ec 100644 --- a/packages/vrender-kits/CHANGELOG.md +++ b/packages/vrender-kits/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/vrender-kits -This log was last generated on Wed, 31 Jul 2024 09:48:37 GMT and should not be manually modified. +This log was last generated on Mon, 05 Aug 2024 01:39:45 GMT and should not be manually modified. + +## 0.19.21 +Mon, 05 Aug 2024 01:39:45 GMT + +_Version update only_ ## 0.19.20 Wed, 31 Jul 2024 09:48:37 GMT diff --git a/packages/vrender-kits/package.json b/packages/vrender-kits/package.json index 3f399c612..55cfdb81f 100644 --- a/packages/vrender-kits/package.json +++ b/packages/vrender-kits/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender-kits", - "version": "0.19.20", + "version": "0.19.21", "description": "", "sideEffects": false, "main": "cjs/index.js", @@ -20,7 +20,7 @@ "test": "" }, "dependencies": { - "@visactor/vrender-core": "workspace:0.19.20", + "@visactor/vrender-core": "workspace:0.19.21", "@visactor/vutils": "~0.18.10", "@resvg/resvg-js": "2.4.1", "roughjs": "4.5.2" diff --git a/packages/vrender/CHANGELOG.json b/packages/vrender/CHANGELOG.json index 330e99437..fd2c80da4 100644 --- a/packages/vrender/CHANGELOG.json +++ b/packages/vrender/CHANGELOG.json @@ -1,6 +1,12 @@ { "name": "@visactor/vrender", "entries": [ + { + "version": "0.19.21", + "tag": "@visactor/vrender_v0.19.21", + "date": "Mon, 05 Aug 2024 01:39:45 GMT", + "comments": {} + }, { "version": "0.19.20", "tag": "@visactor/vrender_v0.19.20", diff --git a/packages/vrender/CHANGELOG.md b/packages/vrender/CHANGELOG.md index 113e4d57f..8b11ff795 100644 --- a/packages/vrender/CHANGELOG.md +++ b/packages/vrender/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @visactor/vrender -This log was last generated on Wed, 31 Jul 2024 09:48:37 GMT and should not be manually modified. +This log was last generated on Mon, 05 Aug 2024 01:39:45 GMT and should not be manually modified. + +## 0.19.21 +Mon, 05 Aug 2024 01:39:45 GMT + +_Version update only_ ## 0.19.20 Wed, 31 Jul 2024 09:48:37 GMT diff --git a/packages/vrender/package.json b/packages/vrender/package.json index 8cb396dbe..3179b0dcb 100644 --- a/packages/vrender/package.json +++ b/packages/vrender/package.json @@ -1,6 +1,6 @@ { "name": "@visactor/vrender", - "version": "0.19.20", + "version": "0.19.21", "description": "", "sideEffects": true, "main": "cjs/index.js", @@ -24,8 +24,8 @@ "test-watch": "cross-env DEBUG_MODE=1 jest --watch" }, "dependencies": { - "@visactor/vrender-core": "workspace:0.19.20", - "@visactor/vrender-kits": "workspace:0.19.20" + "@visactor/vrender-core": "workspace:0.19.21", + "@visactor/vrender-kits": "workspace:0.19.21" }, "devDependencies": { "@internal/bundler": "workspace:*", diff --git a/tools/bugserver-trigger/package.json b/tools/bugserver-trigger/package.json index 72d07273d..47d6aba44 100644 --- a/tools/bugserver-trigger/package.json +++ b/tools/bugserver-trigger/package.json @@ -8,10 +8,10 @@ "ci": "ts-node --transpileOnly --skipProject ./scripts/trigger-test.ts" }, "dependencies": { - "@visactor/vrender": "workspace:0.19.20", - "@visactor/vrender-core": "workspace:0.19.20", - "@visactor/vrender-kits": "workspace:0.19.20", - "@visactor/vrender-components": "workspace:0.19.20" + "@visactor/vrender": "workspace:0.19.21", + "@visactor/vrender-core": "workspace:0.19.21", + "@visactor/vrender-kits": "workspace:0.19.21", + "@visactor/vrender-components": "workspace:0.19.21" }, "devDependencies": { "@rushstack/eslint-patch": "~1.1.4",