mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-06 17:23:53 -05:00
add disposeTableDesigner (#17394)
This commit is contained in:
@@ -521,6 +521,9 @@ export class MainThreadDataProtocol extends Disposable implements MainThreadData
|
||||
},
|
||||
saveTable(tableInfo: azdata.designers.TableInfo, data: azdata.designers.DesignerViewModel): Thenable<void> {
|
||||
return self._proxy.$saveTable(handle, tableInfo, data);
|
||||
},
|
||||
disposeTableDesigner(tableInfo: azdata.designers.TableInfo): Thenable<void> {
|
||||
return self._proxy.$disposeTableDesigner(handle, tableInfo);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -892,16 +892,20 @@ export class ExtHostDataProtocol extends ExtHostDataProtocolShape {
|
||||
}
|
||||
|
||||
// Table Designer
|
||||
public override $getTableDesignerInfo(handle, table: azdata.designers.TableInfo): Thenable<azdata.designers.TableDesignerInfo> {
|
||||
public override $getTableDesignerInfo(handle: number, table: azdata.designers.TableInfo): Thenable<azdata.designers.TableDesignerInfo> {
|
||||
return this._resolveProvider<azdata.designers.TableDesignerProvider>(handle).getTableDesignerInfo(table);
|
||||
}
|
||||
|
||||
public override $processTableDesignerEdit(handle, table: azdata.designers.TableInfo, data: azdata.designers.DesignerViewModel, edit: azdata.designers.DesignerEdit): Thenable<azdata.designers.DesignerEditResult> {
|
||||
return this._resolveProvider<azdata.designers.TableDesignerProvider>(handle).processTableEdit(table, data, edit);
|
||||
public override $processTableDesignerEdit(handle: number, table: azdata.designers.TableInfo, viewModel: azdata.designers.DesignerViewModel, edit: azdata.designers.DesignerEdit): Thenable<azdata.designers.DesignerEditResult> {
|
||||
return this._resolveProvider<azdata.designers.TableDesignerProvider>(handle).processTableEdit(table, viewModel, edit);
|
||||
}
|
||||
|
||||
public override $saveTable(handle, table: azdata.designers.TableInfo, data: azdata.designers.DesignerViewModel): Thenable<void> {
|
||||
return this._resolveProvider<azdata.designers.TableDesignerProvider>(handle).saveTable(table, data);
|
||||
public override $saveTable(handle: number, table: azdata.designers.TableInfo, viewModel: azdata.designers.DesignerViewModel): Thenable<void> {
|
||||
return this._resolveProvider<azdata.designers.TableDesignerProvider>(handle).saveTable(table, viewModel);
|
||||
}
|
||||
|
||||
public override $disposeTableDesigner(handle: number, table: azdata.designers.TableInfo): Thenable<void> {
|
||||
return this._resolveProvider<azdata.designers.TableDesignerProvider>(handle).disposeTableDesigner(table);
|
||||
}
|
||||
|
||||
public override $openTableDesigner(providerId: string, tableInfo: azdata.designers.TableInfo): Promise<void> {
|
||||
|
||||
@@ -530,17 +530,22 @@ export abstract class ExtHostDataProtocolShape {
|
||||
/**
|
||||
* Gets the table designer info for the specified table
|
||||
*/
|
||||
$getTableDesignerInfo(handle, table: azdata.designers.TableInfo): Thenable<azdata.designers.TableDesignerInfo> { throw ni(); }
|
||||
$getTableDesignerInfo(handle: number, table: azdata.designers.TableInfo): Thenable<azdata.designers.TableDesignerInfo> { throw ni(); }
|
||||
|
||||
/**
|
||||
* Process the table edit.
|
||||
*/
|
||||
$processTableDesignerEdit(handle, table: azdata.designers.TableInfo, data: azdata.designers.DesignerViewModel, edit: azdata.designers.DesignerEdit): Thenable<azdata.designers.DesignerEditResult> { throw ni(); }
|
||||
$processTableDesignerEdit(handle: number, table: azdata.designers.TableInfo, data: azdata.designers.DesignerViewModel, edit: azdata.designers.DesignerEdit): Thenable<azdata.designers.DesignerEditResult> { throw ni(); }
|
||||
|
||||
/**
|
||||
* Process the table edit.
|
||||
*/
|
||||
$saveTable(handle, table: azdata.designers.TableInfo, data: azdata.designers.DesignerViewModel): Thenable<void> { throw ni(); }
|
||||
$saveTable(handle: number, table: azdata.designers.TableInfo, data: azdata.designers.DesignerViewModel): Thenable<void> { throw ni(); }
|
||||
|
||||
/**
|
||||
* Dispose the table designer.
|
||||
*/
|
||||
$disposeTableDesigner(handle: number, table: azdata.designers.TableInfo): Thenable<void> { throw ni(); }
|
||||
|
||||
/**
|
||||
* Open a new instance of table designer.
|
||||
|
||||
@@ -12,6 +12,7 @@ import * as azdata from 'azdata';
|
||||
import { GroupIdentifier, IEditorInput, IRevertOptions, ISaveOptions } from 'vs/workbench/common/editor';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
|
||||
import { onUnexpectedError } from 'vs/base/common/errors';
|
||||
|
||||
const NewTable: string = localize('tableDesigner.newTable', "New Table");
|
||||
|
||||
@@ -78,12 +79,13 @@ export class TableDesignerInput extends EditorInput {
|
||||
}
|
||||
|
||||
override matches(otherInput: any): boolean {
|
||||
// For existing tables, the table designer provider will give us unique id, we can use it to do the match.
|
||||
// For new tables, we can do the match using their names.
|
||||
return otherInput instanceof TableDesignerInput
|
||||
&& this._provider.providerId === otherInput._provider.providerId
|
||||
&& this._tableInfo.isNewTable === otherInput._tableInfo.isNewTable
|
||||
&& (!this._tableInfo.isNewTable || this.getName() === otherInput.getName())
|
||||
&& (this._tableInfo.isNewTable || this._tableInfo.id === otherInput._tableInfo.id);
|
||||
&& this._tableInfo.id === otherInput._tableInfo.id;
|
||||
}
|
||||
|
||||
override dispose(): void {
|
||||
super.dispose();
|
||||
this._provider.disposeTableDesigner(this._tableInfo).then(undefined, err => onUnexpectedError(err));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user