diff --git a/common/changes/@visactor/vlayouts/fix-circle-packing-valuefield_2026-03-10-07-58.json b/common/changes/@visactor/vlayouts/fix-circle-packing-valuefield_2026-03-10-07-58.json new file mode 100644 index 0000000..e9fd676 --- /dev/null +++ b/common/changes/@visactor/vlayouts/fix-circle-packing-valuefield_2026-03-10-07-58.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "chore: update rush.json\n\n", + "type": "none", + "packageName": "@visactor/vlayouts" + } + ], + "packageName": "@visactor/vlayouts", + "email": "dingling112@gmail.com" +} \ No newline at end of file diff --git a/packages/vlayouts/src/circle-packing/interface.ts b/packages/vlayouts/src/circle-packing/interface.ts index 2beeabc..744af4f 100644 --- a/packages/vlayouts/src/circle-packing/interface.ts +++ b/packages/vlayouts/src/circle-packing/interface.ts @@ -21,6 +21,8 @@ export interface CirclePackingOptions { /** parse the key of node */ nodeKey?: string | number | ((datum: HierarchicalDatum) => string | number); includeRoot?: boolean; + /** the field to read node value, default is 'value' */ + valueField?: string; } export type CirclePackingTramsformOptions = CirclePackingOptions & diff --git a/packages/vlayouts/src/circle-packing/layout.ts b/packages/vlayouts/src/circle-packing/layout.ts index ebbe028..dabef89 100644 --- a/packages/vlayouts/src/circle-packing/layout.ts +++ b/packages/vlayouts/src/circle-packing/layout.ts @@ -56,6 +56,8 @@ export class CirclePackingLayout { private _maxDepth: number; + private _valueField: string; + static defaultOpionts: Partial = { setRadius: (node: CirclePackingNodeElement) => { return Math.sqrt(node.value); @@ -77,6 +79,7 @@ export class CirclePackingLayout { ? (node: CirclePackingNodeElement) => (options.padding as number[])[node.depth + 1] ?? 0 : () => 0; this._maxDepth = -1; + this._valueField = options?.valueField ?? 'value'; } layout( @@ -106,7 +109,8 @@ export class CirclePackingLayout { 0, -1, null, - this._getNodeKey + this._getNodeKey, + this._valueField ); this._maxDepth = res.maxDepth; diff --git a/rush.json b/rush.json index d0efa48..111c9f5 100644 --- a/rush.json +++ b/rush.json @@ -2,7 +2,7 @@ "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/rush.schema.json", "rushVersion": "5.164.0", "pnpmVersion": "10.7.0", - "nodeSupportedVersionRange": ">=20.19.6 <21.0.0", + "nodeSupportedVersionRange": ">=20.19.6", "suppressNodeLtsWarning": true, "ensureConsistentVersions": true, "projectFolderMinDepth": 2,