mirror of
https://github.com/amir20/dozzle.git
synced 2025-12-24 06:28:42 +01:00
* Trims top events depending on scroll status * Cleans up models and adds better OOP around logging events * Adds log entries being skipped component * Fixes type errors * Fixes tets * Styles skipping logs
28 lines
754 B
Vue
28 lines
754 B
Vue
<template>
|
|
<infinite-loader :onLoadMore="fetchMore" :enabled="messages.length > 100"></infinite-loader>
|
|
<slot :messages="messages"></slot>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { type Container } from "@/types/Container";
|
|
import { type ComputedRef } from "vue";
|
|
|
|
const emit = defineEmits<{
|
|
(e: "loading-more", value: boolean): void;
|
|
}>();
|
|
|
|
const container = inject("container") as ComputedRef<Container>;
|
|
const { connect, messages, loadOlderLogs } = useLogStream(container);
|
|
|
|
const beforeLoading = () => emit("loading-more", true);
|
|
const afterLoading = () => emit("loading-more", false);
|
|
|
|
defineExpose({
|
|
clear: () => (messages.value = []),
|
|
});
|
|
|
|
const fetchMore = () => loadOlderLogs({ beforeLoading, afterLoading });
|
|
|
|
connect();
|
|
</script>
|