* WIP for using json all the time * Updates to render * adds a new component for json * Updates styles * Adds nesting * Adds field list * Adds expanding * Adds new composable for event source * Creates an add button * Removes unused code * Adds and removes fields with defaults * Fixes jumping when adding new fields * Returns JSON correctly * Fixes little bugs * Fixes js tests * Adds vscode * Fixes json buffer error * Fixes extra line * Fixes tests * Fixes tests and adds support for search * Refactors visible payload keys to a composable * Fixes typescript errors and refactors * Fixes visible keys by ComputedRef<Ref> * Fixes search bugs * Updates tests * Fixes go tests * Fixes scroll view * Fixes vue tsc errors * Fixes EOF error * Fixes build error * Uses application/ld+json * Fixes arrays and records * Marks for json too
26 lines
779 B
Vue
26 lines
779 B
Vue
<template>
|
|
<infinite-loader :onLoadMore="fetchMore" :enabled="messages.length > 100"></infinite-loader>
|
|
<slot :messages="messages"></slot>
|
|
</template>
|
|
|
|
<script lang="ts" setup>
|
|
import { useEventSource } from "@/composables/eventsource";
|
|
import { Container } from "@/types/Container";
|
|
import { inject, ComputedRef } from "vue";
|
|
|
|
const emit = defineEmits(["loading-more"]);
|
|
const container = inject("container") as ComputedRef<Container>;
|
|
const { connect, messages, loadOlderLogs } = useEventSource(container);
|
|
|
|
const beforeLoading = () => emit("loading-more", true);
|
|
const afterLoading = () => emit("loading-more", false);
|
|
|
|
defineExpose({
|
|
clear: () => (messages.value = []),
|
|
});
|
|
|
|
const fetchMore = () => loadOlderLogs({ beforeLoading, afterLoading });
|
|
|
|
connect();
|
|
</script>
|