mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-21 09:35:38 -05:00
fix link cell not working issue (#23223)
This commit is contained in:
@@ -267,6 +267,7 @@ class DataResourceTable extends GridTableBase<any> {
|
||||
this._chart.onOptionsChange(options => {
|
||||
this.setChartOptions(options);
|
||||
});
|
||||
this.providerId = cellModel.notebookModel.context?.providerName;
|
||||
}
|
||||
|
||||
public get gridDataProvider(): IGridDataProvider {
|
||||
|
||||
@@ -798,24 +798,25 @@ export abstract class GridTableBase<T> extends Disposable implements IView, IQue
|
||||
const subset = await this.getRowData(event.cell.row, 1);
|
||||
const value = subset[0][event.cell.cell - 1];
|
||||
if (column.isXml || (this.gridConfig.showJsonAsLink && isJsonCell(value))) {
|
||||
const result = await this.executionPlanService.isExecutionPlan(this.providerId, value.displayValue);
|
||||
if (result.isExecutionPlan) {
|
||||
const executionPlanGraphInfo = {
|
||||
graphFileContent: value.displayValue,
|
||||
graphFileType: result.queryExecutionPlanFileExtension
|
||||
};
|
||||
if (column.isXml && this.providerId) {
|
||||
const result = await this.executionPlanService.isExecutionPlan(this.providerId, value.displayValue);
|
||||
if (result.isExecutionPlan) {
|
||||
const executionPlanGraphInfo = {
|
||||
graphFileContent: value.displayValue,
|
||||
graphFileType: result.queryExecutionPlanFileExtension
|
||||
};
|
||||
|
||||
const executionPlanInput = this.instantiationService.createInstance(ExecutionPlanInput, undefined, executionPlanGraphInfo);
|
||||
await this.editorService.openEditor(executionPlanInput);
|
||||
}
|
||||
else {
|
||||
const content = value.displayValue;
|
||||
const input = this.untitledEditorService.create({ languageId: column.isXml ? 'xml' : 'json', initialValue: content });
|
||||
await input.resolve();
|
||||
await this.instantiationService.invokeFunction(formatDocumentWithSelectedProvider, input.textEditorModel, FormattingMode.Explicit, Progress.None, CancellationToken.None);
|
||||
input.setDirty(false);
|
||||
await this.editorService.openEditor(input);
|
||||
const executionPlanInput = this.instantiationService.createInstance(ExecutionPlanInput, undefined, executionPlanGraphInfo);
|
||||
await this.editorService.openEditor(executionPlanInput);
|
||||
return;
|
||||
}
|
||||
}
|
||||
const content = value.displayValue;
|
||||
const input = this.untitledEditorService.create({ languageId: column.isXml ? 'xml' : 'json', initialValue: content });
|
||||
await input.resolve();
|
||||
await this.instantiationService.invokeFunction(formatDocumentWithSelectedProvider, input.textEditorModel, FormattingMode.Explicit, Progress.None, CancellationToken.None);
|
||||
input.setDirty(false);
|
||||
await this.editorService.openEditor(input);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user