Make all setStage arguments mandatory
This commit is contained in:
@@ -43,6 +43,7 @@ import { join } from "path";
|
||||
import { pickExtensionPack } from "./extension-pack-picker";
|
||||
import { getLanguageDisplayName } from "../common/query-language";
|
||||
import { AutoModeler } from "./auto-modeler";
|
||||
import { INITIAL_HIDE_MODELED_APIS_VALUE } from "./shared/hide-modeled-apis";
|
||||
|
||||
export class DataExtensionsEditorView extends AbstractWebview<
|
||||
ToDataExtensionsEditorMessage,
|
||||
@@ -51,6 +52,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
private readonly autoModeler: AutoModeler;
|
||||
|
||||
private externalApiUsages: ExternalApiUsage[];
|
||||
private hideModeledApis: boolean;
|
||||
|
||||
public constructor(
|
||||
ctx: ExtensionContext,
|
||||
@@ -64,9 +66,9 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
private readonly extensionPack: ExtensionPack,
|
||||
private mode: Mode,
|
||||
private readonly updateModelDetailsPanelState: (
|
||||
externalApiUsages?: ExternalApiUsage[],
|
||||
databaseItem?: DatabaseItem,
|
||||
hideModeledApis?: boolean,
|
||||
externalApiUsages: ExternalApiUsage[],
|
||||
databaseItem: DatabaseItem,
|
||||
hideModeledApis: boolean,
|
||||
) => Promise<void>,
|
||||
private readonly revealItemInDetailsPanel: (usage: Usage) => Promise<void>,
|
||||
private readonly handleViewBecameActive: (
|
||||
@@ -99,6 +101,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
},
|
||||
);
|
||||
this.externalApiUsages = [];
|
||||
this.hideModeledApis = INITIAL_HIDE_MODELED_APIS_VALUE;
|
||||
}
|
||||
|
||||
public async openView() {
|
||||
@@ -111,6 +114,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
await this.updateModelDetailsPanelState(
|
||||
this.externalApiUsages,
|
||||
this.databaseItem,
|
||||
this.hideModeledApis,
|
||||
);
|
||||
}
|
||||
});
|
||||
@@ -239,8 +243,8 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
break;
|
||||
case "hideModeledApis":
|
||||
await this.updateModelDetailsPanelState(
|
||||
undefined,
|
||||
undefined,
|
||||
this.externalApiUsages,
|
||||
this.databaseItem,
|
||||
msg.hideModeledApis,
|
||||
);
|
||||
break;
|
||||
@@ -348,6 +352,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
await this.updateModelDetailsPanelState(
|
||||
this.externalApiUsages,
|
||||
this.databaseItem,
|
||||
this.hideModeledApis,
|
||||
);
|
||||
}
|
||||
} catch (err) {
|
||||
|
||||
@@ -44,27 +44,21 @@ export class ModelDetailsDataProvider
|
||||
* method and instead always pass new objects/arrays.
|
||||
*/
|
||||
public async setState(
|
||||
externalApiUsages?: ExternalApiUsage[],
|
||||
databaseItem?: DatabaseItem,
|
||||
hideModeledApis?: boolean,
|
||||
externalApiUsages: ExternalApiUsage[],
|
||||
databaseItem: DatabaseItem,
|
||||
hideModeledApis: boolean,
|
||||
): Promise<void> {
|
||||
if (
|
||||
externalApiUsages !== undefined &&
|
||||
databaseItem !== undefined &&
|
||||
(this.externalApiUsages !== externalApiUsages ||
|
||||
this.databaseItem !== databaseItem)
|
||||
this.externalApiUsages !== externalApiUsages ||
|
||||
this.databaseItem !== databaseItem ||
|
||||
this.hideModeledApis !== hideModeledApis
|
||||
) {
|
||||
this.externalApiUsages = externalApiUsages;
|
||||
this.databaseItem = databaseItem;
|
||||
this.sourceLocationPrefix =
|
||||
await this.databaseItem.getSourceLocationPrefix(this.cliServer);
|
||||
this.onDidChangeTreeDataEmitter.fire();
|
||||
}
|
||||
if (
|
||||
hideModeledApis !== undefined &&
|
||||
hideModeledApis !== this.hideModeledApis
|
||||
) {
|
||||
this.hideModeledApis = hideModeledApis;
|
||||
|
||||
this.onDidChangeTreeDataEmitter.fire();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,21 +24,19 @@ export class ModelDetailsPanel extends DisposableObject {
|
||||
}
|
||||
|
||||
public async setState(
|
||||
externalApiUsages?: ExternalApiUsage[],
|
||||
databaseItem?: DatabaseItem,
|
||||
hideModeledApis?: boolean,
|
||||
externalApiUsages: ExternalApiUsage[],
|
||||
databaseItem: DatabaseItem,
|
||||
hideModeledApis: boolean,
|
||||
): Promise<void> {
|
||||
await this.dataProvider.setState(
|
||||
externalApiUsages,
|
||||
databaseItem,
|
||||
hideModeledApis,
|
||||
);
|
||||
if (externalApiUsages !== undefined) {
|
||||
this.treeView.badge = {
|
||||
value: externalApiUsages.length,
|
||||
tooltip: "Number of external APIs",
|
||||
};
|
||||
}
|
||||
this.treeView.badge = {
|
||||
value: externalApiUsages.length,
|
||||
tooltip: "Number of external APIs",
|
||||
};
|
||||
}
|
||||
|
||||
public async revealItem(usage: Usage): Promise<void> {
|
||||
|
||||
@@ -75,12 +75,14 @@ type Props = {
|
||||
initialViewState?: DataExtensionEditorViewState;
|
||||
initialExternalApiUsages?: ExternalApiUsage[];
|
||||
initialModeledMethods?: Record<string, ModeledMethod>;
|
||||
initialHideModeledApis?: boolean;
|
||||
};
|
||||
|
||||
export function DataExtensionsEditor({
|
||||
initialViewState,
|
||||
initialExternalApiUsages = [],
|
||||
initialModeledMethods = {},
|
||||
initialHideModeledApis = INITIAL_HIDE_MODELED_APIS_VALUE,
|
||||
}: Props): JSX.Element {
|
||||
const [viewState, setViewState] = useState<
|
||||
DataExtensionEditorViewState | undefined
|
||||
@@ -98,7 +100,7 @@ export function DataExtensionsEditor({
|
||||
);
|
||||
|
||||
const [hideModeledApis, setHideModeledApis] = useState(
|
||||
INITIAL_HIDE_MODELED_APIS_VALUE,
|
||||
initialHideModeledApis,
|
||||
);
|
||||
|
||||
useEffect(() => {
|
||||
|
||||
Reference in New Issue
Block a user