Compare commits

..

13 Commits

Author SHA1 Message Date
Matt Irvine
216b6eecc0 Fix chart error that caused query editor to close (#2652) 2018-09-20 14:29:05 -07:00
Alan Ren
c0917e9276 reload the chart types when we actually need it (#2651) 2018-09-20 12:38:36 -07:00
Abbie Petchtes
0bbcbf0d2d fix css issue (#2650) 2018-09-20 12:16:20 -07:00
Aditya Bist
9b998e3fca fixed right click context menu bug in jobs view (#2632) 2018-09-19 20:19:48 -07:00
Matt Irvine
d7d65cdf21 Fix broken 'Clear Token Cache' command (#2643) 2018-09-19 18:31:23 -07:00
Matt Irvine
27925289d4 Scroll query editor when clicking batch links (#2644) 2018-09-19 17:27:10 -07:00
Anthony Dresser
03ea265bab Hide tabs on reexecute (#2624)
* add logic to hide tabs when a query rerun is executed

* remove double entry in the map
2018-09-18 17:56:37 -07:00
Abbie Petchtes
917f9eead3 Feat/add dom component (#2622)
* add dom component for model view

* formatting

* make css style hardcoded in dom.component

* comment out the unused CSS

* address comments

* address comment
2018-09-18 17:23:26 -07:00
Karl Burtram
08f2e72af8 Bump SQL Tools Service to 1.5.0-alpha.34 (#2621) 2018-09-18 14:57:59 -07:00
Aditya Bist
a2fb0ec029 fixed actual show plan command (#2620) 2018-09-18 13:42:14 -07:00
ranasaria
084042ad13 Bug/oetimeout Fix - When timeout happens while fetching node children, the node becomes unusable (#2616)
This commit fixes issue when multiple OE nodes are expanded simultaneously. While the error was getting displayed the node was left in incorrect state which was leading to the node being unusable in future. This commit repairs this defect.
2018-09-18 13:41:14 -07:00
AlexFsmn
8da3defe24 Added text underline CSS for DB NULL values when editing / showing data (#2597)
* Added text underline CSS for DB NULL values when editing / showing data
#217

* Changed db nulls styling to italic
2018-09-18 12:30:32 -07:00
Karl Burtram
58f9cd32a5 Update SQL Ops to 0.33.7 2018-09-18 12:12:23 -07:00
8 changed files with 54 additions and 59 deletions

View File

@@ -20,7 +20,7 @@ let localize = nls.loadMessageBundle();
export class AzureAccountProviderService implements vscode.Disposable {
// CONSTANTS ///////////////////////////////////////////////////////////////
private static CommandClearTokenCache = 'accounts.azure.clearTokenCache';
private static CommandClearTokenCache = 'accounts.clearTokenCache';
private static ConfigurationSection = 'accounts.azure';
private static CredentialNamespace = 'azureAccountProviderCredentials';

View File

@@ -1,6 +1,6 @@
{
"name": "sqlops",
"version": "0.32.9",
"version": "0.33.7",
"distro": "8c3e97e3425cc9814496472ab73e076de2ba99ee",
"author": {
"name": "Microsoft Corporation"

View File

@@ -70,8 +70,7 @@ export abstract class JobManagementView extends TabChild implements AfterContent
abstract onFirstVisible();
protected openContextMenu(event): void {
let grid = this._table.grid;
let rowIndex = grid.getCellFromEvent(event).row;
let rowIndex = event.cell.row;
let targetObject = this.getCurrentTableObject(rowIndex);
let actions = this.getTableActions();

View File

@@ -100,12 +100,11 @@ modelview-dom-component img {
max-height: 100%;
}
modelview-dom-component a, a:link{
modelview-dom-component a, modelview-dom-component a:link{
text-decoration: none;
color: rgb(0, 0, 238) !important;
}
modelview-dom-component a:hover, a:link {
modelview-dom-component a:hover, modelview-dom-component a:link {
text-decoration: underline;
}

View File

@@ -12,12 +12,13 @@ import { Insight } from './insights/insight';
import QueryRunner from 'sql/parts/query/execution/queryRunner';
import { IInsightData } from 'sql/parts/dashboard/widgets/insights/interfaces';
import { ChartOptions, IChartOption, ControlType } from './chartOptions';
import { Extensions, IInsightRegistry } from 'sql/platform/dashboard/common/insightRegistry';
import { Checkbox } from 'sql/base/browser/ui/checkbox/checkbox';
import { IInsightOptions } from './insights/interfaces';
import { CopyAction, SaveImageAction, CreateInsightAction, IChartActionContext } from './actions';
import { Taskbar } from 'sql/base/browser/ui/taskbar/taskbar';
import { ChartType } from 'sql/parts/dashboard/widgets/insights/views/charts/interfaces';
import { Registry } from 'vs/platform/registry/common/platform';
import { Dimension, $, getContentHeight, getContentWidth } from 'vs/base/browser/dom';
import { SelectBox } from 'vs/base/browser/ui/selectBox/selectBox';
import { IContextViewService, IContextMenuService } from 'vs/platform/contextview/browser/contextView';
@@ -40,6 +41,8 @@ declare class Proxy {
constructor(object, handler);
}
const insightRegistry = Registry.as<IInsightRegistry>(Extensions.InsightContribution);
export class ChartView implements IPanelView {
private insight: Insight;
private _queryRunner: QueryRunner;
@@ -123,6 +126,7 @@ export class ChartView implements IPanelView {
}
}) as IInsightOptions;
ChartOptions.general[0].options = insightRegistry.getAllIds();
ChartOptions.general.map(o => {
this.createOption(o, generalControls);
});
@@ -315,7 +319,7 @@ export class ChartView implements IPanelView {
});
setFunc = (val: string) => {
if (!isUndefinedOrNull(val)) {
input.value = val;
numberInput.value = val;
}
};
this.optionDisposables.push(attachInputBoxStyler(numberInput, this._themeService));
@@ -330,7 +334,7 @@ export class ChartView implements IPanelView {
this._state = val;
if (this.state.options) {
for (let key in this.state.options) {
if (this.state.options.hasOwnProperty(key)) {
if (this.state.options.hasOwnProperty(key) && this.optionMap[key]) {
this.options[key] = this.state.options[key];
this.optionMap[key].set(this.state.options[key]);
}

View File

@@ -29,6 +29,7 @@ import { isArray, isUndefinedOrNull } from 'vs/base/common/types';
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
import { IEditor } from 'vs/editor/common/editorCommon';
import { QueryInput } from 'sql/parts/query/common/queryInput';
export interface IResultMessageIntern extends IResultMessage {
id?: string;
@@ -302,14 +303,8 @@ export class MessageController extends WorkbenchTreeController {
if (element.selection) {
let selection: ISelectionData = element.selection;
// this is a batch statement
let control = this.workbenchEditorService.activeControl.getControl() as IEditor;
control.setSelection({
startColumn: selection.startColumn + 1,
endColumn: selection.endColumn + 1,
endLineNumber: selection.endLine + 1,
startLineNumber: selection.startLine + 1
});
control.focus();
let input = this.workbenchEditorService.activeEditor as QueryInput;
input.updateSelection(selection);
}
return true;

View File

@@ -32,7 +32,7 @@ Registry.as<IConfigurationRegistry>(ConfigExtensions.Configuration).registerConf
'properties': {
'workbench.enablePreviewFeatures': {
'type': 'boolean',
'default': true,
'default': undefined,
'description': nls.localize('previewFeatures.configEnable', 'Enable unreleased preview features')
}
}

View File

@@ -27,46 +27,44 @@ export class EnablePreviewFeatures implements IWorkbenchContribution {
@ITelemetryService telemetryService: ITelemetryService,
@IConfigurationService configurationService: IConfigurationService
) {
return;
let previewFeaturesEnabled = configurationService.getValue('workbench')['enablePreviewFeatures'];
if (previewFeaturesEnabled || storageService.get(EnablePreviewFeatures.ENABLE_PREVIEW_FEATURES_SHOWN)) {
return;
}
Promise.all([
windowService.isFocused(),
windowsService.getWindowCount()
]).then(([focused, count]) => {
if (!focused && count > 1) {
return null;
}
configurationService.updateValue('workbench.enablePreviewFeatures', false);
// let previewFeaturesEnabled = configurationService.getValue('workbench')['enablePreviewFeatures'];
// if (previewFeaturesEnabled || storageService.get(EnablePreviewFeatures.ENABLE_PREVIEW_FEATURES_SHOWN)) {
// return;
// }
// Promise.all([
// windowService.isFocused(),
// windowsService.getWindowCount()
// ]).then(([focused, count]) => {
// if (!focused && count > 1) {
// return null;
// }
// configurationService.updateValue('workbench.enablePreviewFeatures', false);
// const enablePreviewFeaturesNotice = localize('enablePreviewFeatures.notice', "Would you like to enable preview features?");
// notificationService.prompt(
// Severity.Info,
// enablePreviewFeaturesNotice,
// [{
// label: localize('enablePreviewFeatures.yes', "Yes"),
// run: () => {
// configurationService.updateValue('workbench.enablePreviewFeatures', true);
// storageService.store(EnablePreviewFeatures.ENABLE_PREVIEW_FEATURES_SHOWN, true);
// }
// }, {
// label: localize('enablePreviewFeatures.no', "No"),
// run: () => {
// configurationService.updateValue('workbench.enablePreviewFeatures', false);
// }
// }, {
// label: localize('enablePreviewFeatures.never', "No, don't show again"),
// run: () => {
// configurationService.updateValue('workbench.enablePreviewFeatures', false);
// storageService.store(EnablePreviewFeatures.ENABLE_PREVIEW_FEATURES_SHOWN, true);
// },
// isSecondary: true
// }]
// );
// })
// .then(null, onUnexpectedError);
const enablePreviewFeaturesNotice = localize('enablePreviewFeatures.notice', "Would you like to enable preview features?");
notificationService.prompt(
Severity.Info,
enablePreviewFeaturesNotice,
[{
label: localize('enablePreviewFeatures.yes', "Yes"),
run: () => {
configurationService.updateValue('workbench.enablePreviewFeatures', true);
storageService.store(EnablePreviewFeatures.ENABLE_PREVIEW_FEATURES_SHOWN, true);
}
}, {
label: localize('enablePreviewFeatures.no', "No"),
run: () => {
configurationService.updateValue('workbench.enablePreviewFeatures', false);
}
}, {
label: localize('enablePreviewFeatures.never', "No, don't show again"),
run: () => {
configurationService.updateValue('workbench.enablePreviewFeatures', false);
storageService.store(EnablePreviewFeatures.ENABLE_PREVIEW_FEATURES_SHOWN, true);
},
isSecondary: true
}]
);
})
.then(null, onUnexpectedError);
}
}