mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
fix issue with setting false (#9611)
This commit is contained in:
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
import { dispose, Disposable } from 'vs/base/common/lifecycle';
|
import { dispose, Disposable } from 'vs/base/common/lifecycle';
|
||||||
import { Event, Emitter } from 'vs/base/common/event';
|
import { Event, Emitter } from 'vs/base/common/event';
|
||||||
|
import { isUndefined } from 'vs/base/common/types';
|
||||||
|
|
||||||
export class GridPanelState {
|
export class GridPanelState {
|
||||||
public tableStates: GridTableState[] = [];
|
public tableStates: GridTableState[] = [];
|
||||||
@@ -30,7 +31,7 @@ export class GridTableState extends Disposable {
|
|||||||
/* The top row of the current scroll */
|
/* The top row of the current scroll */
|
||||||
public scrollPositionY = 0;
|
public scrollPositionY = 0;
|
||||||
public scrollPositionX = 0;
|
public scrollPositionX = 0;
|
||||||
public columnSizes?: number[] = undefined;
|
public columnSizes?: number[];
|
||||||
public selection?: Slick.Range[];
|
public selection?: Slick.Range[];
|
||||||
public activeCell?: Slick.Cell;
|
public activeCell?: Slick.Cell;
|
||||||
|
|
||||||
@@ -43,7 +44,7 @@ export class GridTableState extends Disposable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public set canBeMaximized(val: boolean | undefined) {
|
public set canBeMaximized(val: boolean | undefined) {
|
||||||
if (!val || val === this._canBeMaximized) {
|
if (isUndefined(val) || val === this._canBeMaximized) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this._canBeMaximized = val;
|
this._canBeMaximized = val;
|
||||||
@@ -55,7 +56,7 @@ export class GridTableState extends Disposable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public set maximized(val: boolean | undefined) {
|
public set maximized(val: boolean | undefined) {
|
||||||
if (!val || val === this._maximized) {
|
if (isUndefined(val) || val === this._maximized) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this._maximized = val;
|
this._maximized = val;
|
||||||
@@ -10,7 +10,7 @@ import { TopOperationsState } from 'sql/workbench/common/editor/query/topOperati
|
|||||||
import { ChartState } from 'sql/workbench/common/editor/query/chartState';
|
import { ChartState } from 'sql/workbench/common/editor/query/chartState';
|
||||||
import { QueryPlanState } from 'sql/workbench/common/editor/query/queryPlanState';
|
import { QueryPlanState } from 'sql/workbench/common/editor/query/queryPlanState';
|
||||||
import { MessagePanelState } from 'sql/workbench/common/editor/query/messagePanelState';
|
import { MessagePanelState } from 'sql/workbench/common/editor/query/messagePanelState';
|
||||||
import { GridPanelState } from 'sql/workbench/common/editor/query/gridPanelState';
|
import { GridPanelState } from 'sql/workbench/common/editor/query/gridTableState';
|
||||||
import { QueryModelViewState } from 'sql/workbench/common/editor/query/modelViewState';
|
import { QueryModelViewState } from 'sql/workbench/common/editor/query/modelViewState';
|
||||||
import { URI } from 'vs/base/common/uri';
|
import { URI } from 'vs/base/common/uri';
|
||||||
|
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import { AngularDisposable } from 'sql/base/browser/lifecycle';
|
|||||||
import { IMimeComponent } from 'sql/workbench/contrib/notebook/browser/outputs/mimeRegistry';
|
import { IMimeComponent } from 'sql/workbench/contrib/notebook/browser/outputs/mimeRegistry';
|
||||||
import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces';
|
import { ICellModel } from 'sql/workbench/services/notebook/browser/models/modelInterfaces';
|
||||||
import { MimeModel } from 'sql/workbench/services/notebook/browser/outputs/mimemodel';
|
import { MimeModel } from 'sql/workbench/services/notebook/browser/outputs/mimemodel';
|
||||||
import { GridTableState } from 'sql/workbench/common/editor/query/gridPanelState';
|
import { GridTableState } from 'sql/workbench/common/editor/query/gridTableState';
|
||||||
import { GridTableBase } from 'sql/workbench/contrib/query/browser/gridPanel';
|
import { GridTableBase } from 'sql/workbench/contrib/query/browser/gridPanel';
|
||||||
import { getErrorMessage } from 'vs/base/common/errors';
|
import { getErrorMessage } from 'vs/base/common/errors';
|
||||||
import { ISerializationService, SerializeDataParams } from 'sql/platform/serialization/common/serializationService';
|
import { ISerializationService, SerializeDataParams } from 'sql/platform/serialization/common/serializationService';
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import { removeAnsiEscapeCodes } from 'vs/base/common/strings';
|
|||||||
import { IGridDataProvider } from 'sql/workbench/services/query/common/gridDataProvider';
|
import { IGridDataProvider } from 'sql/workbench/services/query/common/gridDataProvider';
|
||||||
import { INotificationService } from 'vs/platform/notification/common/notification';
|
import { INotificationService } from 'vs/platform/notification/common/notification';
|
||||||
import QueryRunner from 'sql/workbench/services/query/common/queryRunner';
|
import QueryRunner from 'sql/workbench/services/query/common/queryRunner';
|
||||||
import { GridTableState } from 'sql/workbench/common/editor/query/gridPanelState';
|
import { GridTableState } from 'sql/workbench/common/editor/query/gridTableState';
|
||||||
import * as Constants from 'sql/workbench/contrib/extensions/common/constants';
|
import * as Constants from 'sql/workbench/contrib/extensions/common/constants';
|
||||||
import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry';
|
import { IAdsTelemetryService } from 'sql/platform/telemetry/common/telemetry';
|
||||||
import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys';
|
import * as TelemetryKeys from 'sql/platform/telemetry/common/telemetryKeys';
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ import { localize } from 'vs/nls';
|
|||||||
import { IGridDataProvider } from 'sql/workbench/services/query/common/gridDataProvider';
|
import { IGridDataProvider } from 'sql/workbench/services/query/common/gridDataProvider';
|
||||||
import { formatDocumentWithSelectedProvider, FormattingMode } from 'vs/editor/contrib/format/format';
|
import { formatDocumentWithSelectedProvider, FormattingMode } from 'vs/editor/contrib/format/format';
|
||||||
import { CancellationToken } from 'vs/base/common/cancellation';
|
import { CancellationToken } from 'vs/base/common/cancellation';
|
||||||
import { GridPanelState, GridTableState } from 'sql/workbench/common/editor/query/gridPanelState';
|
import { GridPanelState, GridTableState } from 'sql/workbench/common/editor/query/gridTableState';
|
||||||
import { IUntitledTextEditorService } from 'vs/workbench/services/untitled/common/untitledTextEditorService';
|
import { IUntitledTextEditorService } from 'vs/workbench/services/untitled/common/untitledTextEditorService';
|
||||||
import { SaveFormat } from 'sql/workbench/services/query/common/resultSerializer';
|
import { SaveFormat } from 'sql/workbench/services/query/common/resultSerializer';
|
||||||
import { Progress } from 'vs/platform/progress/common/progress';
|
import { Progress } from 'vs/platform/progress/common/progress';
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ import { QueryPlanTab } from 'sql/workbench/contrib/queryPlan/browser/queryPlan'
|
|||||||
import { TopOperationsTab } from 'sql/workbench/contrib/queryPlan/browser/topOperations';
|
import { TopOperationsTab } from 'sql/workbench/contrib/queryPlan/browser/topOperations';
|
||||||
import { QueryModelViewTab } from 'sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab';
|
import { QueryModelViewTab } from 'sql/workbench/contrib/query/browser/modelViewTab/queryModelViewTab';
|
||||||
import { MessagePanelState } from 'sql/workbench/common/editor/query/messagePanelState';
|
import { MessagePanelState } from 'sql/workbench/common/editor/query/messagePanelState';
|
||||||
import { GridPanelState } from 'sql/workbench/common/editor/query/gridPanelState';
|
import { GridPanelState } from 'sql/workbench/common/editor/query/gridTableState';
|
||||||
|
|
||||||
import * as nls from 'vs/nls';
|
import * as nls from 'vs/nls';
|
||||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||||
|
|||||||
@@ -0,0 +1,62 @@
|
|||||||
|
/*---------------------------------------------------------------------------------------------
|
||||||
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||||
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||||
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
|
import { GridTableState } from 'sql/workbench/common/editor/query/gridTableState';
|
||||||
|
import * as assert from 'assert';
|
||||||
|
import { isUndefined } from 'vs/base/common/types';
|
||||||
|
import { Event } from 'vs/base/common/event';
|
||||||
|
|
||||||
|
suite('Grid Table State', () => {
|
||||||
|
test('inital state is correct', () => {
|
||||||
|
const resultId = 0;
|
||||||
|
const batchId = 0;
|
||||||
|
const state = new GridTableState(resultId, batchId);
|
||||||
|
|
||||||
|
assert.equal(state.resultId, resultId);
|
||||||
|
assert.equal(state.batchId, batchId);
|
||||||
|
assert(isUndefined(state.canBeMaximized));
|
||||||
|
assert(isUndefined(state.maximized));
|
||||||
|
assert.equal(state.scrollPositionX, 0);
|
||||||
|
assert.equal(state.scrollPositionY, 0);
|
||||||
|
assert(isUndefined(state.columnSizes));
|
||||||
|
assert(isUndefined(state.selection));
|
||||||
|
assert(isUndefined(state.activeCell));
|
||||||
|
});
|
||||||
|
|
||||||
|
test('does set properties correctly', async () => {
|
||||||
|
const state = new GridTableState(0, 0);
|
||||||
|
let event = await new Promise<boolean>(resolve => {
|
||||||
|
Event.once(state.onCanBeMaximizedChange)(e => resolve(e));
|
||||||
|
state.canBeMaximized = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
assert.equal(event, true);
|
||||||
|
assert.equal(state.canBeMaximized, true);
|
||||||
|
|
||||||
|
event = await new Promise<boolean>(resolve => {
|
||||||
|
Event.once(state.onCanBeMaximizedChange)(e => resolve(e));
|
||||||
|
state.canBeMaximized = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
assert.equal(event, false);
|
||||||
|
assert.equal(state.canBeMaximized, false);
|
||||||
|
|
||||||
|
event = await new Promise<boolean>(resolve => {
|
||||||
|
Event.once(state.onMaximizedChange)(e => resolve(e));
|
||||||
|
state.maximized = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
assert.equal(event, true);
|
||||||
|
assert.equal(state.maximized, true);
|
||||||
|
|
||||||
|
event = await new Promise<boolean>(resolve => {
|
||||||
|
Event.once(state.onMaximizedChange)(e => resolve(e));
|
||||||
|
state.maximized = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
assert.equal(event, false);
|
||||||
|
assert.equal(state.maximized, false);
|
||||||
|
});
|
||||||
|
});
|
||||||
Reference in New Issue
Block a user