diff --git a/assets/components.d.ts b/assets/components.d.ts
index 323db965..1d761f96 100644
--- a/assets/components.d.ts
+++ b/assets/components.d.ts
@@ -10,18 +10,22 @@ declare module '@vue/runtime-core' {
CarbonCaretDown: typeof import('~icons/carbon/caret-down')['default']
CilColumns: typeof import('~icons/cil/columns')['default']
CilFindInPage: typeof import('~icons/cil/find-in-page')['default']
- ContainerStat: typeof import('./components/ContainerStat.vue')['default']
- ContainerTitle: typeof import('./components/ContainerTitle.vue')['default']
+ ComplexLogItem: typeof import('./components/LogViewer/ComplexLogItem.vue')['default']
+ ComplexPayload: typeof import('./components/LogViewer/ComplexPayload.vue')['default']
+ ContainerStat: typeof import('./components/LogViewer/ContainerStat.vue')['default']
+ ContainerTitle: typeof import('./components/LogViewer/ContainerTitle.vue')['default']
+ copy: typeof import('./components/LogViewer/DockerEventLogItem copy.vue')['default']
+ DockerEventLogItem: typeof import('./components/LogViewer/DockerEventLogItem.vue')['default']
DropdownMenu: typeof import('./components/DropdownMenu.vue')['default']
FieldList: typeof import('./components/FieldList.vue')['default']
FuzzySearchModal: typeof import('./components/FuzzySearchModal.vue')['default']
InfiniteLoader: typeof import('./components/InfiniteLoader.vue')['default']
- JSONPayload: typeof import('./components/JSONPayload.vue')['default']
+ JSONPayload: typeof import('./components/LogViewer/JSONPayload.vue')['default']
LogActionsToolbar: typeof import('./components/LogActionsToolbar.vue')['default']
- LogContainer: typeof import('./components/LogContainer.vue')['default']
- LogEventSource: typeof import('./components/LogEventSource.vue')['default']
- LogViewer: typeof import('./components/LogViewer.vue')['default']
- LogViewerWithSource: typeof import('./components/LogViewerWithSource.vue')['default']
+ LogContainer: typeof import('./components/LogViewer/LogContainer.vue')['default']
+ LogEventSource: typeof import('./components/LogViewer/LogEventSource.vue')['default']
+ LogViewer: typeof import('./components/LogViewer/LogViewer.vue')['default']
+ LogViewerWithSource: typeof import('./components/LogViewer/LogViewerWithSource.vue')['default']
MdiDotsVertical: typeof import('~icons/mdi/dots-vertical')['default']
MdiLightChevronDoubleDown: typeof import('~icons/mdi-light/chevron-double-down')['default']
MdiLightChevronLeft: typeof import('~icons/mdi-light/chevron-left')['default']
@@ -40,5 +44,8 @@ declare module '@vue/runtime-core' {
ScrollProgress: typeof import('./components/ScrollProgress.vue')['default']
Search: typeof import('./components/Search.vue')['default']
SideMenu: typeof import('./components/SideMenu.vue')['default']
+ SimpleLogItem: typeof import('./components/LogViewer/SimpleLogItem.vue')['default']
+ SkippedEntriesLogItem: typeof import('./components/LogViewer/SkippedEntriesLogItem.vue')['default']
+ StringPayload: typeof import('./components/LogViewer/StringPayload.vue')['default']
}
}
diff --git a/assets/components/JSONPayload.vue b/assets/components/LogViewer/ComplexLogItem.vue
similarity index 69%
rename from assets/components/JSONPayload.vue
rename to assets/components/LogViewer/ComplexLogItem.vue
index eefdc4dc..6001a35d 100644
--- a/assets/components/JSONPayload.vue
+++ b/assets/components/LogViewer/ComplexLogItem.vue
@@ -7,27 +7,19 @@
-
+
diff --git a/assets/components/LogContainer.vue b/assets/components/LogViewer/LogContainer.vue
similarity index 100%
rename from assets/components/LogContainer.vue
rename to assets/components/LogViewer/LogContainer.vue
diff --git a/assets/components/LogEventSource.spec.ts b/assets/components/LogViewer/LogEventSource.spec.ts
similarity index 98%
rename from assets/components/LogEventSource.spec.ts
rename to assets/components/LogViewer/LogEventSource.spec.ts
index 4eda4420..f9e445c8 100644
--- a/assets/components/LogEventSource.spec.ts
+++ b/assets/components/LogViewer/LogEventSource.spec.ts
@@ -4,7 +4,7 @@ import { createTestingPinia } from "@pinia/testing";
import EventSource, { sources } from "eventsourcemock";
import LogEventSource from "./LogEventSource.vue";
import LogViewer from "./LogViewer.vue";
-import { settings } from "../composables/settings";
+import { settings } from "../../composables/settings";
import { useSearchFilter } from "@/composables/search";
import { vi, describe, expect, beforeEach, test, beforeAll, afterAll, afterEach } from "vitest";
import { computed, nextTick } from "vue";
@@ -68,6 +68,7 @@ describe("", () => {
},
provide: {
container: computed(() => ({ id: "abc", image: "test:v123" })),
+ scrollingPaused: computed(() => false),
},
},
slots: {
diff --git a/assets/components/LogEventSource.vue b/assets/components/LogViewer/LogEventSource.vue
similarity index 89%
rename from assets/components/LogEventSource.vue
rename to assets/components/LogViewer/LogEventSource.vue
index a7bedc5c..b5046dcd 100644
--- a/assets/components/LogEventSource.vue
+++ b/assets/components/LogViewer/LogEventSource.vue
@@ -7,7 +7,10 @@
import { type Container } from "@/types/Container";
import { type ComputedRef } from "vue";
-const emit = defineEmits(["loading-more"]);
+const emit = defineEmits<{
+ (e: "loading-more", value: boolean): void;
+}>();
+
const container = inject("container") as ComputedRef;
const { connect, messages, loadOlderLogs } = useLogStream(container);
diff --git a/assets/components/LogViewer.vue b/assets/components/LogViewer/LogViewer.vue
similarity index 74%
rename from assets/components/LogViewer.vue
rename to assets/components/LogViewer/LogViewer.vue
index a94addf7..2a0afa5e 100644
--- a/assets/components/LogViewer.vue
+++ b/assets/components/LogViewer/LogViewer.vue
@@ -4,7 +4,6 @@
v-for="(item, index) in filtered"
:key="item.id"
:data-key="item.id"
- :data-event="item.event"
:class="{ selected: toRaw(item) === toRaw(lastSelectedItem) }"
>
@@ -25,45 +24,35 @@
-
-
+
+
+
diff --git a/assets/components/LogViewer/SkippedEntriesLogItem.vue b/assets/components/LogViewer/SkippedEntriesLogItem.vue
new file mode 100644
index 00000000..dd9ca910
--- /dev/null
+++ b/assets/components/LogViewer/SkippedEntriesLogItem.vue
@@ -0,0 +1,24 @@
+
+ {{ logEntry.message }}
+
+
+
+
diff --git a/assets/components/__snapshots__/LogEventSource.spec.ts.snap b/assets/components/LogViewer/__snapshots__/LogEventSource.spec.ts.snap
similarity index 66%
rename from assets/components/__snapshots__/LogEventSource.spec.ts.snap
rename to assets/components/LogViewer/__snapshots__/LogEventSource.spec.ts.snap
index 7cfe320d..5df93a57 100644
--- a/assets/components/__snapshots__/LogEventSource.spec.ts.snap
+++ b/assets/components/LogViewer/__snapshots__/LogEventSource.spec.ts.snap
@@ -1,181 +1,169 @@
// Vitest Snapshot v1
exports[` > render html correctly > should render dates with 12 hour style 1`] = `
-"