Skip to content

Commit 0a64553

Browse files
authored
Embedded Single Card: disable tooltip on line chart (#6511)
The internal embedded single card will not render the tooltip, so the line chart needs to handle that behavior.
1 parent 01e9f00 commit 0a64553

8 files changed

+25
-0
lines changed

tensorboard/webapp/metrics/views/card_renderer/scalar_card_line_chart_component.ng.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
[ignoreYOutliers]="ignoreOutliers"
2727
[useDarkMode]="useDarkMode"
2828
[userViewBox]="userViewBox"
29+
[disableTooltip]="disableTooltip"
2930
(onViewBoxOverridden)="isViewBoxOverridden = $event"
3031
(viewBoxChanged)="onLineChartZoom.emit($event)"
3132
[customVisTemplate]="lineChartCustomVis"

tensorboard/webapp/metrics/views/card_renderer/scalar_card_line_chart_component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ export class ScalarCardLineChartComponent {
7272
@Input() minMaxStep!: MinMaxStep;
7373
@Input() userViewBox!: Extent | null;
7474
@Input() tooltipTemplate!: TooltipTemplate | null;
75+
@Input() disableTooltip!: boolean;
7576

7677
@Output()
7778
onTimeSelectionChanged = new EventEmitter<{

tensorboard/webapp/metrics/views/card_renderer/scalar_card_line_chart_container.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ import {ScalarCardLineChartComponent} from './scalar_card_line_chart_component';
7878
[stepOrLinkedTimeSelection]="stepOrLinkedTimeSelection"
7979
[forceSvg]="forceSvg$ | async"
8080
[userViewBox]="userViewBox$ | async"
81+
[disableTooltip]="disableTooltip"
8182
(onTimeSelectionChanged)="onTimeSelectionChanged($event)"
8283
(onStepSelectorToggled)="onStepSelectorToggled($event)"
8384
(onLineChartZoom)="onLineChartZoom($event)"
@@ -109,6 +110,7 @@ export class ScalarCardLineChartContainer
109110
@Input() ignoreOutliers?: boolean;
110111
@Input() disableUpdate?: boolean = false;
111112
@Input() tooltipTemplate?: TooltipTemplate;
113+
@Input() disableTooltip?: boolean = false;
112114

113115
@ViewChild(ScalarCardLineChartComponent)
114116
scalarCardLineChart?: ScalarCardLineChartComponent;

tensorboard/webapp/widgets/line_chart_v2/line_chart_component.ng.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
[tooltipOriginEl]="overlayTarget"
5151
[domDim]="domDimensions.main"
5252
[tooltipTemplate]="tooltipTemplate"
53+
[disableTooltip]="disableTooltip"
5354
(onViewExtentChange)="onViewBoxChanged($event)"
5455
(onViewExtentReset)="viewBoxReset()"
5556
(onInteractionStateChange)="onInteractionStateChange($event)"

tensorboard/webapp/widgets/line_chart_v2/line_chart_component.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,8 @@ export class LineChartComponent
142142
@Input()
143143
lineOnly?: boolean = false;
144144

145+
@Input() disableTooltip?: boolean = false;
146+
145147
@Output()
146148
viewBoxChanged = new EventEmitter<Extent | null>();
147149

tensorboard/webapp/widgets/line_chart_v2/sub_view/line_chart_interactive_view.ng.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
#tooltipOrigin="cdkOverlayOrigin"
5353
></div>
5454
<ng-template
55+
*ngIf="!disableTooltip"
5556
cdkConnectedOverlay
5657
[cdkConnectedOverlayOrigin]="tooltipOriginEl"
5758
[cdkConnectedOverlayOpen]="tooltipDisplayAttached && state.getValue() === InteractionState.NONE"

tensorboard/webapp/widgets/line_chart_v2/sub_view/line_chart_interactive_view.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ export class LineChartInteractiveViewComponent
132132
@Input()
133133
tooltipTemplate?: TooltipTemplate;
134134

135+
@Input() disableTooltip?: boolean;
136+
135137
@Output()
136138
onViewExtentChange = new EventEmitter<{dataExtent: Extent}>();
137139

tensorboard/webapp/widgets/line_chart_v2/sub_view/line_chart_interactive_view_test.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ interface Coord {
4848
[yScale]="yScale"
4949
[domDim]="domDim"
5050
[tooltipOriginEl]="tooltipOrigin"
51+
[disableTooltip]="disableTooltip"
5152
(onViewExtentChange)="onViewExtentChange($event)"
5253
(onViewExtentReset)="onViewExtentReset()"
5354
(onInteractionStateChange)="onInteractionStateChange($event)"
@@ -83,6 +84,9 @@ class TestableComponent {
8384
@Input()
8485
domDim!: Dimension;
8586

87+
@Input()
88+
disableTooltip: boolean = false;
89+
8690
@Input()
8791
onViewExtentChange!: (extent: Extent) => void;
8892

@@ -274,6 +278,17 @@ describe('line_chart_v2/sub_view/interactive_view test', () => {
274278
expect(overlayContainer.getContainerElement().childElementCount).toBe(0);
275279
});
276280

281+
it('does not render tooltip when disableTooltip is true', () => {
282+
const fixture = createComponent();
283+
fixture.componentInstance.disableTooltip = true;
284+
fixture.detectChanges();
285+
286+
emitEvent(fixture, 'mouseenter', {clientX: 10, clientY: 10});
287+
fixture.detectChanges();
288+
289+
expect(overlayContainer.getContainerElement().childElementCount).toBe(0);
290+
});
291+
277292
it('omits data series that does not have the metadata or series', () => {
278293
const fixture = createComponent();
279294
fixture.componentInstance.seriesData = [

0 commit comments

Comments
 (0)