mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-11 18:48:33 -05:00
Merge from vscode 7653d836944892f83ce9e1f95c1204bafa1aec31
This commit is contained in:
@@ -11,7 +11,7 @@ import { notebookProviderExtensionPoint, notebookRendererExtensionPoint } from '
|
||||
import { NotebookProviderInfo } from 'vs/workbench/contrib/notebook/common/notebookProvider';
|
||||
import { NotebookExtensionDescription } from 'vs/workbench/api/common/extHost.protocol';
|
||||
import { Emitter, Event } from 'vs/base/common/event';
|
||||
import { INotebookTextModel, INotebookMimeTypeSelector, INotebookRendererInfo } from 'vs/workbench/contrib/notebook/common/notebookCommon';
|
||||
import { INotebookTextModel, INotebookMimeTypeSelector, INotebookRendererInfo, NotebookDocumentMetadata, CellEditType, ICellDto2 } from 'vs/workbench/contrib/notebook/common/notebookCommon';
|
||||
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
|
||||
import { NotebookOutputRendererInfo } from 'vs/workbench/contrib/notebook/common/notebookOutputRenderer';
|
||||
import { Iterable } from 'vs/base/common/iterator';
|
||||
@@ -202,13 +202,13 @@ export class NotebookService extends Disposable implements INotebookService, ICu
|
||||
return undefined; // {{SQL CARBON EDIT}} strict-null-check
|
||||
}
|
||||
|
||||
async resolveNotebook(viewType: string, uri: URI): Promise<NotebookTextModel | undefined> {
|
||||
async createNotebookFromBackup(viewType: string, uri: URI, metadata: NotebookDocumentMetadata, languages: string[], cells: ICellDto2[]): Promise<NotebookTextModel | undefined> {
|
||||
const provider = this._notebookProviders.get(viewType);
|
||||
if (!provider) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const notebookModel = await provider.controller.resolveNotebook(viewType, uri);
|
||||
const notebookModel = await provider.controller.createNotebook(viewType, uri, true, false);
|
||||
if (!notebookModel) {
|
||||
return undefined;
|
||||
}
|
||||
@@ -219,6 +219,39 @@ export class NotebookService extends Disposable implements INotebookService, ICu
|
||||
notebookModel,
|
||||
(model) => this._onWillDispose(model),
|
||||
);
|
||||
this._models[modelId] = modelData;
|
||||
|
||||
notebookModel.metadata = metadata;
|
||||
notebookModel.languages = languages;
|
||||
|
||||
notebookModel.applyEdit(notebookModel.versionId, [
|
||||
{
|
||||
editType: CellEditType.Insert,
|
||||
index: 0,
|
||||
cells: cells
|
||||
}
|
||||
]);
|
||||
|
||||
return modelData.model;
|
||||
}
|
||||
|
||||
async resolveNotebook(viewType: string, uri: URI, forceReload: boolean): Promise<NotebookTextModel | undefined> {
|
||||
const provider = this._notebookProviders.get(viewType);
|
||||
if (!provider) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
let notebookModel: NotebookTextModel | undefined;
|
||||
|
||||
notebookModel = await provider.controller.createNotebook(viewType, uri, false, forceReload);
|
||||
|
||||
// new notebook model created
|
||||
const modelId = MODEL_ID(uri);
|
||||
const modelData = new ModelData(
|
||||
notebookModel!,
|
||||
(model) => this._onWillDispose(model),
|
||||
);
|
||||
|
||||
this._models[modelId] = modelData;
|
||||
return modelData.model;
|
||||
}
|
||||
@@ -265,7 +298,7 @@ export class NotebookService extends Disposable implements INotebookService, ICu
|
||||
let provider = this._notebookProviders.get(viewType);
|
||||
|
||||
if (provider) {
|
||||
provider.controller.destoryNotebookDocument(notebook);
|
||||
provider.controller.removeNotebookDocument(notebook);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -291,6 +324,16 @@ export class NotebookService extends Disposable implements INotebookService, ICu
|
||||
return false;
|
||||
}
|
||||
|
||||
async saveAs(viewType: string, resource: URI, target: URI, token: CancellationToken): Promise<boolean> {
|
||||
let provider = this._notebookProviders.get(viewType);
|
||||
|
||||
if (provider) {
|
||||
return provider.controller.saveAs(resource, target, token);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
onDidReceiveMessage(viewType: string, uri: URI, message: any): void {
|
||||
let provider = this._notebookProviders.get(viewType);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user