Rename DataExtensionsEditor
This commit is contained in:
@@ -302,7 +302,7 @@ export type PackagingCommands = {
|
||||
"codeQL.downloadPacks": () => Promise<void>;
|
||||
};
|
||||
|
||||
export type DataExtensionsEditorCommands = {
|
||||
export type ModelEditorCommands = {
|
||||
"codeQL.openDataExtensionsEditor": () => Promise<void>;
|
||||
"codeQLDataExtensionsEditor.jumpToUsageLocation": (
|
||||
usage: Usage,
|
||||
@@ -347,7 +347,7 @@ export type AllExtensionCommands = BaseCommands &
|
||||
AstCfgCommands &
|
||||
AstViewerCommands &
|
||||
PackagingCommands &
|
||||
DataExtensionsEditorCommands &
|
||||
ModelEditorCommands &
|
||||
EvalLogViewerCommands &
|
||||
SummaryLanguageSupportCommands &
|
||||
Partial<TestUICommands> &
|
||||
|
||||
@@ -569,14 +569,14 @@ interface HideModeledApisMessage {
|
||||
hideModeledApis: boolean;
|
||||
}
|
||||
|
||||
export type ToDataExtensionsEditorMessage =
|
||||
export type ToModelEditorMessage =
|
||||
| SetExtensionPackStateMessage
|
||||
| SetExternalApiUsagesMessage
|
||||
| LoadModeledMethodsMessage
|
||||
| AddModeledMethodsMessage
|
||||
| SetInProgressMethodsMessage;
|
||||
|
||||
export type FromDataExtensionsEditorMessage =
|
||||
export type FromModelEditorMessage =
|
||||
| ViewLoadedMsg
|
||||
| SwitchModeMessage
|
||||
| RefreshExternalApiUsages
|
||||
|
||||
@@ -128,7 +128,7 @@ import { getAstCfgCommands } from "./language-support/ast-viewer/ast-cfg-command
|
||||
import { App } from "./common/app";
|
||||
import { registerCommandWithErrorHandling } from "./common/vscode/commands";
|
||||
import { DebuggerUI } from "./debugger/debugger-ui";
|
||||
import { DataExtensionsEditorModule } from "./model-editor/model-editor-module";
|
||||
import { ModelEditorModule } from "./model-editor/model-editor-module";
|
||||
import { TestManager } from "./query-testing/test-manager";
|
||||
import { TestRunner } from "./query-testing/test-runner";
|
||||
import { TestManagerBase } from "./query-testing/test-manager-base";
|
||||
@@ -934,15 +934,14 @@ async function activateWithInstalledDistribution(
|
||||
const debuggerUI = new DebuggerUI(app, localQueries, dbm);
|
||||
ctx.subscriptions.push(debuggerUI);
|
||||
|
||||
const dataExtensionsEditorModule =
|
||||
await DataExtensionsEditorModule.initialize(
|
||||
ctx,
|
||||
app,
|
||||
dbm,
|
||||
cliServer,
|
||||
qs,
|
||||
tmpDir.name,
|
||||
);
|
||||
const modelEditorModule = await ModelEditorModule.initialize(
|
||||
ctx,
|
||||
app,
|
||||
dbm,
|
||||
cliServer,
|
||||
qs,
|
||||
tmpDir.name,
|
||||
);
|
||||
|
||||
void extLogger.log("Initializing QLTest interface.");
|
||||
|
||||
@@ -1015,7 +1014,7 @@ async function activateWithInstalledDistribution(
|
||||
...getPackagingCommands({
|
||||
cliServer,
|
||||
}),
|
||||
...dataExtensionsEditorModule.getCommands(),
|
||||
...modelEditorModule.getCommands(),
|
||||
...evalLogViewer.getCommands(),
|
||||
...summaryLanguageSupport.getCommands(),
|
||||
...testUiCommands,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { ExtensionContext } from "vscode";
|
||||
import { DataExtensionsEditorView } from "./model-editor-view";
|
||||
import { DataExtensionsEditorCommands } from "../common/commands";
|
||||
import { ModelEditorView } from "./model-editor-view";
|
||||
import { ModelEditorCommands } from "../common/commands";
|
||||
import { CliVersionConstraint, CodeQLCliServer } from "../codeql-cli/cli";
|
||||
import { QueryRunner } from "../query-server";
|
||||
import { DatabaseItem, DatabaseManager } from "../databases/local-databases";
|
||||
@@ -23,12 +23,11 @@ import { MethodModelingPanel } from "./method-modeling/method-modeling-panel";
|
||||
|
||||
const SUPPORTED_LANGUAGES: string[] = ["java", "csharp"];
|
||||
|
||||
export class DataExtensionsEditorModule extends DisposableObject {
|
||||
export class ModelEditorModule extends DisposableObject {
|
||||
private readonly queryStorageDir: string;
|
||||
private readonly methodsUsagePanel: MethodsUsagePanel;
|
||||
|
||||
private mostRecentlyActiveView: DataExtensionsEditorView | undefined =
|
||||
undefined;
|
||||
private mostRecentlyActiveView: ModelEditorView | undefined = undefined;
|
||||
|
||||
private constructor(
|
||||
private readonly ctx: ExtensionContext,
|
||||
@@ -47,17 +46,17 @@ export class DataExtensionsEditorModule extends DisposableObject {
|
||||
this.push(new MethodModelingPanel(ctx));
|
||||
}
|
||||
|
||||
private handleViewBecameActive(view: DataExtensionsEditorView): void {
|
||||
private handleViewBecameActive(view: ModelEditorView): void {
|
||||
this.mostRecentlyActiveView = view;
|
||||
}
|
||||
|
||||
private handleViewWasDisposed(view: DataExtensionsEditorView): void {
|
||||
private handleViewWasDisposed(view: ModelEditorView): void {
|
||||
if (this.mostRecentlyActiveView === view) {
|
||||
this.mostRecentlyActiveView = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
private isMostRecentlyActiveView(view: DataExtensionsEditorView): boolean {
|
||||
private isMostRecentlyActiveView(view: ModelEditorView): boolean {
|
||||
return this.mostRecentlyActiveView === view;
|
||||
}
|
||||
|
||||
@@ -68,8 +67,8 @@ export class DataExtensionsEditorModule extends DisposableObject {
|
||||
cliServer: CodeQLCliServer,
|
||||
queryRunner: QueryRunner,
|
||||
queryStorageDir: string,
|
||||
): Promise<DataExtensionsEditorModule> {
|
||||
const dataExtensionsEditorModule = new DataExtensionsEditorModule(
|
||||
): Promise<ModelEditorModule> {
|
||||
const modelEditorModule = new ModelEditorModule(
|
||||
ctx,
|
||||
app,
|
||||
databaseManager,
|
||||
@@ -78,11 +77,11 @@ export class DataExtensionsEditorModule extends DisposableObject {
|
||||
queryStorageDir,
|
||||
);
|
||||
|
||||
await dataExtensionsEditorModule.initialize();
|
||||
return dataExtensionsEditorModule;
|
||||
await modelEditorModule.initialize();
|
||||
return modelEditorModule;
|
||||
}
|
||||
|
||||
public getCommands(): DataExtensionsEditorCommands {
|
||||
public getCommands(): ModelEditorCommands {
|
||||
return {
|
||||
"codeQL.openDataExtensionsEditor": async () => {
|
||||
const db = this.databaseManager.currentDatabaseItem;
|
||||
@@ -141,7 +140,7 @@ export class DataExtensionsEditorModule extends DisposableObject {
|
||||
return;
|
||||
}
|
||||
|
||||
const view = new DataExtensionsEditorView(
|
||||
const view = new ModelEditorView(
|
||||
this.ctx,
|
||||
this.app,
|
||||
this.databaseManager,
|
||||
|
||||
@@ -10,8 +10,8 @@ import {
|
||||
WebviewPanelConfig,
|
||||
} from "../common/vscode/abstract-webview";
|
||||
import {
|
||||
FromDataExtensionsEditorMessage,
|
||||
ToDataExtensionsEditorMessage,
|
||||
FromModelEditorMessage,
|
||||
ToModelEditorMessage,
|
||||
} from "../common/interface-types";
|
||||
import { ProgressCallback, withProgress } from "../common/vscode/progress";
|
||||
import { QueryRunner } from "../query-server";
|
||||
@@ -40,9 +40,9 @@ 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,
|
||||
FromDataExtensionsEditorMessage
|
||||
export class ModelEditorView extends AbstractWebview<
|
||||
ToModelEditorMessage,
|
||||
FromModelEditorMessage
|
||||
> {
|
||||
private readonly autoModeler: AutoModeler;
|
||||
|
||||
@@ -66,14 +66,10 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
hideModeledApis: boolean,
|
||||
) => Promise<void>,
|
||||
private readonly revealItemInUsagePanel: (usage: Usage) => Promise<void>,
|
||||
private readonly handleViewBecameActive: (
|
||||
view: DataExtensionsEditorView,
|
||||
) => void,
|
||||
private readonly handleViewWasDisposed: (
|
||||
view: DataExtensionsEditorView,
|
||||
) => void,
|
||||
private readonly handleViewBecameActive: (view: ModelEditorView) => void,
|
||||
private readonly handleViewWasDisposed: (view: ModelEditorView) => void,
|
||||
private readonly isMostRecentlyActiveView: (
|
||||
view: DataExtensionsEditorView,
|
||||
view: ModelEditorView,
|
||||
) => boolean,
|
||||
) {
|
||||
super(ctx);
|
||||
@@ -121,7 +117,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
void this.app.commands.execute(
|
||||
"setContext",
|
||||
"codeql.dataExtensionsEditorOpen",
|
||||
this.isADataExtensionsEditorOpen(),
|
||||
this.isAModelEditorOpen(),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -134,7 +130,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
);
|
||||
}
|
||||
|
||||
private isADataExtensionsEditorOpen(): boolean {
|
||||
private isAModelEditorOpen(): boolean {
|
||||
return window.tabGroups.all.some((tabGroup) =>
|
||||
tabGroup.tabs.some((tab) => {
|
||||
const viewType: string | undefined = (tab.input as any)?.viewType;
|
||||
@@ -169,9 +165,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
// Nothing to do here
|
||||
}
|
||||
|
||||
protected async onMessage(
|
||||
msg: FromDataExtensionsEditorMessage,
|
||||
): Promise<void> {
|
||||
protected async onMessage(msg: FromModelEditorMessage): Promise<void> {
|
||||
switch (msg.t) {
|
||||
case "viewLoaded":
|
||||
await this.onWebViewLoaded();
|
||||
@@ -433,7 +427,7 @@ export class DataExtensionsEditorView extends AbstractWebview<
|
||||
return;
|
||||
}
|
||||
|
||||
const view = new DataExtensionsEditorView(
|
||||
const view = new ModelEditorView(
|
||||
this.ctx,
|
||||
this.app,
|
||||
this.databaseManager,
|
||||
|
||||
@@ -3,20 +3,20 @@ import * as React from "react";
|
||||
import { Meta, StoryFn } from "@storybook/react";
|
||||
|
||||
import { Mode } from "../../model-editor/shared/mode";
|
||||
import { DataExtensionsEditor as DataExtensionsEditorComponent } from "../../view/model-editor/ModelEditor";
|
||||
import { ModelEditor as ModelEditorComponent } from "../../view/model-editor/ModelEditor";
|
||||
import { CallClassification } from "../../model-editor/external-api-usage";
|
||||
|
||||
export default {
|
||||
title: "CodeQL Model Editor/CodeQL Model Editor",
|
||||
component: DataExtensionsEditorComponent,
|
||||
} as Meta<typeof DataExtensionsEditorComponent>;
|
||||
component: ModelEditorComponent,
|
||||
} as Meta<typeof ModelEditorComponent>;
|
||||
|
||||
const Template: StoryFn<typeof DataExtensionsEditorComponent> = (args) => (
|
||||
<DataExtensionsEditorComponent {...args} />
|
||||
const Template: StoryFn<typeof ModelEditorComponent> = (args) => (
|
||||
<ModelEditorComponent {...args} />
|
||||
);
|
||||
|
||||
export const DataExtensionsEditor = Template.bind({});
|
||||
DataExtensionsEditor.args = {
|
||||
export const ModelEditor = Template.bind({});
|
||||
ModelEditor.args = {
|
||||
initialViewState: {
|
||||
extensionPack: {
|
||||
path: "/home/user/vscode-codeql-starter/codeql-custom-queries-java/sql2o",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import * as React from "react";
|
||||
import { useCallback, useEffect, useMemo, useState } from "react";
|
||||
import { ToDataExtensionsEditorMessage } from "../../common/interface-types";
|
||||
import { ToModelEditorMessage } from "../../common/interface-types";
|
||||
import {
|
||||
VSCodeButton,
|
||||
VSCodeCheckbox,
|
||||
@@ -28,7 +28,7 @@ const LoadingContainer = styled.div`
|
||||
font-weight: 600;
|
||||
`;
|
||||
|
||||
const DataExtensionsEditorContainer = styled.div`
|
||||
const ModelEditorContainer = styled.div`
|
||||
margin-top: 1rem;
|
||||
`;
|
||||
|
||||
@@ -78,7 +78,7 @@ type Props = {
|
||||
initialHideModeledApis?: boolean;
|
||||
};
|
||||
|
||||
export function DataExtensionsEditor({
|
||||
export function ModelEditor({
|
||||
initialViewState,
|
||||
initialExternalApiUsages = [],
|
||||
initialModeledMethods = {},
|
||||
@@ -117,7 +117,7 @@ export function DataExtensionsEditor({
|
||||
useEffect(() => {
|
||||
const listener = (evt: MessageEvent) => {
|
||||
if (evt.origin === window.origin) {
|
||||
const msg: ToDataExtensionsEditorMessage = evt.data;
|
||||
const msg: ToModelEditorMessage = evt.data;
|
||||
switch (msg.t) {
|
||||
case "setModelEditorViewState":
|
||||
setViewState(msg.viewState);
|
||||
@@ -297,7 +297,7 @@ export function DataExtensionsEditor({
|
||||
}
|
||||
|
||||
return (
|
||||
<DataExtensionsEditorContainer>
|
||||
<ModelEditorContainer>
|
||||
<HeaderContainer>
|
||||
<HeaderColumn>
|
||||
<HeaderRow>
|
||||
@@ -371,6 +371,6 @@ export function DataExtensionsEditor({
|
||||
onModelDependencyClick={onModelDependencyClick}
|
||||
/>
|
||||
</EditorContainer>
|
||||
</DataExtensionsEditorContainer>
|
||||
</ModelEditorContainer>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import * as React from "react";
|
||||
import { WebviewDefinition } from "../webview-definition";
|
||||
import { DataExtensionsEditor } from "./ModelEditor";
|
||||
import { ModelEditor } from "./ModelEditor";
|
||||
|
||||
const definition: WebviewDefinition = {
|
||||
component: <DataExtensionsEditor />,
|
||||
component: <ModelEditor />,
|
||||
};
|
||||
|
||||
export default definition;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import {
|
||||
FromCompareViewMessage,
|
||||
FromDataExtensionsEditorMessage,
|
||||
FromModelEditorMessage,
|
||||
FromResultsViewMsg,
|
||||
FromVariantAnalysisMessage,
|
||||
VariantAnalysisState,
|
||||
@@ -15,7 +15,7 @@ interface VsCodeApi {
|
||||
| FromResultsViewMsg
|
||||
| FromCompareViewMessage
|
||||
| FromVariantAnalysisMessage
|
||||
| FromDataExtensionsEditorMessage,
|
||||
| FromModelEditorMessage,
|
||||
): void;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user