Skip to content

Commit

Permalink
fix: disable global EDA panel cache (#1014)
Browse files Browse the repository at this point in the history
### Summary of Changes

Disable the global EDA panel cache for now, so tables get refreshed
after code changes.

See also
#986 (comment).
  • Loading branch information
lars-reimann authored Apr 8, 2024
1 parent eb6e4b6 commit f888027
Showing 1 changed file with 24 additions and 24 deletions.
48 changes: 24 additions & 24 deletions packages/safe-ds-vscode/src/extension/eda/edaPanel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { ToExtensionMessage } from '@safe-ds/eda/types/messaging.js';
import * as webviewApi from './apis/webviewApi.ts';
import { State } from '@safe-ds/eda/types/state.js';
import { logOutput, printOutputMessage } from '../output.ts';
import { SafeDsServices, ast } from '@safe-ds/lang';
import { ast, SafeDsServices } from '@safe-ds/lang';
import { RunnerApi } from './apis/runnerApi.ts';

export class EDAPanel {
Expand Down Expand Up @@ -79,19 +79,19 @@ export class EDAPanel {
break;
}
case 'setCurrentGlobalState': {
if (!data.value) {
return;
}
const existingStates = (EDAPanel.context.globalState.get('webviewState') ?? []) as State[];
const stateExists = existingStates.some((s) => s.tableIdentifier === data.value.tableIdentifier);

const newWebviewState = stateExists
? (existingStates.map((s) =>
s.tableIdentifier === data.value.tableIdentifier ? data.value : s,
) as State[])
: existingStates.concat(data.value);

EDAPanel.context.globalState.update('webviewState', newWebviewState);
// if (!data.value) {
// return;
// }
// const existingStates = (EDAPanel.context.globalState.get('webviewState') ?? []) as State[];
// const stateExists = existingStates.some((s) => s.tableIdentifier === data.value.tableIdentifier);

// const newWebviewState = stateExists
// ? (existingStates.map((s) =>
// s.tableIdentifier === data.value.tableIdentifier ? data.value : s,
// ) as State[])
// : existingStates.concat(data.value);

// EDAPanel.context.globalState.update('webviewState', newWebviewState);
break;
}
case 'resetGlobalState': {
Expand Down Expand Up @@ -239,18 +239,18 @@ export class EDAPanel {
});
};

private findCurrentState(): State | undefined {
const existingStates = (EDAPanel.context.globalState.get('webviewState') ?? []) as State[];
return existingStates.find((s) => s.tableIdentifier === this.tableIdentifier);
}
// private findCurrentState(): State | undefined {
// const existingStates = (EDAPanel.context.globalState.get('webviewState') ?? []) as State[];
// return existingStates.find((s) => s.tableIdentifier === this.tableIdentifier);
// }

private async constructCurrentState(): Promise<{ state: State; fromExisting: boolean }> {
const existingCurrentState = this.findCurrentState();
if (existingCurrentState) {
printOutputMessage('Found current State.');
return { state: existingCurrentState, fromExisting: true };
}

// const existingCurrentState = this.findCurrentState();
// if (existingCurrentState) {
// printOutputMessage('Found current State.');
// return { state: existingCurrentState, fromExisting: true };
// }
//
const panel = EDAPanel.panelsMap.get(this.tableIdentifier);
if (!panel) {
throw new Error('RunnerApi panel not found.');
Expand Down

0 comments on commit f888027

Please sign in to comment.