Skip to content

Commit 266b1e5

Browse files
committed
Add a refresh button to the data extensions editor
This adds a refresh button to the data extensions editor when the framework mode feature flag is enabled. If you are using framework mode, you can have multiple tabs of the data extensions editor open in which you are modeling the library separately from the application. When you save the library in framework mode, the application mode will not refresh and show that these calls have been modeled. Rather than using apply, which might also save all modeled methods, you can now use the refresh button to refresh the external API usages and whether they are supported.
1 parent 0011790 commit 266b1e5

File tree

3 files changed

+16
-15
lines changed

3 files changed

+16
-15
lines changed

extensions/ql-vscode/src/common/interface-types.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -536,9 +536,8 @@ export interface OpenExtensionPackMessage {
536536
t: "openExtensionPack";
537537
}
538538

539-
export interface OpenModelFileMessage {
540-
t: "openModelFile";
541-
library: string;
539+
export interface RefreshExternalApiUsages {
540+
t: "refreshExternalApiUsages";
542541
}
543542

544543
export interface SaveModeledMethods {
@@ -566,7 +565,7 @@ export type ToDataExtensionsEditorMessage =
566565
export type FromDataExtensionsEditorMessage =
567566
| ViewLoadedMsg
568567
| SwitchModeMessage
569-
| OpenModelFileMessage
568+
| RefreshExternalApiUsages
570569
| OpenExtensionPackMessage
571570
| JumpToUsageMessage
572571
| SaveModeledMethods

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

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import {
44
Uri,
55
ViewColumn,
66
window,
7-
workspace,
87
} from "vscode";
98
import { join } from "path";
109
import { RequestError } from "@octokit/request-error";
@@ -38,7 +37,6 @@ import { readQueryResults, runQuery } from "./external-api-usage-query";
3837
import {
3938
createDataExtensionYamlsForApplicationMode,
4039
createDataExtensionYamlsForFrameworkMode,
41-
createFilenameForLibrary,
4240
loadDataExtensionYaml,
4341
} from "./yaml";
4442
import { ExternalApiUsage } from "./external-api-usage";
@@ -108,15 +106,8 @@ export class DataExtensionsEditorView extends AbstractWebview<
108106
);
109107

110108
break;
111-
case "openModelFile":
112-
await window.showTextDocument(
113-
await workspace.openTextDocument(
114-
join(
115-
this.extensionPack.path,
116-
createFilenameForLibrary(msg.library),
117-
),
118-
),
119-
);
109+
case "refreshExternalApiUsages":
110+
await this.loadExternalApiUsages();
120111

121112
break;
122113
case "jumpToUsage":

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,12 @@ export function DataExtensionsEditor({
139139
[],
140140
);
141141

142+
const onRefreshClick = useCallback(() => {
143+
vscode.postMessage({
144+
t: "refreshExternalApiUsages",
145+
});
146+
}, []);
147+
142148
const onApplyClick = useCallback(() => {
143149
vscode.postMessage({
144150
t: "saveModeledMethods",
@@ -228,6 +234,11 @@ export function DataExtensionsEditor({
228234
<EditorContainer>
229235
<ButtonsContainer>
230236
<VSCodeButton onClick={onApplyClick}>Apply</VSCodeButton>
237+
{viewState?.enableFrameworkMode && (
238+
<VSCodeButton appearance="secondary" onClick={onRefreshClick}>
239+
Refresh
240+
</VSCodeButton>
241+
)}
231242
<VSCodeButton onClick={onGenerateClick}>
232243
{viewState?.mode === Mode.Framework
233244
? "Generate"

0 commit comments

Comments
 (0)