diff --git a/src/views/dashboard/related/trace/components/D3Graph/Index.vue b/src/views/dashboard/related/trace/components/D3Graph/Index.vue index 393f689c..dfa7a9fd 100644 --- a/src/views/dashboard/related/trace/components/D3Graph/Index.vue +++ b/src/views/dashboard/related/trace/components/D3Graph/Index.vue @@ -434,7 +434,8 @@ limitations under the License. --> fill: #409eff; } - .highlightedParent .node { + .highlightedParent .node, + .highlighted .node { stroke-width: 4; fill: var(--font-color); stroke: var(--font-color); diff --git a/src/views/dashboard/related/trace/utils/d3-trace-list.ts b/src/views/dashboard/related/trace/utils/d3-trace-list.ts index 411188cc..7b1d78a4 100644 --- a/src/views/dashboard/related/trace/utils/d3-trace-list.ts +++ b/src/views/dashboard/related/trace/utils/d3-trace-list.ts @@ -119,7 +119,7 @@ export default class ListGraph { d3.select("svg.trace-list").on("click", function (event: MouseEvent) { if (event.target === this) { d3.select("#trace-action-box").style("display", "none"); - t.selectedNode.classed("highlighted", false); + t.selectedNode && t.selectedNode.classed("highlighted", false); } }); } diff --git a/src/views/dashboard/related/trace/utils/d3-trace-tree.ts b/src/views/dashboard/related/trace/utils/d3-trace-tree.ts index d1d6d5ec..bf20c847 100644 --- a/src/views/dashboard/related/trace/utils/d3-trace-tree.ts +++ b/src/views/dashboard/related/trace/utils/d3-trace-tree.ts @@ -143,7 +143,7 @@ export default class TraceMap { d3.select("svg.d3-trace-tree").on("click", function (event: MouseEvent) { if (event.target === this) { d3.select("#trace-action-box").style("display", "none"); - t.selectedNode.classed("highlighted", false); + t.selectedNode && t.selectedNode.classed("highlighted", false); } }); @@ -244,7 +244,7 @@ export default class TraceMap { .append("text") .attr("class", "node-text") .attr("x", function (d: Recordable) { - return d.children || d._children ? -45 : 15; + return d.children || d._children ? -30 : 15; }) .attr("dy", "1.5em") .attr("fill", appStore.theme === Themes.Dark ? "#888" : "#bbb") @@ -304,7 +304,7 @@ export default class TraceMap { .on("click", function (event: MouseEvent, d: Trace & { id: string }) { event.stopPropagation(); t.tip.hide(d, this); - d3.select(this).classed("highlighted", true); + d3.select(this.parentNode).classed("highlighted", true); const nodeBox = this.getBoundingClientRect(); const svgBox = (d3.select(`.${t.el?.className} .d3-trace-tree`) as any).node().getBoundingClientRect(); const offsetX = nodeBox.x - svgBox.x; @@ -313,7 +313,7 @@ export default class TraceMap { .style("display", "block") .style("left", `${offsetX + 30}px`) .style("top", `${offsetY + 40}px`); - t.selectedNode = d3.select(this); + t.selectedNode = d3.select(this.parentNode); if (t.handleSelectSpan) { t.handleSelectSpan(d); }