update notebooks to use new message event (#5395)

This commit is contained in:
Anthony Dresser
2019-05-07 13:03:58 -07:00
committed by GitHub
parent 0f25ad5676
commit 4551ba5b7c
3 changed files with 19 additions and 19 deletions

View File

@@ -5,11 +5,11 @@
import 'vs/css!./media/messagePanel';
import { IMessagesActionContext, CopyMessagesAction, CopyAllMessagesAction } from './actions';
import QueryRunner from 'sql/platform/query/common/queryRunner';
import QueryRunner, { IQueryMessage } from 'sql/platform/query/common/queryRunner';
import { QueryInput } from 'sql/workbench/parts/query/common/queryInput';
import { IExpandableTree } from 'sql/workbench/parts/objectExplorer/browser/treeUpdateUtils';
import { IResultMessage, ISelectionData } from 'azdata';
import { ISelectionData } from 'azdata';
import { ViewletPanel, IViewletPanelOptions } from 'vs/workbench/browser/parts/views/panelViewlet';
import { IDataSource, ITree, IRenderer, ContextMenuEvent } from 'vs/base/parts/tree/browser/tree';
@@ -31,7 +31,7 @@ import { ScrollbarVisibility } from 'vs/base/common/scrollable';
import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService';
import { $ } from 'vs/base/browser/dom';
export interface IResultMessageIntern extends IResultMessage {
export interface IResultMessageIntern extends IQueryMessage {
id?: string;
}
@@ -77,7 +77,7 @@ export class MessagePanelState {
}
export class MessagePanel extends ViewletPanel {
private messageLineCountMap = new Map<IResultMessage, number>();
private messageLineCountMap = new Map<IQueryMessage, number>();
private ds = new MessageDataSource();
private renderer = new MessageRenderer(this.messageLineCountMap);
private model = new Model();
@@ -203,7 +203,7 @@ export class MessagePanel extends ViewletPanel {
this.onMessage(runner.messages);
}
private onMessage(message: IResultMessage | IResultMessage[]) {
private onMessage(message: IQueryMessage | IQueryMessage[]) {
let hasError = false;
let lines: number;
if (isArray(message)) {
@@ -237,7 +237,7 @@ export class MessagePanel extends ViewletPanel {
}
}
private countMessageLines(resultMessage: IResultMessage): number {
private countMessageLines(resultMessage: IQueryMessage): number {
let lines = resultMessage.message.split('\n').length;
this.messageLineCountMap.set(resultMessage, lines);
return lines;
@@ -307,10 +307,10 @@ class MessageDataSource implements IDataSource {
}
class MessageRenderer implements IRenderer {
constructor(private messageLineCountMap: Map<IResultMessage, number>) {
constructor(private messageLineCountMap: Map<IQueryMessage, number>) {
}
getHeight(tree: ITree, element: any): number {
getHeight(tree: ITree, element: IQueryMessage): number {
const lineHeight = 22;
if (this.messageLineCountMap.has(element)) {
return lineHeight * this.messageLineCountMap.get(element);
@@ -318,7 +318,7 @@ class MessageRenderer implements IRenderer {
return lineHeight;
}
getTemplateId(tree: ITree, element: any): string {
getTemplateId(tree: ITree, element: IQueryMessage): string {
if (element instanceof Model) {
return TemplateIds.MODEL;
} else if (element.selection) {
@@ -355,7 +355,7 @@ class MessageRenderer implements IRenderer {
}
}
renderElement(tree: ITree, element: IResultMessage, templateId: string, templateData: IMessageTemplate | IBatchTemplate): void {
renderElement(tree: ITree, element: IQueryMessage, templateId: string, templateData: IMessageTemplate | IBatchTemplate): void {
if (templateId === TemplateIds.MESSAGE || templateId === TemplateIds.ERROR) {
let data: IMessageTemplate = templateData;
data.message.innerText = element.message;

View File

@@ -23,6 +23,7 @@ import * as notebookUtils from 'sql/workbench/parts/notebook/notebookUtils';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { ICapabilitiesService } from 'sql/platform/capabilities/common/capabilitiesService';
import { ILogService } from 'vs/platform/log/common/log';
import { isUndefinedOrNull } from 'vs/base/common/types';
export const sqlKernelError: string = localize("sqlKernelError", "SQL kernel error");
export const MAX_ROWS = 5000;
@@ -311,7 +312,7 @@ class SqlKernel extends Disposable implements nb.IKernel {
}));
this._register(queryRunner.onMessage(message => {
// TODO handle showing a messages output (should be updated with all messages, only changing 1 output in total)
if (this._future) {
if (this._future && isUndefinedOrNull(message.selection)) {
this._future.handleMessage(message);
}
}));
@@ -441,7 +442,6 @@ export class SQLFuture extends Disposable implements FutureInternal {
public handleBatchEnd(batch: BatchSummary): void {
if (this.ioHandler) {
this.handleMessage(strings.format(elapsedTimeLabel, batch.executionElapsed));
this._outputAddedPromises.push(this.processResultSets(batch));
}
}