mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-04 09:35:38 -05:00
refresh the table designer after publishing (#18220)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"downloadUrl": "https://github.com/Microsoft/sqltoolsservice/releases/download/v{#version#}/microsoft.sqltools.servicelayer-{#fileName#}",
|
||||
"version": "3.0.0-release.193",
|
||||
"version": "3.0.0-release.195",
|
||||
"downloadFileNames": {
|
||||
"Windows_86": "win-x86-net6.0.zip",
|
||||
"Windows_64": "win-x64-net6.0.zip",
|
||||
|
||||
@@ -40,7 +40,7 @@ export function registerTableDesignerCommands(appContext: AppContext) {
|
||||
isNewTable: false,
|
||||
name: name,
|
||||
schema: schema,
|
||||
id: `${connectionString}|${database}|${schema}|${name}`,
|
||||
id: `${sqlProviderName}|${server}|${database}|${schema}|${name}`,
|
||||
connectionString: connectionString
|
||||
}, telemetryInfo);
|
||||
}));
|
||||
|
||||
4
src/sql/azdata.proposed.d.ts
vendored
4
src/sql/azdata.proposed.d.ts
vendored
@@ -1436,6 +1436,10 @@ declare module 'azdata' {
|
||||
* The new table information after the changes are published.
|
||||
*/
|
||||
newTableInfo: TableInfo;
|
||||
/**
|
||||
* The new view model.
|
||||
*/
|
||||
viewModel: DesignerViewModel;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -262,6 +262,9 @@ export class Designer extends Disposable implements IThemable {
|
||||
this._inputDisposable.add(this._input.onStateChange((args) => {
|
||||
this.handleInputStateChangedEvent(args);
|
||||
}));
|
||||
this._inputDisposable.add(this._input.onRefreshRequested(() => {
|
||||
this.refresh();
|
||||
}));
|
||||
|
||||
if (this._input.view === undefined) {
|
||||
this._input.initialize();
|
||||
@@ -369,6 +372,11 @@ export class Designer extends Disposable implements IThemable {
|
||||
}
|
||||
}
|
||||
|
||||
private refresh() {
|
||||
this.updateComponentValues();
|
||||
this.updatePropertiesPane(this._propertiesPane.objectPath);
|
||||
}
|
||||
|
||||
private layoutTabbedPanel() {
|
||||
this._tabbedPanel.layout(new DOM.Dimension(this._tabbedPanelContainer.clientWidth, this._tabbedPanelContainer.clientHeight));
|
||||
}
|
||||
|
||||
@@ -23,6 +23,11 @@ export interface DesignerComponentInput {
|
||||
*/
|
||||
readonly onEditProcessed: Event<DesignerEditProcessedEventArgs>;
|
||||
|
||||
/**
|
||||
* The event that is triggerd when a refresh of the UI is requested.
|
||||
*/
|
||||
readonly onRefreshRequested: Event<void>;
|
||||
|
||||
/**
|
||||
* Gets the object type display name.
|
||||
*/
|
||||
|
||||
@@ -27,11 +27,13 @@ export class TableDesignerComponentInput implements DesignerComponentInput {
|
||||
private _onStateChange = new Emitter<DesignerStateChangedEventArgs>();
|
||||
private _onInitialized = new Emitter<void>();
|
||||
private _onEditProcessed = new Emitter<DesignerEditProcessedEventArgs>();
|
||||
private _onRefreshRequested = new Emitter<void>();
|
||||
private _originalViewModel: DesignerViewModel;
|
||||
|
||||
public readonly onInitialized: Event<void> = this._onInitialized.event;
|
||||
public readonly onEditProcessed: Event<DesignerEditProcessedEventArgs> = this._onEditProcessed.event;
|
||||
public readonly onStateChange: Event<DesignerStateChangedEventArgs> = this._onStateChange.event;
|
||||
public readonly onRefreshRequested: Event<void> = this._onRefreshRequested.event;
|
||||
|
||||
private readonly designerEditTypeDisplayValue: { [key: number]: string } = {
|
||||
0: 'Add', 1: 'Remove', 2: 'Update'
|
||||
@@ -140,10 +142,12 @@ export class TableDesignerComponentInput implements DesignerComponentInput {
|
||||
try {
|
||||
this.updateState(this.valid, this.dirty, 'publish');
|
||||
const result = await this._provider.publishChanges(this.tableInfo);
|
||||
this._originalViewModel = this._viewModel;
|
||||
this._viewModel = result.viewModel;
|
||||
this._originalViewModel = result.viewModel;
|
||||
saveNotificationHandle.updateMessage(localize('tableDesigner.publishChangeSuccess', "The changes have been successfully published."));
|
||||
this.tableInfo = result.newTableInfo;
|
||||
this.updateState(true, false);
|
||||
this._onRefreshRequested.fire();
|
||||
publishEvent.withAdditionalMeasurements({
|
||||
'elapsedTimeMs': new Date().getTime() - startTime
|
||||
}).send();
|
||||
|
||||
Reference in New Issue
Block a user