Skip to content

Commit c9a398f

Browse files
authored
HParams: Close the context menu after a column is removed (#6472)
## Motivation for features / changes This is a bug fix. When removing a column via the context menu the context menu should immediately close. ## Screenshots of UI changes (or N/A) It closes now ![21dfb5be-cf29-4c10-ae55-0de19e284166](https://github.com/tensorflow/tensorboard/assets/78179109/b41061db-b972-46be-afaf-a5f4bcb13fec)
1 parent 8e206cd commit c9a398f

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

tensorboard/webapp/widgets/data_table/data_table_component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ export class DataTableComponent implements OnDestroy, AfterContentInit {
287287
return;
288288
}
289289
this.removeColumn.emit(this.contextMenuHeader);
290+
this.contextMenu.close();
290291
}
291292

292293
private getInsertIndex() {

tensorboard/webapp/widgets/data_table/data_table_test.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,7 @@ describe('data table', () => {
715715
});
716716
});
717717

718-
it('removes column when Remove button is clicked', fakeAsync(() => {
718+
it('removes column when Remove button is clicked', () => {
719719
const fixture = createComponent({
720720
headers: mockHeaders,
721721
data: mockTableData,
@@ -727,19 +727,16 @@ describe('data table', () => {
727727
cell.nativeElement.dispatchEvent(new MouseEvent('contextmenu'));
728728
fixture.detectChanges();
729729

730-
let columnRemoved: ColumnHeader | undefined = undefined;
731-
fixture.componentInstance.removeColumn.subscribe((event) => {
732-
columnRemoved = event;
733-
});
734-
730+
spyOn(fixture.componentInstance.removeColumn, 'emit');
735731
fixture.debugElement
736732
.queryAll(By.css('.context-menu button'))
737733
.find((btn) => btn.nativeElement.innerHTML.includes('Remove'))!
738734
.nativeElement.click();
739-
flush();
735+
fixture.detectChanges();
740736

741-
expect(columnRemoved).toBeDefined();
742-
}));
737+
expect(fixture.componentInstance.removeColumn.emit).toHaveBeenCalled();
738+
expect(fixture.debugElement.query(By.css('.context-menu'))).toBeNull();
739+
});
743740

744741
it('does not include add buttons when there are no selectable columns', () => {
745742
const fixture = createComponent({

0 commit comments

Comments
 (0)