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); + } } } }