import InjectProperty from "@web-atoms/core/dist/core/InjectProperty"; import { ContentPage } from "@web-atoms/web-controls/dist/mobile-app/MobileApp"; import TraceService from "../../../services/TraceService"; import XNode from "@web-atoms/core/dist/core/XNode"; import AtomRepeater from "@web-atoms/web-controls/dist/basic/AtomRepeater"; import InfiniteRepeater from "../../../common/InfiniteRepeater"; import { LiveTraceSocket } from "../../../services/socket/sockets"; import { ITrace } from "../../../model/model"; import { DateFormats } from "../../../common/date/DateFormats"; import Action from "@web-atoms/core/dist/view-model/Action"; import PageNavigator from "@web-atoms/web-controls/dist/PageNavigator"; import TraceDetailPage from "../traces/detail/TraceDetailPage"; import styled from "@web-atoms/core/dist/style/styled"; import Select from "@web-atoms/web-controls/dist/basic/Select"; import Bind from "@web-atoms/core/dist/core/Bind"; import NameDropDown from "../../../controls/drop-downs/NameDropDown"; const css = styled.css ` & .trace { & .log { display: inline-block; max-height: 150px; text-overflow: ellipsis; white-space: break-spaces; overflow: hidden; } } `.installLocal(); const types = [ { label: "All", value: "" }, { label: "Error", value: "error"} ]; export default class HomePage extends ContentPage { @InjectProperty traceService: TraceService; @InjectProperty liveTrace: LiveTraceSocket; traces = []; version = 1; hostID = 0; type = ""; async init() { this.registerDisposable(await this.liveTrace.join("*", { send: (sourceID, { traceID }) => { this.version++; }, })); this.element.className = css; this.headerRenderer = () =>