Skip to content

Commit ece54b8

Browse files
committed
Make all setStage arguments mandatory
1 parent 0824892 commit ece54b8

4 files changed

Lines changed: 27 additions & 28 deletions

File tree

extensions/ql-vscode/src/data-extensions-editor/data-extensions-editor-view.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import { join } from "path";
4343
import { pickExtensionPack } from "./extension-pack-picker";
4444
import { getLanguageDisplayName } from "../common/query-language";
4545
import { AutoModeler } from "./auto-modeler";
46+
import { INITIAL_HIDE_MODELED_APIS_VALUE } from "./shared/hide-modeled-apis";
4647

4748
export class DataExtensionsEditorView extends AbstractWebview<
4849
ToDataExtensionsEditorMessage,
@@ -51,6 +52,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
5152
private readonly autoModeler: AutoModeler;
5253

5354
private externalApiUsages: ExternalApiUsage[];
55+
private hideModeledApis: boolean;
5456

5557
public constructor(
5658
ctx: ExtensionContext,
@@ -64,9 +66,9 @@ export class DataExtensionsEditorView extends AbstractWebview<
6466
private readonly extensionPack: ExtensionPack,
6567
private mode: Mode,
6668
private readonly updateModelDetailsPanelState: (
67-
externalApiUsages?: ExternalApiUsage[],
68-
databaseItem?: DatabaseItem,
69-
hideModeledApis?: boolean,
69+
externalApiUsages: ExternalApiUsage[],
70+
databaseItem: DatabaseItem,
71+
hideModeledApis: boolean,
7072
) => Promise<void>,
7173
private readonly revealItemInDetailsPanel: (usage: Usage) => Promise<void>,
7274
private readonly handleViewBecameActive: (
@@ -99,6 +101,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
99101
},
100102
);
101103
this.externalApiUsages = [];
104+
this.hideModeledApis = INITIAL_HIDE_MODELED_APIS_VALUE;
102105
}
103106

104107
public async openView() {
@@ -111,6 +114,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
111114
await this.updateModelDetailsPanelState(
112115
this.externalApiUsages,
113116
this.databaseItem,
117+
this.hideModeledApis,
114118
);
115119
}
116120
});
@@ -239,8 +243,8 @@ export class DataExtensionsEditorView extends AbstractWebview<
239243
break;
240244
case "hideModeledApis":
241245
await this.updateModelDetailsPanelState(
242-
undefined,
243-
undefined,
246+
this.externalApiUsages,
247+
this.databaseItem,
244248
msg.hideModeledApis,
245249
);
246250
break;
@@ -348,6 +352,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
348352
await this.updateModelDetailsPanelState(
349353
this.externalApiUsages,
350354
this.databaseItem,
355+
this.hideModeledApis,
351356
);
352357
}
353358
} catch (err) {

extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-data-provider.ts

Lines changed: 7 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -44,27 +44,21 @@ export class ModelDetailsDataProvider
4444
* method and instead always pass new objects/arrays.
4545
*/
4646
public async setState(
47-
externalApiUsages?: ExternalApiUsage[],
48-
databaseItem?: DatabaseItem,
49-
hideModeledApis?: boolean,
47+
externalApiUsages: ExternalApiUsage[],
48+
databaseItem: DatabaseItem,
49+
hideModeledApis: boolean,
5050
): Promise<void> {
5151
if (
52-
externalApiUsages !== undefined &&
53-
databaseItem !== undefined &&
54-
(this.externalApiUsages !== externalApiUsages ||
55-
this.databaseItem !== databaseItem)
52+
this.externalApiUsages !== externalApiUsages ||
53+
this.databaseItem !== databaseItem ||
54+
this.hideModeledApis !== hideModeledApis
5655
) {
5756
this.externalApiUsages = externalApiUsages;
5857
this.databaseItem = databaseItem;
5958
this.sourceLocationPrefix =
6059
await this.databaseItem.getSourceLocationPrefix(this.cliServer);
61-
this.onDidChangeTreeDataEmitter.fire();
62-
}
63-
if (
64-
hideModeledApis !== undefined &&
65-
hideModeledApis !== this.hideModeledApis
66-
) {
6760
this.hideModeledApis = hideModeledApis;
61+
6862
this.onDidChangeTreeDataEmitter.fire();
6963
}
7064
}

extensions/ql-vscode/src/data-extensions-editor/model-details/model-details-panel.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,19 @@ export class ModelDetailsPanel extends DisposableObject {
2424
}
2525

2626
public async setState(
27-
externalApiUsages?: ExternalApiUsage[],
28-
databaseItem?: DatabaseItem,
29-
hideModeledApis?: boolean,
27+
externalApiUsages: ExternalApiUsage[],
28+
databaseItem: DatabaseItem,
29+
hideModeledApis: boolean,
3030
): Promise<void> {
3131
await this.dataProvider.setState(
3232
externalApiUsages,
3333
databaseItem,
3434
hideModeledApis,
3535
);
36-
if (externalApiUsages !== undefined) {
37-
this.treeView.badge = {
38-
value: externalApiUsages.length,
39-
tooltip: "Number of external APIs",
40-
};
41-
}
36+
this.treeView.badge = {
37+
value: externalApiUsages.length,
38+
tooltip: "Number of external APIs",
39+
};
4240
}
4341

4442
public async revealItem(usage: Usage): Promise<void> {

extensions/ql-vscode/src/view/data-extensions-editor/DataExtensionsEditor.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,14 @@ type Props = {
7575
initialViewState?: DataExtensionEditorViewState;
7676
initialExternalApiUsages?: ExternalApiUsage[];
7777
initialModeledMethods?: Record<string, ModeledMethod>;
78+
initialHideModeledApis?: boolean;
7879
};
7980

8081
export function DataExtensionsEditor({
8182
initialViewState,
8283
initialExternalApiUsages = [],
8384
initialModeledMethods = {},
85+
initialHideModeledApis = INITIAL_HIDE_MODELED_APIS_VALUE,
8486
}: Props): JSX.Element {
8587
const [viewState, setViewState] = useState<
8688
DataExtensionEditorViewState | undefined
@@ -98,7 +100,7 @@ export function DataExtensionsEditor({
98100
);
99101

100102
const [hideModeledApis, setHideModeledApis] = useState(
101-
INITIAL_HIDE_MODELED_APIS_VALUE,
103+
initialHideModeledApis,
102104
);
103105

104106
useEffect(() => {

0 commit comments

Comments
 (0)