From 02cb2bbabadcb953346aa1d2018bfec7932e1138 Mon Sep 17 00:00:00 2001 From: Nathan Bierema Date: Mon, 2 Jan 2023 09:15:23 -0500 Subject: [PATCH] Fix stringifying --- packages/d3-state-visualizer/src/charts/tree/tree.ts | 2 ++ .../d3-state-visualizer/src/charts/tree/utils.ts | 12 ++++++------ packages/map2tree/src/index.ts | 1 + 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/d3-state-visualizer/src/charts/tree/tree.ts b/packages/d3-state-visualizer/src/charts/tree/tree.ts index 2e7f81d2..69455fdb 100644 --- a/packages/d3-state-visualizer/src/charts/tree/tree.ts +++ b/packages/d3-state-visualizer/src/charts/tree/tree.ts @@ -176,12 +176,14 @@ const defaultOptions: Options = { export interface Node { name: string; children?: this[] | null; + object?: unknown; value?: unknown; } export interface InternalNode { name: string; children?: this[] | null; + object?: unknown; value?: unknown; id: string | number; } diff --git a/packages/d3-state-visualizer/src/charts/tree/utils.ts b/packages/d3-state-visualizer/src/charts/tree/utils.ts index 6b32b603..0bf93529 100644 --- a/packages/d3-state-visualizer/src/charts/tree/utils.ts +++ b/packages/d3-state-visualizer/src/charts/tree/utils.ts @@ -83,11 +83,11 @@ export function getNodeGroupByDepthCount(rootNode: InternalNode) { } export function getTooltipString( - node: unknown, + node: HierarchyPointNodeWithPrivateChildren, i: number | undefined, { indentationSize = 4 } ) { - if (!is(Object, node)) return ''; + if (!is(Object, node.data)) return ''; const spacer = join('  '); const cr2br = replace(/\n/g, '
'); @@ -96,9 +96,9 @@ export function getTooltipString( const children = node.children || node._children; - if (typeof node.value !== 'undefined') return json2html(node.value); - if (typeof node.object !== 'undefined') return json2html(node.object); - if (children && children.length) - return `childrenCount: ${(children as unknown[]).length}`; + if (typeof node.data.value !== 'undefined') return json2html(node.data.value); + if (typeof node.data.object !== 'undefined') + return json2html(node.data.object); + if (children && children.length) return `childrenCount: ${children.length}`; return 'empty'; } diff --git a/packages/map2tree/src/index.ts b/packages/map2tree/src/index.ts index 00aac7c5..a34d9ae2 100644 --- a/packages/map2tree/src/index.ts +++ b/packages/map2tree/src/index.ts @@ -5,6 +5,7 @@ import mapValues from 'lodash/mapValues'; export interface Node { name: string; children?: Node[] | null; + object?: unknown; value?: unknown; }