1
0
mirror of https://github.com/amir20/dozzle.git synced 2025-12-24 06:28:42 +01:00

fix: uses a single key in localStorage to save all visible JSON keys. (#2530)

This commit is contained in:
Amir Raminfar
2023-11-23 18:37:00 -08:00
committed by GitHub
parent 26cd16a403
commit 2ed41282a5
3 changed files with 13 additions and 6 deletions

View File

@@ -15,7 +15,7 @@
>
<ic:sharp-find-in-page />
</a>
<component :is="item.getComponent()" :log-entry="item" :visible-keys="visibleKeys.value" />
<component :is="item.getComponent()" :log-entry="item" :visible-keys="visibleKeys" />
</li>
</ul>
</template>
@@ -32,7 +32,7 @@ const props = defineProps<{
const { container } = useContainerContext();
let visibleKeys = persistentVisibleKeys(container);
const visibleKeys = persistentVisibleKeys(container);
const { filteredPayload } = useVisibleFilter(visibleKeys);
const { filteredMessages, resetSearch, isSearching } = useSearchFilter();

View File

@@ -8,7 +8,14 @@ if (config.hosts.length === 1 && !sessionHost.value) {
}
export function persistentVisibleKeys(container: Ref<Container>) {
return computed(() => useStorage(container.value.storageKey, []));
const storage = useStorage<{ [key: string]: string[][] }>("DOZZLE_VISIBLE_KEYS", {});
return computed(() => {
if (!(container.value.storageKey in storage.value)) {
storage.value[container.value.storageKey] = [];
}
return storage.value[container.value.storageKey];
});
}
const DOZZLE_PINNED_CONTAINERS = "DOZZLE_PINNED_CONTAINERS";

View File

@@ -1,12 +1,12 @@
import { ComplexLogEntry, type JSONObject, type LogEntry } from "@/models/LogEntry";
import type { ComputedRef, Ref } from "vue";
import type { Ref } from "vue";
export function useVisibleFilter(visibleKeys: ComputedRef<Ref<string[][]>>) {
export function useVisibleFilter(visibleKeys: Ref<string[][]>) {
function filteredPayload(messages: Ref<LogEntry<string | JSONObject>[]>) {
return computed(() => {
return messages.value.map((d) => {
if (d instanceof ComplexLogEntry) {
return ComplexLogEntry.fromLogEvent(d, visibleKeys.value);
return ComplexLogEntry.fromLogEvent(d, visibleKeys);
} else {
return d;
}