Merge pull request #2559 from github/koesie10/framework-mode-refresh-button

Add a refresh button to the data extensions editor
This commit is contained in:
Koen Vlaswinkel
2023-06-28 12:38:04 +02:00
committed by GitHub
3 changed files with 16 additions and 15 deletions

View File

@@ -536,9 +536,8 @@ export interface OpenExtensionPackMessage {
t: "openExtensionPack";
}
export interface OpenModelFileMessage {
t: "openModelFile";
library: string;
export interface RefreshExternalApiUsages {
t: "refreshExternalApiUsages";
}
export interface SaveModeledMethods {
@@ -566,7 +565,7 @@ export type ToDataExtensionsEditorMessage =
export type FromDataExtensionsEditorMessage =
| ViewLoadedMsg
| SwitchModeMessage
| OpenModelFileMessage
| RefreshExternalApiUsages
| OpenExtensionPackMessage
| JumpToUsageMessage
| SaveModeledMethods

View File

@@ -4,7 +4,6 @@ import {
Uri,
ViewColumn,
window,
workspace,
} from "vscode";
import { join } from "path";
import { RequestError } from "@octokit/request-error";
@@ -38,7 +37,6 @@ import { readQueryResults, runQuery } from "./external-api-usage-query";
import {
createDataExtensionYamlsForApplicationMode,
createDataExtensionYamlsForFrameworkMode,
createFilenameForLibrary,
loadDataExtensionYaml,
} from "./yaml";
import { ExternalApiUsage } from "./external-api-usage";
@@ -108,15 +106,8 @@ export class DataExtensionsEditorView extends AbstractWebview<
);
break;
case "openModelFile":
await window.showTextDocument(
await workspace.openTextDocument(
join(
this.extensionPack.path,
createFilenameForLibrary(msg.library),
),
),
);
case "refreshExternalApiUsages":
await this.loadExternalApiUsages();
break;
case "jumpToUsage":

View File

@@ -139,6 +139,12 @@ export function DataExtensionsEditor({
[],
);
const onRefreshClick = useCallback(() => {
vscode.postMessage({
t: "refreshExternalApiUsages",
});
}, []);
const onApplyClick = useCallback(() => {
vscode.postMessage({
t: "saveModeledMethods",
@@ -228,6 +234,11 @@ export function DataExtensionsEditor({
<EditorContainer>
<ButtonsContainer>
<VSCodeButton onClick={onApplyClick}>Apply</VSCodeButton>
{viewState?.enableFrameworkMode && (
<VSCodeButton appearance="secondary" onClick={onRefreshClick}>
Refresh
</VSCodeButton>
)}
<VSCodeButton onClick={onGenerateClick}>
{viewState?.mode === Mode.Framework
? "Generate"