From 724c49f5c43075a351368ac1415f0783f9a6470a Mon Sep 17 00:00:00 2001 From: Alan Ren Date: Wed, 24 Oct 2018 11:02:08 -0700 Subject: [PATCH] Fix for issue 2725 and ux fixes (#2992) --- src/sql/parts/profiler/contrib/profilerActions.ts | 4 ++-- .../parts/profiler/dialog/profilerColumnEditorDialog.ts | 2 +- .../profiler/editor/controller/profilerTableEditor.ts | 1 + src/sql/parts/profiler/editor/profilerEditor.ts | 5 +++++ src/sql/parts/profiler/media/clear.svg | 1 + src/sql/parts/profiler/media/clear_inverse.svg | 1 + .../media/profilerDialog.css => media/profiler.css} | 8 ++++++++ 7 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 src/sql/parts/profiler/media/clear.svg create mode 100644 src/sql/parts/profiler/media/clear_inverse.svg rename src/sql/parts/profiler/{dialog/media/profilerDialog.css => media/profiler.css} (76%) diff --git a/src/sql/parts/profiler/contrib/profilerActions.ts b/src/sql/parts/profiler/contrib/profilerActions.ts index 5a0ba66685..80ff675f23 100644 --- a/src/sql/parts/profiler/contrib/profilerActions.ts +++ b/src/sql/parts/profiler/contrib/profilerActions.ts @@ -4,7 +4,7 @@ *--------------------------------------------------------------------------------------------*/ 'use strict'; - +import 'vs/css!sql/parts/profiler/media/profiler'; import { IProfilerService } from 'sql/parts/profiler/service/interfaces'; import { IProfilerController } from 'sql/parts/profiler/editor/controller/interfaces'; import { ProfilerInput } from 'sql/parts/profiler/editor/profilerInput'; @@ -157,7 +157,7 @@ export class ProfilerClear extends Action { public static LABEL = nls.localize('profiler.clear', "Clear Data"); constructor(id: string, label: string) { - super(id, label); + super(id, label, 'clear-results'); } run(input: ProfilerInput): TPromise { diff --git a/src/sql/parts/profiler/dialog/profilerColumnEditorDialog.ts b/src/sql/parts/profiler/dialog/profilerColumnEditorDialog.ts index c9717a0a64..e9813adee2 100644 --- a/src/sql/parts/profiler/dialog/profilerColumnEditorDialog.ts +++ b/src/sql/parts/profiler/dialog/profilerColumnEditorDialog.ts @@ -3,7 +3,7 @@ * Licensed under the Source EULA. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ 'use strict'; -import 'vs/css!./media/profilerDialog'; +import 'vs/css!sql/parts/profiler/media/profiler'; import { Modal } from 'sql/base/browser/ui/modal/modal'; import { attachModalDialogStyler } from 'sql/common/theme/styler'; diff --git a/src/sql/parts/profiler/editor/controller/profilerTableEditor.ts b/src/sql/parts/profiler/editor/controller/profilerTableEditor.ts index a2cf99038a..d0257aeef8 100644 --- a/src/sql/parts/profiler/editor/controller/profilerTableEditor.ts +++ b/src/sql/parts/profiler/editor/controller/profilerTableEditor.ts @@ -113,6 +113,7 @@ export class ProfilerTableEditor extends BaseEditor implements IProfilerControll this._stateListener.dispose(); } this._stateListener = input.state.addChangeListener(e => this._onStateChange(e)); + input.data.onRowCountChange(() => { this._profilerTable.updateRowCount(); }); if (this._findCountChangeListener) { this._findCountChangeListener.dispose(); diff --git a/src/sql/parts/profiler/editor/profilerEditor.ts b/src/sql/parts/profiler/editor/profilerEditor.ts index 11a2f8ee85..d59a941b6f 100644 --- a/src/sql/parts/profiler/editor/profilerEditor.ts +++ b/src/sql/parts/profiler/editor/profilerEditor.ts @@ -252,6 +252,7 @@ export class ProfilerEditor extends BaseEditor { { action: this._pauseAction }, { action: this._autoscrollAction }, { action: this._instantiationService.createInstance(Actions.ProfilerClear, Actions.ProfilerClear.ID, Actions.ProfilerClear.LABEL) }, + { element: Taskbar.createTaskbarSeparator() }, { element: viewTemplateContainer }, { element: Taskbar.createTaskbarSeparator() }, { element: this._connectionInfoText } @@ -344,6 +345,10 @@ export class ProfilerEditor extends BaseEditor { ] }, { forceFitColumns: true }); + this._detailTableData.onRowCountChange(() => { + this._detailTable.updateRowCount(); + }); + this._tabbedPanel.pushTab({ identifier: 'detailTable', title: nls.localize('details', "Details"), diff --git a/src/sql/parts/profiler/media/clear.svg b/src/sql/parts/profiler/media/clear.svg new file mode 100644 index 0000000000..ef02703e10 --- /dev/null +++ b/src/sql/parts/profiler/media/clear.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/sql/parts/profiler/media/clear_inverse.svg b/src/sql/parts/profiler/media/clear_inverse.svg new file mode 100644 index 0000000000..85e7ec4bda --- /dev/null +++ b/src/sql/parts/profiler/media/clear_inverse.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/sql/parts/profiler/dialog/media/profilerDialog.css b/src/sql/parts/profiler/media/profiler.css similarity index 76% rename from src/sql/parts/profiler/dialog/media/profilerDialog.css rename to src/sql/parts/profiler/media/profiler.css index e36eaea52b..bc7b9a8d11 100644 --- a/src/sql/parts/profiler/dialog/media/profilerDialog.css +++ b/src/sql/parts/profiler/media/profiler.css @@ -11,3 +11,11 @@ .tree-row > * { display: inline-block; } + +.vs .icon.clear-results { + background-image: url('clear.svg'); +} + +.vs-dark .icon.clear-results { + background-image: url('clear_inverse.svg'); +} \ No newline at end of file