Compare commits

..

8 Commits

Author SHA1 Message Date
Anthony Dresser
8004776eff 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 21:42:38 -07:00
Abbie Petchtes
cdc07d9f08 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 21:42:29 -07:00
Karl Burtram
6be511fab2 Bump SQL Tools Service to 1.5.0-alpha.34 (#2621) 2018-09-18 15:01:43 -07:00
ranasaria
b2a520fcbf 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 14:27:29 -07:00
Aditya Bist
a21807318b fixed actual show plan command (#2620) 2018-09-18 13:42:48 -07:00
AlexFsmn
aac8f84fcc 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 13:35:52 -07:00
Karl Burtram
83384e13f8 Switch off "preview feature" prompt 2018-09-18 12:35:28 -07:00
Karl Burtram
d32f8c40b0 Update version to 0.32.9 2018-09-17 18:15:09 -07:00
8 changed files with 59 additions and 54 deletions

View File

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

View File

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

View File

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

View File

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

View File

@@ -12,13 +12,12 @@ 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';
@@ -41,8 +40,6 @@ declare class Proxy {
constructor(object, handler);
}
const insightRegistry = Registry.as<IInsightRegistry>(Extensions.InsightContribution);
export class ChartView implements IPanelView {
private insight: Insight;
private _queryRunner: QueryRunner;
@@ -126,7 +123,6 @@ export class ChartView implements IPanelView {
}
}) as IInsightOptions;
ChartOptions.general[0].options = insightRegistry.getAllIds();
ChartOptions.general.map(o => {
this.createOption(o, generalControls);
});
@@ -319,7 +315,7 @@ export class ChartView implements IPanelView {
});
setFunc = (val: string) => {
if (!isUndefinedOrNull(val)) {
numberInput.value = val;
input.value = val;
}
};
this.optionDisposables.push(attachInputBoxStyler(numberInput, this._themeService));
@@ -334,7 +330,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) && this.optionMap[key]) {
if (this.state.options.hasOwnProperty(key)) {
this.options[key] = this.state.options[key];
this.optionMap[key].set(this.state.options[key]);
}

View File

@@ -29,7 +29,6 @@ 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;
@@ -303,8 +302,14 @@ export class MessageController extends WorkbenchTreeController {
if (element.selection) {
let selection: ISelectionData = element.selection;
// this is a batch statement
let input = this.workbenchEditorService.activeEditor as QueryInput;
input.updateSelection(selection);
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();
}
return true;

View File

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

View File

@@ -27,44 +27,46 @@ export class EnablePreviewFeatures implements IWorkbenchContribution {
@ITelemetryService telemetryService: ITelemetryService,
@IConfigurationService configurationService: IConfigurationService
) {
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);
return;
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);
// 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);
}
}