From cce2e8a8b5d431b11c6f63e1fdc8ba8706b94d3a Mon Sep 17 00:00:00 2001 From: Amir Raminfar Date: Sun, 27 Oct 2024 07:16:20 -0700 Subject: [PATCH] fix: fixes toggle all when fields have not been set for JSON (#3349) --- assets/components/LogViewer/LogDetails.vue | 4 ++++ assets/models/LogEntry.ts | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/assets/components/LogViewer/LogDetails.vue b/assets/components/LogViewer/LogDetails.vue index 25bc3e71..a9e48092 100644 --- a/assets/components/LogViewer/LogDetails.vue +++ b/assets/components/LogViewer/LogDetails.vue @@ -133,6 +133,10 @@ const toggleAllFields = computed({ for (const key of visibleKeys.value.keys()) { visibleKeys.value.set(key, value); } + + for (const field of fields.value) { + visibleKeys.value.set(field.key, value); + } }, }); diff --git a/assets/models/LogEntry.ts b/assets/models/LogEntry.ts index 9f6c7e03..8ee5ff1d 100644 --- a/assets/models/LogEntry.ts +++ b/assets/models/LogEntry.ts @@ -86,13 +86,17 @@ export class ComplexLogEntry extends LogEntry { return flattenJSON(message); } else { const flatJSON = flattenJSON(message); + const filteredJSON: Record = {}; for (const [keys, enabled] of visibleKeys.value.entries()) { const key = keys.join("."); if (!enabled) { delete flatJSON[key]; + continue; } + filteredJSON[key] = flatJSON[key]; + delete flatJSON[key]; } - return flatJSON; + return { ...filteredJSON, ...flatJSON }; } }); } else {