mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-24 01:25:37 -05:00
Notebook Views (#13465)
* Add notebook editor Introduce notebook editor component to allow for separate notebook displays in order to accomodate notebook views * Localize notebook views configuration title * Refactor view mode and remove the views configuration while it is unused * Only fire view mode changed event when the value has been changed * Remove notebook views contribution
This commit is contained in:
@@ -24,6 +24,11 @@ import type { FutureInternal } from 'sql/workbench/services/notebook/browser/int
|
||||
import { ICellValue, ResultSetSummary } from 'sql/workbench/services/query/common/query';
|
||||
import { QueryResultId } from 'sql/workbench/services/notebook/browser/models/cell';
|
||||
|
||||
export enum ViewMode {
|
||||
Notebook,
|
||||
Views,
|
||||
}
|
||||
|
||||
export interface ICellRange {
|
||||
readonly start: number;
|
||||
readonly end: number;
|
||||
@@ -334,6 +339,12 @@ export interface INotebookModel {
|
||||
*/
|
||||
providerId: string;
|
||||
|
||||
/**
|
||||
* View mode for this model. It determines what editor mode
|
||||
* will be displayed.
|
||||
*/
|
||||
viewMode: ViewMode;
|
||||
|
||||
/**
|
||||
* Change the current kernel from the Kernel dropdown
|
||||
* @param displayName kernel name (as displayed in Kernel dropdown)
|
||||
|
||||
@@ -9,7 +9,7 @@ import { localize } from 'vs/nls';
|
||||
import { Event, Emitter } from 'vs/base/common/event';
|
||||
import { Disposable } from 'vs/base/common/lifecycle';
|
||||
|
||||
import { IClientSession, INotebookModel, INotebookModelOptions, ICellModel, NotebookContentChange, MoveDirection } from 'sql/workbench/services/notebook/browser/models/modelInterfaces';
|
||||
import { IClientSession, INotebookModel, INotebookModelOptions, ICellModel, NotebookContentChange, MoveDirection, ViewMode } from 'sql/workbench/services/notebook/browser/models/modelInterfaces';
|
||||
import { NotebookChangeType, CellType, CellTypes } from 'sql/workbench/services/notebook/common/contracts';
|
||||
import { nbversion } from 'sql/workbench/services/notebook/common/notebookConstants';
|
||||
import * as notebookUtils from 'sql/workbench/services/notebook/browser/models/notebookUtils';
|
||||
@@ -56,6 +56,7 @@ export class NotebookModel extends Disposable implements INotebookModel {
|
||||
private _contentChangedEmitter = new Emitter<NotebookContentChange>();
|
||||
private _kernelsChangedEmitter = new Emitter<nb.IKernel>();
|
||||
private _kernelChangedEmitter = new Emitter<nb.IKernelChangedArgs>();
|
||||
private _viewModeChangedEmitter = new Emitter<ViewMode>();
|
||||
private _layoutChanged = new Emitter<void>();
|
||||
private _inErrorState: boolean = false;
|
||||
private _activeClientSession: IClientSession | undefined;
|
||||
@@ -71,6 +72,7 @@ export class NotebookModel extends Disposable implements INotebookModel {
|
||||
private _tags: string[] | undefined;
|
||||
private _existingMetadata: nb.INotebookMetadata = {};
|
||||
private _language: string = '';
|
||||
private _viewMode: ViewMode = ViewMode.Notebook;
|
||||
private _onErrorEmitter = new Emitter<INotification>();
|
||||
private _savedKernelInfo: nb.IKernelSpec | undefined;
|
||||
private _savedConnectionName: string | undefined;
|
||||
@@ -274,6 +276,21 @@ export class NotebookModel extends Disposable implements INotebookModel {
|
||||
});
|
||||
}
|
||||
|
||||
public get viewModeChanged(): Event<ViewMode> {
|
||||
return this._viewModeChangedEmitter.event;
|
||||
}
|
||||
|
||||
public get viewMode() {
|
||||
return this._viewMode;
|
||||
}
|
||||
|
||||
public set viewMode(mode: ViewMode) {
|
||||
if (mode !== this._viewMode) {
|
||||
this._viewMode = mode;
|
||||
this._viewModeChangedEmitter.fire(mode);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates the server has finished loading. It may have failed to load in
|
||||
* which case the view will be in an error state.
|
||||
|
||||
Reference in New Issue
Block a user