fix: update hasUnsavedChanges logic for draft versions and improve visualization spec handling

This commit is contained in:
2025-01-19 14:12:54 +02:00
parent 2664b12c12
commit 86058767a1
2 changed files with 9 additions and 5 deletions

View File

@@ -43,10 +43,11 @@ export class SnippetManager {
snippet.content;
this.editorManager.setValue(content);
this.hasUnsavedChanges = false;
// Set hasUnsavedChanges to true if we're viewing a draft version
this.hasUnsavedChanges = this.isDraftVersion;
this.updateReadOnlyState();
this.uiManager.updateSaveButton(this.hasUnsavedChanges);
this.uiManager.updateVersionSwitch(this.currentSnippetId, this.isDraftVersion, this.hasDraftChanges(this.currentSnippetId));
this.uiManager.updateVersionSwitch(this.currentSnippetId, this.isDraftVersion, hasChanges);
this.uiManager.renderSnippetList(this.snippets, this.currentSnippetId);
this.visualizationManager.updateVisualization(content);
}

View File

@@ -6,10 +6,13 @@ export class VisualizationManager {
async updateVisualization(spec) {
try {
const parsedSpec = typeof spec === 'string' ? JSON.parse(spec) : spec;
parsedSpec.width = parsedSpec.width || 'container';
parsedSpec.height = parsedSpec.height || 'container';
const displaySpec = {
...parsedSpec,
width: parsedSpec.width || 'container',
height: parsedSpec.height || 'container'
};
await vegaEmbed(`#${this.containerId}`, parsedSpec, {
await vegaEmbed(`#${this.containerId}`, displaySpec, {
actions: true,
theme: 'light'
});