diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.html b/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.html
index cdef1f0f20..0a5d144eb1 100644
--- a/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.html
+++ b/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.html
@@ -6,5 +6,4 @@
-->
-
diff --git a/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.ts b/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.ts
index 5725a93774..ea42532455 100644
--- a/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.ts
+++ b/src/sql/workbench/contrib/notebook/browser/cellViews/collapse.component.ts
@@ -18,7 +18,12 @@ export const COLLAPSE_SELECTOR: string = 'collapse-component';
export class CollapseComponent extends CellView implements OnInit, OnChanges {
@ViewChild('collapseCellButton', { read: ElementRef }) private collapseCellButtonElement: ElementRef;
- @ViewChild('expandCellButton', { read: ElementRef }) private expandCellButtonElement: ElementRef;
+
+ private readonly expandButtonTitle = localize('expandCellContents', "Expand code cell contents");
+ private readonly expandButtonClass = 'icon-show-cell';
+
+ private readonly collapseButtonTitle = localize('collapseCellContents', "Collapse code cell contents");
+ private readonly collapseButtonClass = 'icon-hide-cell';
@Input() cellModel: ICellModel;
@Input() activeCellId: string;
@@ -28,8 +33,6 @@ export class CollapseComponent extends CellView implements OnInit, OnChanges {
}
ngOnInit() {
- this.collapseCellButtonElement.nativeElement.title = localize('collapseCellContents', "Collapse code cell contents");
- this.expandCellButtonElement.nativeElement.title = localize('expandCellContents', "Expand code cell contents");
}
ngOnChanges(changes: { [propKey: string]: SimpleChange }) {
@@ -47,13 +50,14 @@ export class CollapseComponent extends CellView implements OnInit, OnChanges {
private handleCellCollapse(isCollapsed: boolean): void {
let collapseButton = this.collapseCellButtonElement.nativeElement;
- let expandButton = this.expandCellButtonElement.nativeElement;
if (isCollapsed) {
- collapseButton.style.display = 'none';
- expandButton.style.display = 'block';
+ collapseButton.classList.remove(this.collapseButtonClass);
+ collapseButton.classList.add(this.expandButtonClass);
+ collapseButton.title = this.expandButtonTitle;
} else {
- collapseButton.style.display = 'block';
- expandButton.style.display = 'none';
+ collapseButton.classList.remove(this.expandButtonClass);
+ collapseButton.classList.add(this.collapseButtonClass);
+ collapseButton.title = this.collapseButtonTitle;
}
}
@@ -74,11 +78,12 @@ export class CollapseComponent extends CellView implements OnInit, OnChanges {
public toggleIconVisibility(isActiveOrHovered: boolean) {
let collapseButton = this.collapseCellButtonElement.nativeElement;
- let buttonClass = 'icon-hide-cell';
- if (isActiveOrHovered) {
- collapseButton.classList.add(buttonClass);
- } else {
- collapseButton.classList.remove(buttonClass);
+ if (collapseButton.title === this.collapseButtonTitle) {
+ if (isActiveOrHovered) {
+ collapseButton.classList.add(this.collapseButtonClass);
+ } else {
+ collapseButton.classList.remove(this.collapseButtonClass);
+ }
}
}
}