Add DatabaseItem to model details panel state
This commit is contained in:
@@ -147,7 +147,7 @@ export class DataExtensionsEditorModule extends DisposableObject {
|
||||
db,
|
||||
modelFile,
|
||||
Mode.Application,
|
||||
(usages) => this.modelDetailsPanel.setExternalApiUsages(usages),
|
||||
this.modelDetailsPanel.setState.bind(this.modelDetailsPanel),
|
||||
);
|
||||
await view.openView();
|
||||
},
|
||||
|
||||
@@ -77,8 +77,9 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
private readonly databaseItem: DatabaseItem,
|
||||
private readonly extensionPack: ExtensionPack,
|
||||
private mode: Mode,
|
||||
private readonly onExternalApiUsagesChanged: (
|
||||
private readonly updateModelDetailsPanelState: (
|
||||
externalApiUsages: ExternalApiUsage[],
|
||||
databaseItem: DatabaseItem,
|
||||
) => void,
|
||||
) {
|
||||
super(ctx);
|
||||
@@ -296,7 +297,10 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
t: "setExternalApiUsages",
|
||||
externalApiUsages,
|
||||
});
|
||||
this.onExternalApiUsagesChanged(externalApiUsages);
|
||||
this.updateModelDetailsPanelState(
|
||||
externalApiUsages,
|
||||
this.databaseItem,
|
||||
);
|
||||
} catch (err) {
|
||||
void showAndLogExceptionWithTelemetry(
|
||||
this.app.logger,
|
||||
@@ -578,7 +582,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
addedDatabase,
|
||||
modelFile,
|
||||
Mode.Framework,
|
||||
this.onExternalApiUsagesChanged,
|
||||
this.updateModelDetailsPanelState,
|
||||
);
|
||||
await view.openView();
|
||||
});
|
||||
|
||||
@@ -7,12 +7,14 @@ import {
|
||||
} from "vscode";
|
||||
import { DisposableObject } from "../../common/disposable-object";
|
||||
import { ExternalApiUsage, Usage } from "../external-api-usage";
|
||||
import { DatabaseItem } from "../../databases/local-databases";
|
||||
|
||||
export class ModelDetailsDataProvider
|
||||
extends DisposableObject
|
||||
implements TreeDataProvider<ModelDetailsTreeViewItem>
|
||||
{
|
||||
private externalApiUsages: ExternalApiUsage[] = [];
|
||||
private databaseItem: DatabaseItem | undefined = undefined;
|
||||
|
||||
private readonly onDidChangeTreeDataEmitter = this.push(
|
||||
new EventEmitter<void>(),
|
||||
@@ -22,8 +24,12 @@ export class ModelDetailsDataProvider
|
||||
return this.onDidChangeTreeDataEmitter.event;
|
||||
}
|
||||
|
||||
public setExternalApiUsages(externalApiUsages: ExternalApiUsage[]): void {
|
||||
public setState(
|
||||
externalApiUsages: ExternalApiUsage[],
|
||||
databaseItem: DatabaseItem,
|
||||
): void {
|
||||
this.externalApiUsages = externalApiUsages;
|
||||
this.databaseItem = databaseItem;
|
||||
this.onDidChangeTreeDataEmitter.fire();
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ import { window } from "vscode";
|
||||
import { DisposableObject } from "../../common/disposable-object";
|
||||
import { ModelDetailsDataProvider } from "./model-details-data-provider";
|
||||
import { ExternalApiUsage } from "../external-api-usage";
|
||||
import { DatabaseItem } from "../../databases/local-databases";
|
||||
|
||||
export class ModelDetailsPanel extends DisposableObject {
|
||||
private readonly dataProvider: ModelDetailsDataProvider;
|
||||
@@ -17,7 +18,10 @@ export class ModelDetailsPanel extends DisposableObject {
|
||||
this.push(treeView);
|
||||
}
|
||||
|
||||
public setExternalApiUsages(externalApiUsages: ExternalApiUsage[]): void {
|
||||
this.dataProvider.setExternalApiUsages(externalApiUsages);
|
||||
public setState(
|
||||
externalApiUsages: ExternalApiUsage[],
|
||||
databaseItem: DatabaseItem,
|
||||
): void {
|
||||
this.dataProvider.setState(externalApiUsages, databaseItem);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user