Revert Messages Collapse behavior (#4757)

* Revert "change sizing behavior to allow the messages to fulling collapse down (set results to have no max height) (#4313)"

This reverts commit 7de294a58e.

* Revert "Grid scrolling bugs (#4396)"

This reverts commit ace6012c1c.
This commit is contained in:
Karl Burtram
2019-03-28 18:09:58 -07:00
committed by GitHub
parent 1415aa1c03
commit cb3cbd0d78
3 changed files with 67 additions and 59 deletions

View File

@@ -35,7 +35,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService';
import { ViewletPanel, IViewletPanelOptions } from 'vs/workbench/browser/parts/views/panelViewlet';
import { isUndefinedOrNull } from 'vs/base/common/types';
import { range } from 'vs/base/common/arrays';
import { Orientation, Sizing } from 'vs/base/browser/ui/splitview/splitview';
import { Orientation } from 'vs/base/browser/ui/splitview/splitview';
import { Disposable, IDisposable, dispose } from 'vs/base/common/lifecycle';
import { generateUuid } from 'vs/base/common/uuid';
import { Separator, ActionBar, ActionsOrientation } from 'vs/base/browser/ui/actionbar/actionbar';
@@ -144,7 +144,6 @@ export class GridPanel extends ViewletPanel {
@IInstantiationService private instantiationService: IInstantiationService
) {
super(options, keybindingService, contextMenuService, configurationService);
this.maximumBodySize = 0;
this.splitView = new ScrollableSplitView(this.container, { enableResizing: false, verticalScrollbarVisibility: ScrollbarVisibility.Visible });
this.splitView.onScroll(e => {
if (this.state && this.splitView.length !== 0) {
@@ -195,6 +194,9 @@ export class GridPanel extends ViewletPanel {
}
return p;
}, []));
this.maximumBodySize = this.tables.reduce((p, c) => {
return p + c.maximumSize;
}, 0);
if (this.state && this.state.scrollPosition) {
this.splitView.setScrollPosition(this.state.scrollPosition);
@@ -217,6 +219,10 @@ export class GridPanel extends ViewletPanel {
t.state.canBeMaximized = this.tables.length > 1;
});
this.maximumBodySize = this.tables.reduce((p, c) => {
return p + c.maximumSize;
}, 0);
if (this.state && this.state.scrollPosition) {
this.splitView.setScrollPosition(this.state.scrollPosition);
}
@@ -243,6 +249,9 @@ export class GridPanel extends ViewletPanel {
}
const sizeChanges = () => {
this.maximumBodySize = this.tables.reduce((p, c) => {
return p + c.maximumSize;
}, 0);
if (this.state && this.state.scrollPosition) {
this.splitView.setScrollPosition(this.state.scrollPosition);
@@ -269,9 +278,6 @@ export class GridPanel extends ViewletPanel {
}
private addResultSet(resultSet: azdata.ResultSetSummary[]) {
if (resultSet.length > 0) {
this.maximumBodySize = Number.POSITIVE_INFINITY;
}
let tables: GridTable<any>[] = [];
for (let set of resultSet) {
@@ -301,7 +307,7 @@ export class GridPanel extends ViewletPanel {
// possible to need a sort?
if (isUndefinedOrNull(this.maximizedGrid)) {
this.splitView.addViews(tables, Sizing.Distribute, this.splitView.length);
this.splitView.addViews(tables, tables.map(i => i.minimumSize), this.splitView.length);
}
this.tables = this.tables.concat(tables);
@@ -315,12 +321,15 @@ export class GridPanel extends ViewletPanel {
for (let i = this.splitView.length - 1; i >= 0; i--) {
this.splitView.removeView(i);
}
this.maximumBodySize = 0;
dispose(this.tables);
dispose(this.tableDisposable);
this.tableDisposable = [];
this.tables = [];
this.maximizedGrid = undefined;
this.maximumBodySize = this.tables.reduce((p, c) => {
return p + c.maximumSize;
}, 0);
}
private maximizeTable(tableid: string): void {
@@ -344,7 +353,7 @@ export class GridPanel extends ViewletPanel {
this.maximizedGrid.state.maximized = false;
this.maximizedGrid = undefined;
this.splitView.removeView(0);
this.splitView.addViews(this.tables, Sizing.Distribute);
this.splitView.addViews(this.tables, this.tables.map(i => i.minimumSize));
}
}
@@ -715,7 +724,7 @@ class GridTable<T> extends Disposable implements IView {
}
public get maximumSize(): number {
return Number.POSITIVE_INFINITY;
return Math.max(this.maxSize, ACTIONBAR_HEIGHT + BOTTOM_PADDING);
}
private loadData(offset: number, count: number): Thenable<T[]> {