mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-06 09:35:41 -05:00
Minor improvements in notebook edit mode handling (#21839)
* rename + remove duplicate calls * only fire onCellEditModeChanged when changed
This commit is contained in:
@@ -60,7 +60,7 @@ export class CellModel extends Disposable implements ICellModel {
|
||||
private _isEditMode: boolean;
|
||||
private _onOutputsChanged = new Emitter<IOutputChangedEvent>();
|
||||
private _onTableUpdated = new Emitter<ITableUpdatedEvent>();
|
||||
private _onCellModeChanged = new Emitter<boolean>();
|
||||
private _onCellEditModeChanged = new Emitter<boolean>();
|
||||
private _onExecutionStateChanged = new Emitter<CellExecutionState>();
|
||||
private _onCurrentEditModeChanged = new Emitter<CellEditModes>();
|
||||
private _isTrusted: boolean;
|
||||
@@ -149,8 +149,8 @@ export class CellModel extends Disposable implements ICellModel {
|
||||
return this._onTableUpdated.event;
|
||||
}
|
||||
|
||||
public get onCellModeChanged(): Event<boolean> {
|
||||
return this._onCellModeChanged.event;
|
||||
public get onCellEditModeChanged(): Event<boolean> {
|
||||
return this._onCellEditModeChanged.event;
|
||||
}
|
||||
|
||||
public set metadata(data: any) {
|
||||
@@ -241,19 +241,21 @@ export class CellModel extends Disposable implements ICellModel {
|
||||
}
|
||||
|
||||
public set isEditMode(isEditMode: boolean) {
|
||||
this._isEditMode = isEditMode;
|
||||
if (this._isEditMode) {
|
||||
const newEditMode = this._lastEditMode ?? this._defaultTextEditMode;
|
||||
this.showPreview = newEditMode !== TextCellEditModes.Markdown;
|
||||
this.showMarkdown = newEditMode !== TextCellEditModes.RichText;
|
||||
} else {
|
||||
// when not in edit mode, default the values since they are only valid when editing.
|
||||
// And to return the correct currentMode value.
|
||||
this._showMarkdown = false;
|
||||
this._showPreview = true;
|
||||
if (this._isEditMode !== isEditMode) {
|
||||
this._isEditMode = isEditMode;
|
||||
if (this._isEditMode) {
|
||||
const newEditMode = this._lastEditMode ?? this._defaultTextEditMode;
|
||||
this.showPreview = newEditMode !== TextCellEditModes.Markdown;
|
||||
this.showMarkdown = newEditMode !== TextCellEditModes.RichText;
|
||||
} else {
|
||||
// when not in edit mode, default the values since they are only valid when editing.
|
||||
// And to return the correct currentMode value.
|
||||
this._showMarkdown = false;
|
||||
this._showPreview = true;
|
||||
}
|
||||
this._onCellEditModeChanged.fire(this._isEditMode);
|
||||
// Note: this does not require a notebook update as it does not change overall state
|
||||
}
|
||||
this._onCellModeChanged.fire(this._isEditMode);
|
||||
// Note: this does not require a notebook update as it does not change overall state
|
||||
}
|
||||
|
||||
public get trustedMode(): boolean {
|
||||
|
||||
@@ -455,7 +455,7 @@ export interface ICellModel {
|
||||
readonly onLanguageChanged: Event<string>;
|
||||
readonly onCollapseStateChanged: Event<boolean>;
|
||||
readonly onParameterStateChanged: Event<boolean>;
|
||||
readonly onCellModeChanged: Event<boolean>;
|
||||
readonly onCellEditModeChanged: Event<boolean>;
|
||||
modelContentChangedEvent: IModelContentChangedEvent;
|
||||
isEditMode: boolean;
|
||||
showPreview: boolean;
|
||||
|
||||
Reference in New Issue
Block a user