From f9d9655da21ce8457a47119fad415ac37a0794a5 Mon Sep 17 00:00:00 2001 From: antv Date: Fri, 22 Nov 2024 15:57:23 +0800 Subject: [PATCH 1/4] fix: html node only render key shape --- .../g6/__tests__/demos/element-node-html-2.ts | 75 +++++++++++++++++++ packages/g6/__tests__/demos/index.ts | 1 + packages/g6/src/elements/nodes/html.ts | 7 ++ 3 files changed, 83 insertions(+) create mode 100644 packages/g6/__tests__/demos/element-node-html-2.ts diff --git a/packages/g6/__tests__/demos/element-node-html-2.ts b/packages/g6/__tests__/demos/element-node-html-2.ts new file mode 100644 index 00000000000..39b6e591a1a --- /dev/null +++ b/packages/g6/__tests__/demos/element-node-html-2.ts @@ -0,0 +1,75 @@ +import { Graph } from '@antv/g6'; + +export const elementNodeHTML2: TestCase = async (context) => { + const ICON_MAP = { + error: '❌', + overload: '⚡', + running: '✅', + }; + + const COLOR_MAP = { + error: '#f5222d', + overload: '#faad14', + running: '#52c41a', + } as const; + + const graph = new Graph({ + ...context, + data: { + nodes: [ + { id: 'node-1', data: { location: 'East', status: 'error', ip: '192.168.1.2' } }, + { id: 'node-2', data: { location: 'West', status: 'overload', ip: '192.168.1.3' } }, + { id: 'node-3', data: { location: 'South', status: 'running', ip: '192.168.1.4' }, states: ['active'] }, + ], + }, + node: { + type: 'html', + style: { + size: [160, 60], + dx: -80, + dy: -30, + innerHTML: (d: any) => { + const { + data: { location, status, ip }, + } = d; + const color = COLOR_MAP[status as keyof typeof COLOR_MAP]; + return ` +
+
+
+ ${location} Node +
+
+ status: ${status} ${ICON_MAP[status as keyof typeof ICON_MAP]} +
+
+
+ + ${ip} + +
+
`; + }, + }, + }, + layout: { + type: 'grid', + }, + behaviors: ['drag-element', 'zoom-canvas'], + }); + + await graph.render(); + + return graph; +}; diff --git a/packages/g6/__tests__/demos/index.ts b/packages/g6/__tests__/demos/index.ts index 11bdd18caf7..6b42fa52516 100644 --- a/packages/g6/__tests__/demos/index.ts +++ b/packages/g6/__tests__/demos/index.ts @@ -63,6 +63,7 @@ export { elementNodeDonut } from './element-node-donut'; export { elementNodeEllipse } from './element-node-ellipse'; export { elementNodeHexagon } from './element-node-hexagon'; export { elementNodeHTML } from './element-node-html'; +export { elementNodeHTML2 } from './element-node-html-2'; export { elementNodeImage } from './element-node-image'; export { elementNodeRect } from './element-node-rect'; export { elementNodeStar } from './element-node-star'; diff --git a/packages/g6/src/elements/nodes/html.ts b/packages/g6/src/elements/nodes/html.ts index 03342682b57..9614c1456e0 100644 --- a/packages/g6/src/elements/nodes/html.ts +++ b/packages/g6/src/elements/nodes/html.ts @@ -83,6 +83,13 @@ export class HTML extends BaseNode { return this.getShape('key').getDomElement(); } + /** + * @override + */ + public render(attributes: Required = this.parsedAttributes, container: Group = this): void { + this.drawKeyShape(attributes, container); + } + protected getKeyStyle(attributes: Required): GHTMLStyleProps { const { dx = 0, From a5405928579ff734cfceee354eee366d542207a5 Mon Sep 17 00:00:00 2001 From: antv Date: Fri, 22 Nov 2024 16:05:57 +0800 Subject: [PATCH 2/4] refactor: html node draw ports additional --- packages/g6/src/elements/nodes/html.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/g6/src/elements/nodes/html.ts b/packages/g6/src/elements/nodes/html.ts index 9614c1456e0..4cc2eb91c25 100644 --- a/packages/g6/src/elements/nodes/html.ts +++ b/packages/g6/src/elements/nodes/html.ts @@ -88,6 +88,8 @@ export class HTML extends BaseNode { */ public render(attributes: Required = this.parsedAttributes, container: Group = this): void { this.drawKeyShape(attributes, container); + + this.drawPortShapes(attributes, container); } protected getKeyStyle(attributes: Required): GHTMLStyleProps { From eaf8ec00c60ac7e13179a70c0bebe7f14a009968 Mon Sep 17 00:00:00 2001 From: antv Date: Fri, 22 Nov 2024 16:07:36 +0800 Subject: [PATCH 3/4] chore: commit changeset --- .changeset/healthy-penguins-study.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/healthy-penguins-study.md diff --git a/.changeset/healthy-penguins-study.md b/.changeset/healthy-penguins-study.md new file mode 100644 index 00000000000..aeff11c4c75 --- /dev/null +++ b/.changeset/healthy-penguins-study.md @@ -0,0 +1,5 @@ +--- +'@antv/g6': patch +--- + +fix: html node only render key and ports shapes From 623e04e226bfdb25c7d7d376034f50af66239125 Mon Sep 17 00:00:00 2001 From: antv Date: Fri, 22 Nov 2024 16:27:50 +0800 Subject: [PATCH 4/4] chore: fix workflow --- .github/workflows/ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 04c142eb9df..83d78e043dc 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -23,6 +23,10 @@ jobs: brew update brew install python3 || : # python doesn't need to be linked brew install pkg-config cairo pango libpng jpeg giflib librsvg + + brew unlink pkg-config + brew link --overwrite pkgconf + pip install setuptools - uses: pnpm/action-setup@v4