@oneuptime/common 8.0.5479 → 8.0.5488

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/Server/Utils/Execute.ts +8 -13
  2. package/UI/Components/LogsViewer/LogsViewer.tsx +331 -367
  3. package/UI/Components/LogsViewer/components/LogDetailsPanel.tsx +343 -0
  4. package/UI/Components/LogsViewer/components/LogsFilterCard.tsx +74 -0
  5. package/UI/Components/LogsViewer/components/LogsPagination.tsx +109 -0
  6. package/UI/Components/LogsViewer/components/LogsTable.tsx +270 -0
  7. package/UI/Components/LogsViewer/components/LogsViewerToolbar.tsx +51 -0
  8. package/UI/Components/LogsViewer/components/SeverityBadge.tsx +28 -0
  9. package/UI/Components/LogsViewer/components/severityTheme.ts +69 -0
  10. package/build/dist/Server/Utils/Execute.js +1 -1
  11. package/build/dist/Server/Utils/Execute.js.map +1 -1
  12. package/build/dist/UI/Components/LogsViewer/LogsViewer.js +211 -201
  13. package/build/dist/UI/Components/LogsViewer/LogsViewer.js.map +1 -1
  14. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js +151 -0
  15. package/build/dist/UI/Components/LogsViewer/components/LogDetailsPanel.js.map +1 -0
  16. package/build/dist/UI/Components/LogsViewer/components/LogsFilterCard.js +40 -0
  17. package/build/dist/UI/Components/LogsViewer/components/LogsFilterCard.js.map +1 -0
  18. package/build/dist/UI/Components/LogsViewer/components/LogsPagination.js +49 -0
  19. package/build/dist/UI/Components/LogsViewer/components/LogsPagination.js.map +1 -0
  20. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js +130 -0
  21. package/build/dist/UI/Components/LogsViewer/components/LogsTable.js.map +1 -0
  22. package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js +20 -0
  23. package/build/dist/UI/Components/LogsViewer/components/LogsViewerToolbar.js.map +1 -0
  24. package/build/dist/UI/Components/LogsViewer/components/SeverityBadge.js +13 -0
  25. package/build/dist/UI/Components/LogsViewer/components/SeverityBadge.js.map +1 -0
  26. package/build/dist/UI/Components/LogsViewer/components/severityTheme.js +54 -0
  27. package/build/dist/UI/Components/LogsViewer/components/severityTheme.js.map +1 -0
  28. package/package.json +1 -1
  29. package/UI/Components/LogsViewer/LogItem.tsx +0 -503
  30. package/build/dist/UI/Components/LogsViewer/LogItem.js +0 -221
  31. package/build/dist/UI/Components/LogsViewer/LogItem.js.map +0 -1
@@ -1,15 +1,4 @@
1
- import DropdownUtil from "../../Utils/Dropdown";
2
- import ComponentLoader from "../ComponentLoader/ComponentLoader";
3
- import FiltersForm from "../Filters/FiltersForm";
4
- import FieldType from "../Types/FieldType";
5
- import LogItem from "./LogItem";
6
- import LogSeverity from "../../../Types/Log/LogSeverity";
7
- import React, { useCallback, useMemo, } from "react";
8
- import Toggle from "../Toggle/Toggle";
9
- import Card from "../Card/Card";
10
- import Icon from "../Icon/Icon";
11
- import Button, { ButtonSize, ButtonStyleType } from "../Button/Button";
12
- import IconProp from "../../../Types/Icon/IconProp";
1
+ import React, { useCallback, useEffect, useMemo, useState, } from "react";
13
2
  import ModelAPI from "../../Utils/ModelAPI/ModelAPI";
14
3
  import URL from "../../../Types/API/URL";
15
4
  import HTTPErrorResponse from "../../../Types/API/HTTPErrorResponse";
@@ -20,29 +9,134 @@ import ErrorMessage from "../ErrorMessage/ErrorMessage";
20
9
  import TelemetryService from "../../../Models/DatabaseModels/TelemetryService";
21
10
  import { LIMIT_PER_PROJECT } from "../../../Types/Database/LimitMax";
22
11
  import SortOrder from "../../../Types/BaseDatabase/SortOrder";
12
+ import LogsFilterCard from "./components/LogsFilterCard";
13
+ import LogsViewerToolbar from "./components/LogsViewerToolbar";
14
+ import LogsTable, { resolveLogIdentifier, } from "./components/LogsTable";
15
+ import LogsPagination from "./components/LogsPagination";
16
+ import LogDetailsPanel from "./components/LogDetailsPanel";
17
+ const DEFAULT_PAGE_SIZE = 100;
18
+ const PAGE_SIZE_OPTIONS = [100, 250, 500, 1000];
19
+ const severityWeight = {
20
+ fatal: 6,
21
+ error: 5,
22
+ warn: 4,
23
+ warning: 4,
24
+ info: 3,
25
+ notice: 3,
26
+ debug: 2,
27
+ trace: 1,
28
+ };
29
+ const getSeverityWeight = (severity) => {
30
+ if (!severity) {
31
+ return 0;
32
+ }
33
+ const normalized = severity.toString().toLowerCase();
34
+ return severityWeight[normalized] || 0;
35
+ };
23
36
  const LogsViewer = (props) => {
24
- const [filterData, setFilterData] = React.useState(props.filterData);
25
- const [screenHeight, setScreenHeight] = React.useState(typeof window !== "undefined" ? window.innerHeight : 900);
26
- const [autoScroll, setAutoScroll] = React.useState(true);
27
- const [showScrollToLatest, setShowScrollToLatest] = React.useState(false);
28
- const [isDescending, setIsDescending] = React.useState(false);
29
- // removed wrapLines toggle for a cleaner toolbar
30
- const logsViewerRef = React.useRef(null);
31
- const scrollContainerRef = React.useRef(null);
32
- const [logAttributes, setLogAttributes] = React.useState([]);
33
- const [attributesLoaded, setAttributesLoaded] = React.useState(false);
34
- const [attributesLoading, setAttributesLoading] = React.useState(false);
35
- const [attributesError, setAttributesError] = React.useState("");
36
- const [areAdvancedFiltersVisible, setAreAdvancedFiltersVisible] = React.useState(false);
37
- const [isPageLoading, setIsPageLoading] = React.useState(true);
38
- const [pageError, setPageError] = React.useState("");
39
- const [serviceMap, setServiceMap] = React.useState({});
40
- const displayLogs = useMemo(() => {
41
- if (isDescending) {
42
- return [...props.logs].reverse();
37
+ var _a, _b, _c, _d, _e;
38
+ const [filterData, setFilterData] = useState(props.filterData);
39
+ const [logAttributes, setLogAttributes] = useState([]);
40
+ const [attributesLoaded, setAttributesLoaded] = useState(false);
41
+ const [attributesLoading, setAttributesLoading] = useState(false);
42
+ const [attributesError, setAttributesError] = useState("");
43
+ const [areAdvancedFiltersVisible, setAreAdvancedFiltersVisible] = useState(false);
44
+ const [isPageLoading, setIsPageLoading] = useState(true);
45
+ const [pageError, setPageError] = useState("");
46
+ const [serviceMap, setServiceMap] = useState({});
47
+ const [selectedLogId, setSelectedLogId] = useState(null);
48
+ const [internalPage, setInternalPage] = useState(1);
49
+ const [internalPageSize, setInternalPageSize] = useState(DEFAULT_PAGE_SIZE);
50
+ const [localSortField, setLocalSortField] = useState("time");
51
+ const [localSortOrder, setLocalSortOrder] = useState(SortOrder.Descending);
52
+ useEffect(() => {
53
+ setFilterData(props.filterData);
54
+ }, [props.filterData]);
55
+ useEffect(() => {
56
+ if (props.sortField) {
57
+ setLocalSortField(props.sortField);
58
+ }
59
+ }, [props.sortField]);
60
+ useEffect(() => {
61
+ if (props.sortOrder) {
62
+ setLocalSortOrder(props.sortOrder);
63
+ }
64
+ }, [props.sortOrder]);
65
+ useEffect(() => {
66
+ if (props.pageSize) {
67
+ setInternalPageSize(props.pageSize);
68
+ }
69
+ }, [props.pageSize]);
70
+ const currentPage = (_a = props.page) !== null && _a !== void 0 ? _a : internalPage;
71
+ const pageSize = (_b = props.pageSize) !== null && _b !== void 0 ? _b : internalPageSize;
72
+ const totalItems = (_c = props.totalCount) !== null && _c !== void 0 ? _c : props.logs.length;
73
+ const totalPages = Math.max(1, Math.ceil(totalItems / Math.max(pageSize, 1)));
74
+ const sortField = (_d = props.sortField) !== null && _d !== void 0 ? _d : localSortField;
75
+ const sortOrder = (_e = props.sortOrder) !== null && _e !== void 0 ? _e : localSortOrder;
76
+ const shouldClientSort = !props.onSortChange;
77
+ const sortedLogs = useMemo(() => {
78
+ if (!shouldClientSort) {
79
+ return props.logs;
80
+ }
81
+ const cloned = [...props.logs];
82
+ cloned.sort((a, b) => {
83
+ var _a, _b;
84
+ if (sortField === "time") {
85
+ const aTime = Number(a.timeUnixNano) || (a.time ? new Date(a.time).getTime() : 0);
86
+ const bTime = Number(b.timeUnixNano) || (b.time ? new Date(b.time).getTime() : 0);
87
+ if (aTime === bTime) {
88
+ return 0;
89
+ }
90
+ return sortOrder === SortOrder.Descending
91
+ ? bTime - aTime
92
+ : aTime - bTime;
93
+ }
94
+ const aSeverity = getSeverityWeight((_a = a.severityText) === null || _a === void 0 ? void 0 : _a.toString());
95
+ const bSeverity = getSeverityWeight((_b = b.severityText) === null || _b === void 0 ? void 0 : _b.toString());
96
+ if (aSeverity === bSeverity) {
97
+ return 0;
98
+ }
99
+ return sortOrder === SortOrder.Descending
100
+ ? bSeverity - aSeverity
101
+ : aSeverity - bSeverity;
102
+ });
103
+ return cloned;
104
+ }, [props.logs, shouldClientSort, sortField, sortOrder]);
105
+ const shouldClientPaginate = props.totalCount === undefined;
106
+ const paginatedLogs = useMemo(() => {
107
+ if (!shouldClientPaginate) {
108
+ return sortedLogs;
109
+ }
110
+ if (sortedLogs.length === 0) {
111
+ return [];
112
+ }
113
+ const safePage = Math.min(Math.max(currentPage, 1), totalPages);
114
+ const startIndex = (safePage - 1) * pageSize;
115
+ return sortedLogs.slice(startIndex, startIndex + pageSize);
116
+ }, [sortedLogs, shouldClientPaginate, currentPage, totalPages, pageSize]);
117
+ const displayedLogs = shouldClientPaginate
118
+ ? paginatedLogs
119
+ : sortedLogs;
120
+ useEffect(() => {
121
+ if (!shouldClientPaginate || props.page !== undefined) {
122
+ return;
123
+ }
124
+ const safePage = Math.min(Math.max(internalPage, 1), totalPages);
125
+ if (safePage !== internalPage) {
126
+ setInternalPage(safePage);
127
+ }
128
+ }, [shouldClientPaginate, props.page, internalPage, totalPages]);
129
+ useEffect(() => {
130
+ if (!selectedLogId) {
131
+ return;
132
+ }
133
+ const stillExists = displayedLogs.some((log, index) => {
134
+ return resolveLogIdentifier(log, index) === selectedLogId;
135
+ });
136
+ if (!stillExists) {
137
+ setSelectedLogId(null);
43
138
  }
44
- return props.logs;
45
- }, [props.logs, isDescending]);
139
+ }, [displayedLogs, selectedLogId]);
46
140
  const loadTelemetryServices = useCallback(async () => {
47
141
  try {
48
142
  setIsPageLoading(true);
@@ -62,6 +156,9 @@ const LogsViewer = (props) => {
62
156
  });
63
157
  const services = {};
64
158
  telemetryServices.data.forEach((service) => {
159
+ if (!service.id) {
160
+ return;
161
+ }
65
162
  services[service.id.toString()] = service;
66
163
  });
67
164
  setServiceMap(services);
@@ -77,15 +174,15 @@ const LogsViewer = (props) => {
77
174
  try {
78
175
  setAttributesLoading(true);
79
176
  setAttributesError("");
80
- const attributeRepsonse = await API.post({
177
+ const attributeResponse = await API.post({
81
178
  url: URL.fromString(APP_API_URL.toString()).addRoute("/telemetry/logs/get-attributes"),
82
179
  data: {},
83
180
  headers: Object.assign({}, ModelAPI.getCommonHeaders()),
84
181
  });
85
- if (attributeRepsonse instanceof HTTPErrorResponse) {
86
- throw attributeRepsonse;
182
+ if (attributeResponse instanceof HTTPErrorResponse) {
183
+ throw attributeResponse;
87
184
  }
88
- const attributes = (attributeRepsonse.data["attributes"] || []);
185
+ const attributes = (attributeResponse.data["attributes"] || []);
89
186
  setLogAttributes(attributes);
90
187
  setAttributesLoaded(true);
91
188
  }
@@ -98,186 +195,99 @@ const LogsViewer = (props) => {
98
195
  setAttributesLoading(false);
99
196
  }
100
197
  }, []);
101
- // Update the screen height when the window is resized
102
- React.useEffect(() => {
198
+ useEffect(() => {
103
199
  void loadTelemetryServices();
104
- const handleResize = () => {
105
- setScreenHeight(window.innerHeight);
106
- };
107
- window.addEventListener("resize", handleResize);
108
- return () => {
109
- window.removeEventListener("resize", handleResize);
110
- };
111
200
  }, [loadTelemetryServices]);
112
- // Keep scroll aligned with the latest log entry
113
- const scrollToLatest = () => {
114
- const scrollContainer = scrollContainerRef.current;
115
- if (!scrollContainer) {
116
- return;
201
+ const resetPage = () => {
202
+ if (props.onPageChange) {
203
+ props.onPageChange(1);
117
204
  }
118
- if (isDescending) {
119
- scrollContainer.scrollTop = 0;
120
- return;
205
+ if (props.page === undefined) {
206
+ setInternalPage(1);
121
207
  }
122
- scrollContainer.scrollTop = scrollContainer.scrollHeight;
123
208
  };
124
- const applySortDirection = (nextDescending) => {
125
- setShowScrollToLatest(false);
126
- setIsDescending((previous) => {
127
- if (previous === nextDescending) {
128
- return previous;
129
- }
130
- // Apply scroll alignment after the DOM reorders log entries.
131
- setTimeout(() => {
132
- const scrollContainer = scrollContainerRef.current;
133
- if (!scrollContainer) {
134
- return;
135
- }
136
- if (nextDescending) {
137
- scrollContainer.scrollTop = 0;
138
- return;
139
- }
140
- scrollContainer.scrollTop = scrollContainer.scrollHeight;
141
- }, 0);
142
- return nextDescending;
143
- });
209
+ const handleApplyFilters = () => {
210
+ resetPage();
211
+ setSelectedLogId(null);
212
+ props.onFilterChanged(filterData);
144
213
  };
145
- const handleScroll = React.useCallback(() => {
146
- const scrollContainer = scrollContainerRef.current;
147
- if (!scrollContainer) {
148
- return;
214
+ const handlePageChange = (page) => {
215
+ if (props.onPageChange) {
216
+ props.onPageChange(page);
149
217
  }
150
- const { scrollTop, scrollHeight, clientHeight } = scrollContainer;
151
- const isNearLatest = isDescending
152
- ? scrollTop < 100
153
- : scrollHeight - scrollTop - clientHeight < 100;
154
- setShowScrollToLatest(!isNearLatest && displayLogs.length > 0);
155
- }, [isDescending, displayLogs.length]);
156
- React.useEffect(() => {
157
- if (!autoScroll) {
158
- return;
218
+ if (props.page === undefined) {
219
+ setInternalPage(page);
159
220
  }
160
- scrollToLatest();
161
- }, [props.logs, autoScroll, isDescending]);
162
- React.useEffect(() => {
163
- const scrollContainer = scrollContainerRef.current;
164
- if (scrollContainer) {
165
- scrollContainer.addEventListener("scroll", handleScroll);
166
- return () => {
167
- return scrollContainer.removeEventListener("scroll", handleScroll);
168
- };
221
+ setSelectedLogId(null);
222
+ setSelectedLogId(null);
223
+ };
224
+ const handlePageSizeChange = (size) => {
225
+ if (props.onPageSizeChange) {
226
+ props.onPageSizeChange(size);
169
227
  }
170
- return () => { }; // Return empty cleanup function if no scrollContainer
171
- }, [handleScroll]);
228
+ if (props.pageSize === undefined) {
229
+ setInternalPageSize(size);
230
+ }
231
+ resetPage();
232
+ setSelectedLogId(null);
233
+ };
234
+ const handleSortChange = (field) => {
235
+ var _a;
236
+ const isSameField = sortField === field;
237
+ const nextOrder = isSameField
238
+ ? sortOrder === SortOrder.Descending
239
+ ? SortOrder.Ascending
240
+ : SortOrder.Descending
241
+ : SortOrder.Descending;
242
+ setLocalSortField(field);
243
+ setLocalSortOrder(nextOrder);
244
+ (_a = props.onSortChange) === null || _a === void 0 ? void 0 : _a.call(props, field, nextOrder);
245
+ resetPage();
246
+ setSelectedLogId(null);
247
+ };
172
248
  if (isPageLoading) {
173
249
  return React.createElement(PageLoader, { isVisible: true });
174
250
  }
175
251
  if (pageError) {
176
252
  return React.createElement(ErrorMessage, { message: pageError });
177
253
  }
178
- return (React.createElement("div", null,
254
+ const toolbarProps = {
255
+ resultCount: totalItems,
256
+ currentPage,
257
+ totalPages,
258
+ };
259
+ return (React.createElement("div", { className: "space-y-6" },
179
260
  props.showFilters && (React.createElement("div", { className: "mb-6" },
180
- React.createElement(Card, null,
181
- React.createElement("div", { className: "-mt-8" },
182
- React.createElement(FiltersForm, { id: "logs-filter", showFilter: props.showFilters, filterData: props.filterData, onFilterChanged: (filterData) => {
183
- setFilterData(filterData);
184
- }, onAdvancedFiltersToggle: (show) => {
185
- setAreAdvancedFiltersVisible(show);
186
- if (show && !attributesLoaded && !attributesLoading) {
187
- void loadAttributes();
188
- }
189
- }, isFilterLoading: areAdvancedFiltersVisible && attributesLoading, filterError: areAdvancedFiltersVisible && attributesError
190
- ? attributesError
191
- : undefined, onFilterRefreshClick: areAdvancedFiltersVisible && attributesError
192
- ? () => {
193
- void loadAttributes();
194
- }
195
- : undefined, filters: [
196
- {
197
- key: "body",
198
- type: FieldType.Text,
199
- title: "Search Log",
200
- },
201
- {
202
- key: "severityText",
203
- filterDropdownOptions: DropdownUtil.getDropdownOptionsFromEnum(LogSeverity),
204
- type: FieldType.Dropdown,
205
- title: "Log Severity",
206
- isAdvancedFilter: true,
207
- },
208
- {
209
- key: "time",
210
- type: FieldType.DateTime,
211
- title: "Start and End Date",
212
- isAdvancedFilter: true,
213
- },
214
- {
215
- key: "attributes",
216
- type: FieldType.JSON,
217
- title: "Filter by Attributes",
218
- jsonKeys: logAttributes,
219
- isAdvancedFilter: true,
220
- },
221
- ] })),
222
- React.createElement("div", { className: "-mx-6 -mb-6 px-6 py-3 border-t border-slate-200 bg-white/50" },
223
- React.createElement("div", { className: "flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between" },
224
- React.createElement("div", { className: "flex items-center gap-4 flex-wrap" },
225
- React.createElement("div", { className: "flex items-center gap-2" },
226
- React.createElement(Toggle, { title: "", value: autoScroll, onChange: (checked) => {
227
- return setAutoScroll(checked);
228
- } }),
229
- React.createElement("span", { className: "text-xs text-slate-600" }, autoScroll ? "Live" : "Paused")),
230
- React.createElement("span", { className: "hidden sm:block h-4 w-px bg-slate-200" }),
231
- React.createElement("span", { className: "text-xs text-slate-500" },
232
- displayLogs.length,
233
- " result",
234
- displayLogs.length !== 1 ? "s" : "")),
235
- React.createElement("div", { className: "flex items-center gap-2" },
236
- React.createElement("div", { className: "inline-flex items-center rounded-full border border-slate-200 bg-white/80 p-1 shadow-sm ring-1 ring-slate-200/60" },
237
- React.createElement("button", { type: "button", "aria-pressed": isDescending, className: `flex items-center gap-2 rounded-full px-3 py-1 text-xs font-semibold tracking-wide transition-all duration-200 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-500 ${isDescending
238
- ? "bg-indigo-600 text-white shadow-sm ring-1 ring-indigo-500/40"
239
- : "text-slate-500 hover:text-indigo-600"}`, onClick: () => {
240
- applySortDirection(true);
241
- } },
242
- React.createElement(Icon, { icon: IconProp.BarsArrowDown, className: `h-4 w-4 ${isDescending ? "text-white/90" : "text-slate-400"}` }),
243
- React.createElement("span", null, "Newest first")),
244
- React.createElement("button", { type: "button", "aria-pressed": !isDescending, className: `flex items-center gap-2 rounded-full px-3 py-1 text-xs font-semibold tracking-wide transition-all duration-200 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-500 ${!isDescending
245
- ? "bg-indigo-600 text-white shadow-sm ring-1 ring-indigo-500/40"
246
- : "text-slate-500 hover:text-indigo-600"}`, onClick: () => {
247
- applySortDirection(false);
248
- } },
249
- React.createElement(Icon, { icon: IconProp.BarsArrowUp, className: `h-4 w-4 ${!isDescending ? "text-white/90" : "text-slate-400"}` }),
250
- React.createElement("span", null, "Oldest first"))),
251
- React.createElement(Button, { title: "Apply Filters", icon: IconProp.Search, buttonStyle: ButtonStyleType.NORMAL, buttonSize: ButtonSize.Small, onClick: () => {
252
- return props.onFilterChanged(filterData);
253
- } }))))))),
254
- !props.isLoading && (React.createElement("div", { className: "relative" },
255
- React.createElement("div", { ref: logsViewerRef, className: "rounded-md border border-slate-700 bg-slate-900 overflow-hidden", style: {
256
- height: Math.max(360, screenHeight - 360),
257
- } },
258
- React.createElement("div", { ref: scrollContainerRef, className: `h-full overflow-y-auto p-2 sm:p-3 antialiased`, onScroll: handleScroll },
259
- React.createElement("ul", { role: "list", className: "divide-y divide-slate-800" }, displayLogs.map((log, i) => {
260
- const traceRouteProps = props.getTraceRoute
261
- ? { getTraceRoute: props.getTraceRoute }
262
- : {};
263
- const spanRouteProps = props.getSpanRoute
264
- ? { getSpanRoute: props.getSpanRoute }
265
- : {};
266
- return (React.createElement("li", { key: i, className: "py-1 first:pt-0 last:pb-0" },
267
- React.createElement(LogItem, Object.assign({ serviceMap: serviceMap, log: log }, traceRouteProps, spanRouteProps))));
268
- })),
269
- displayLogs.length === 0 && (React.createElement("div", { className: "flex items-center justify-center h-full px-4" },
270
- React.createElement("div", { className: "text-center" },
271
- React.createElement("h3", { className: "text-sm font-medium text-slate-300 mb-1" }, "No logs found"),
272
- React.createElement("p", { className: "text-slate-500 text-xs" }, props.noLogsMessage ||
273
- "Adjust filters or check again later.")))))),
274
- showScrollToLatest && (React.createElement("button", { onClick: scrollToLatest, className: "absolute bottom-3 right-3 bg-slate-700 hover:bg-slate-600 text-white p-2 rounded-md shadow transition-all", title: isDescending ? "Scroll to top" : "Scroll to bottom" },
275
- React.createElement("svg", { className: "w-5 h-5", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24" }, isDescending ? (React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M5 14l7-7 7 7m-7-7v18" })) : (React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 10l-7 7-7-7m7 7V3" }))))))),
276
- props.isLoading && (React.createElement("div", { className: "rounded-md border border-slate-700 bg-slate-900 overflow-hidden", style: { height: Math.max(360, screenHeight - 360) } },
277
- React.createElement("div", { className: "flex items-center justify-center h-full" },
278
- React.createElement("div", { className: "text-center" },
279
- React.createElement(ComponentLoader, null),
280
- React.createElement("p", { className: "text-slate-400 text-sm mt-4" }, "Loading logs...")))))));
261
+ React.createElement(LogsFilterCard, { filterData: filterData, onFilterChanged: (updated) => {
262
+ setFilterData(updated);
263
+ }, onAdvancedFiltersToggle: (show) => {
264
+ setAreAdvancedFiltersVisible(show);
265
+ if (show && !attributesLoaded && !attributesLoading) {
266
+ void loadAttributes();
267
+ }
268
+ }, isFilterLoading: areAdvancedFiltersVisible && attributesLoading, filterError: areAdvancedFiltersVisible && attributesError
269
+ ? attributesError
270
+ : undefined, onFilterRefreshClick: areAdvancedFiltersVisible && attributesError
271
+ ? () => {
272
+ void loadAttributes();
273
+ }
274
+ : undefined, logAttributes: logAttributes, toolbar: React.createElement(LogsViewerToolbar, Object.assign({}, toolbarProps, { showApplyButton: true, onApplyFilters: handleApplyFilters })) }))),
275
+ React.createElement("div", { className: "overflow-hidden rounded-2xl border border-slate-800/70 bg-slate-950/60 shadow-xl" },
276
+ !props.showFilters && (React.createElement("div", { className: "border-b border-slate-800/70 bg-slate-950/70 px-4 py-3" },
277
+ React.createElement(LogsViewerToolbar, Object.assign({}, toolbarProps)))),
278
+ React.createElement(LogsTable, { logs: displayedLogs, serviceMap: serviceMap, isLoading: props.isLoading, emptyMessage: props.noLogsMessage, onRowClick: (_log, rowId) => {
279
+ setSelectedLogId((currentSelected) => {
280
+ if (currentSelected === rowId) {
281
+ return null;
282
+ }
283
+ return rowId;
284
+ });
285
+ }, selectedLogId: selectedLogId, sortField: sortField, sortOrder: sortOrder, onSortChange: handleSortChange, renderExpandedContent: (log) => {
286
+ return (React.createElement(LogDetailsPanel, { log: log, serviceMap: serviceMap, onClose: () => {
287
+ setSelectedLogId(null);
288
+ }, getTraceRoute: props.getTraceRoute, getSpanRoute: props.getSpanRoute, variant: "embedded" }));
289
+ } }),
290
+ React.createElement(LogsPagination, { currentPage: currentPage, totalItems: totalItems, pageSize: pageSize, pageSizeOptions: PAGE_SIZE_OPTIONS, onPageChange: handlePageChange, onPageSizeChange: handlePageSizeChange, isDisabled: props.isLoading || totalItems === 0 }))));
281
291
  };
282
292
  export default LogsViewer;
283
293
  //# sourceMappingURL=LogsViewer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogsViewer.js","sourceRoot":"","sources":["../../../../../UI/Components/LogsViewer/LogsViewer.tsx"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,sBAAsB,CAAC;AAChD,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,OAAO,MAAM,WAAW,CAAC;AAMhC,OAAO,WAAW,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,EAAE,EAIZ,WAAW,EACX,OAAO,GACR,MAAM,OAAO,CAAC;AACf,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,MAAM,EAAE,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,QAAQ,MAAM,+BAA+B,CAAC;AAErD,OAAO,GAAG,MAAM,wBAAwB,CAAC;AAGzC,OAAO,iBAAiB,MAAM,sCAAsC,CAAC;AACrE,OAAO,GAAG,MAAM,qBAAqB,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,SAAS,MAAM,uCAAuC,CAAC;AAuB9D,MAAM,UAAU,GAAsC,CACpD,KAAqB,EACP,EAAE;IAChB,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAChD,KAAK,CAAC,UAAU,CACjB,CAAC;IAEF,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CACpD,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CACzD,CAAC;IACF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;IAClE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAC/C,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IACvE,iDAAiD;IACjD,MAAM,aAAa,GAAwB,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC9E,MAAM,kBAAkB,GACtB,KAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAErC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAC3C,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAC7C,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,EAAE,CAAC,CAAC;IACzE,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAC7D,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEjC,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;IACxE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,EAAE,CAAC,CAAC;IAE7D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAEhD,EAAE,CAAC,CAAC;IAEN,MAAM,WAAW,GAAe,OAAO,CAAC,GAAG,EAAE;QAC3C,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC;IACpB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC;IAE/B,MAAM,qBAAqB,GACzB,WAAW,CAAC,KAAK,IAAmB,EAAE;QACpC,IAAI,CAAC;YACH,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,YAAY,CAAC,EAAE,CAAC,CAAC;YAEjB,MAAM,iBAAiB,GACrB,MAAM,QAAQ,CAAC,OAAO,CAAC;gBACrB,SAAS,EAAE,gBAAgB;gBAC3B,KAAK,EAAE,EAAE;gBACT,MAAM,EAAE;oBACN,IAAI,EAAE,IAAI;oBACV,YAAY,EAAE,IAAI;iBACnB;gBACD,KAAK,EAAE,iBAAiB;gBACxB,IAAI,EAAE,CAAC;gBACP,IAAI,EAAE;oBACJ,IAAI,EAAE,SAAS,CAAC,SAAS;iBAC1B;aACF,CAAC,CAAC;YACL,MAAM,QAAQ,GAAiC,EAAE,CAAC;YAElD,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAyB,EAAE,EAAE;gBAC3D,QAAQ,CAAC,OAAO,CAAC,EAAG,CAAC,QAAQ,EAAG,CAAC,GAAG,OAAO,CAAC;YAC9C,CAAC,CAAC,CAAC;YAEH,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,YAAY,CACV,gDAAgD,GAAG,CAAC,uBAAuB,CAAC,GAAY,CAAC,EAAE,CAC5F,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,MAAM,cAAc,GAClB,WAAW,CAAC,KAAK,IAAmB,EAAE;QACpC,IAAI,CAAC;YACH,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,kBAAkB,CAAC,EAAE,CAAC,CAAC;YAEvB,MAAM,iBAAiB,GACrB,MAAM,GAAG,CAAC,IAAI,CAAC;gBACb,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAClD,gCAAgC,CACjC;gBACD,IAAI,EAAE,EAAE;gBACR,OAAO,oBACF,QAAQ,CAAC,gBAAgB,EAAE,CAC/B;aACF,CAAC,CAAC;YAEL,IAAI,iBAAiB,YAAY,iBAAiB,EAAE,CAAC;gBACnD,MAAM,iBAAiB,CAAC;YAC1B,CAAC;YAED,MAAM,UAAU,GAAkB,CAAC,iBAAiB,CAAC,IAAI,CACvD,YAAY,CACb,IAAI,EAAE,CAAkB,CAAC;YAC1B,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC7B,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrB,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC3B,kBAAkB,CAChB,4DAA4D,GAAG,CAAC,uBAAuB,CAAC,GAAY,CAAC,EAAE,CACxG,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAET,sDAAsD;IAEtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,KAAK,qBAAqB,EAAE,CAAC;QAE7B,MAAM,YAAY,GAAQ,GAAS,EAAE;YACnC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEhD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAE5B,gDAAgD;IAEhD,MAAM,cAAc,GAAiB,GAAS,EAAE;QAC9C,MAAM,eAAe,GAA0B,kBAAkB,CAAC,OAAO,CAAC;QAE1E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC;IAC3D,CAAC,CAAC;IAEF,MAAM,kBAAkB,GAAsC,CAC5D,cAAuB,EACvB,EAAE;QACF,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,eAAe,CAAC,CAAC,QAAiB,EAAE,EAAE;YACpC,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAChC,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,6DAA6D;YAC7D,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,eAAe,GACnB,kBAAkB,CAAC,OAAO,CAAC;gBAE7B,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,OAAO;gBACT,CAAC;gBAED,IAAI,cAAc,EAAE,CAAC;oBACnB,eAAe,CAAC,SAAS,GAAG,CAAC,CAAC;oBAC9B,OAAO;gBACT,CAAC;gBAED,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC;YAC3D,CAAC,EAAE,CAAC,CAAC,CAAC;YAEN,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,YAAY,GAAiB,KAAK,CAAC,WAAW,CAAC,GAAS,EAAE;QAC9D,MAAM,eAAe,GAA0B,kBAAkB,CAAC,OAAO,CAAC;QAC1E,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO;QACT,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC;QAClE,MAAM,YAAY,GAAY,YAAY;YACxC,CAAC,CAAC,SAAS,GAAG,GAAG;YACjB,CAAC,CAAC,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,GAAG,CAAC;QAClD,qBAAqB,CAAC,CAAC,YAAY,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,cAAc,EAAE,CAAC;IACnB,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3C,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,eAAe,GAA0B,kBAAkB,CAAC,OAAO,CAAC;QAC1E,IAAI,eAAe,EAAE,CAAC;YACpB,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACzD,OAAO,GAAG,EAAE;gBACV,OAAO,eAAe,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YACrE,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,sDAAsD;IACzE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,oBAAC,UAAU,IAAC,SAAS,EAAE,IAAI,GAAI,CAAC;IACzC,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,oBAAC,YAAY,IAAC,OAAO,EAAE,SAAS,GAAI,CAAC;IAC9C,CAAC;IACD,OAAO,CACL;QACG,KAAK,CAAC,WAAW,IAAI,CACpB,6BAAK,SAAS,EAAC,MAAM;YACnB,oBAAC,IAAI;gBACH,6BAAK,SAAS,EAAC,OAAO;oBACpB,oBAAC,WAAW,IACV,EAAE,EAAC,aAAa,EAChB,UAAU,EAAE,KAAK,CAAC,WAAW,EAC7B,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,eAAe,EAAE,CAAC,UAAsB,EAAE,EAAE;4BAC1C,aAAa,CAAC,UAAU,CAAC,CAAC;wBAC5B,CAAC,EACD,uBAAuB,EAAE,CAAC,IAAa,EAAE,EAAE;4BACzC,4BAA4B,CAAC,IAAI,CAAC,CAAC;4BAEnC,IAAI,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gCACpD,KAAK,cAAc,EAAE,CAAC;4BACxB,CAAC;wBACH,CAAC,EACD,eAAe,EAAE,yBAAyB,IAAI,iBAAiB,EAC/D,WAAW,EACT,yBAAyB,IAAI,eAAe;4BAC1C,CAAC,CAAC,eAAe;4BACjB,CAAC,CAAC,SAAS,EAEf,oBAAoB,EAClB,yBAAyB,IAAI,eAAe;4BAC1C,CAAC,CAAC,GAAG,EAAE;gCACH,KAAK,cAAc,EAAE,CAAC;4BACxB,CAAC;4BACH,CAAC,CAAC,SAAS,EAEf,OAAO,EAAE;4BACP;gCACE,GAAG,EAAE,MAAM;gCACX,IAAI,EAAE,SAAS,CAAC,IAAI;gCACpB,KAAK,EAAE,YAAY;6BACpB;4BACD;gCACE,GAAG,EAAE,cAAc;gCACnB,qBAAqB,EACnB,YAAY,CAAC,0BAA0B,CAAC,WAAW,CAAC;gCACtD,IAAI,EAAE,SAAS,CAAC,QAAQ;gCACxB,KAAK,EAAE,cAAc;gCACrB,gBAAgB,EAAE,IAAI;6BACvB;4BACD;gCACE,GAAG,EAAE,MAAM;gCACX,IAAI,EAAE,SAAS,CAAC,QAAQ;gCACxB,KAAK,EAAE,oBAAoB;gCAC3B,gBAAgB,EAAE,IAAI;6BACvB;4BACD;gCACE,GAAG,EAAE,YAAY;gCACjB,IAAI,EAAE,SAAS,CAAC,IAAI;gCACpB,KAAK,EAAE,sBAAsB;gCAC7B,QAAQ,EAAE,aAAa;gCACvB,gBAAgB,EAAE,IAAI;6BACvB;yBACF,GACD,CACE;gBAGN,6BAAK,SAAS,EAAC,6DAA6D;oBAC1E,6BAAK,SAAS,EAAC,oEAAoE;wBACjF,6BAAK,SAAS,EAAC,mCAAmC;4BAChD,6BAAK,SAAS,EAAC,yBAAyB;gCACtC,oBAAC,MAAM,IACL,KAAK,EAAC,EAAE,EACR,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CAAC,OAAgB,EAAE,EAAE;wCAC7B,OAAO,aAAa,CAAC,OAAO,CAAC,CAAC;oCAChC,CAAC,GACD;gCACF,8BAAM,SAAS,EAAC,wBAAwB,IACrC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAC1B,CACH;4BACN,8BAAM,SAAS,EAAC,uCAAuC,GAAG;4BAC1D,8BAAM,SAAS,EAAC,wBAAwB;gCACrC,WAAW,CAAC,MAAM;;gCAClB,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAC/B,CACH;wBAEN,6BAAK,SAAS,EAAC,yBAAyB;4BACtC,6BAAK,SAAS,EAAC,kHAAkH;gCAC/H,gCACE,IAAI,EAAC,QAAQ,kBACC,YAAY,EAC1B,SAAS,EAAE,gOACT,YAAY;wCACV,CAAC,CAAC,8DAA8D;wCAChE,CAAC,CAAC,sCACN,EAAE,EACF,OAAO,EAAE,GAAG,EAAE;wCACZ,kBAAkB,CAAC,IAAI,CAAC,CAAC;oCAC3B,CAAC;oCAED,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,CAAC,aAAa,EAC5B,SAAS,EAAE,WACT,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBACnC,EAAE,GACF;oCACF,iDAAyB,CAClB;gCACT,gCACE,IAAI,EAAC,QAAQ,kBACC,CAAC,YAAY,EAC3B,SAAS,EAAE,gOACT,CAAC,YAAY;wCACX,CAAC,CAAC,8DAA8D;wCAChE,CAAC,CAAC,sCACN,EAAE,EACF,OAAO,EAAE,GAAG,EAAE;wCACZ,kBAAkB,CAAC,KAAK,CAAC,CAAC;oCAC5B,CAAC;oCAED,oBAAC,IAAI,IACH,IAAI,EAAE,QAAQ,CAAC,WAAW,EAC1B,SAAS,EAAE,WACT,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,gBACpC,EAAE,GACF;oCACF,iDAAyB,CAClB,CACL;4BACN,oBAAC,MAAM,IACL,KAAK,EAAC,eAAe,EACrB,IAAI,EAAE,QAAQ,CAAC,MAAM,EACrB,WAAW,EAAE,eAAe,CAAC,MAAM,EACnC,UAAU,EAAE,UAAU,CAAC,KAAK,EAC5B,OAAO,EAAE,GAAG,EAAE;oCACZ,OAAO,KAAK,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;gCAC3C,CAAC,GACD,CACE,CACF,CACF,CACD,CACH,CACP;QACA,CAAC,KAAK,CAAC,SAAS,IAAI,CACnB,6BAAK,SAAS,EAAC,UAAU;YACvB,6BACE,GAAG,EAAE,aAAa,EAClB,SAAS,EAAC,iEAAiE,EAC3E,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,CAAC;iBAC1C;gBAGD,6BACE,GAAG,EAAE,kBAAkB,EACvB,SAAS,EAAE,+CAA+C,EAC1D,QAAQ,EAAE,YAAY;oBAEtB,4BAAI,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,2BAA2B,IAClD,WAAW,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,CAAS,EAAE,EAAE;wBACvC,MAAM,eAAe,GACnB,KAAK,CAAC,aAAa;4BACjB,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE;4BACxC,CAAC,CAAC,EAAE,CAAC;wBACT,MAAM,cAAc,GAClB,KAAK,CAAC,YAAY;4BAChB,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE;4BACtC,CAAC,CAAC,EAAE,CAAC;wBACT,OAAO,CACL,4BAAI,GAAG,EAAE,CAAC,EAAE,SAAS,EAAC,2BAA2B;4BAC/C,oBAAC,OAAO,kBACN,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,GAAG,IACJ,eAAe,EACf,cAAc,EAClB,CACC,CACN,CAAC;oBACJ,CAAC,CAAC,CACC;oBAEJ,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAC3B,6BAAK,SAAS,EAAC,8CAA8C;wBAC3D,6BAAK,SAAS,EAAC,aAAa;4BAC1B,4BAAI,SAAS,EAAC,yCAAyC,oBAElD;4BACL,2BAAG,SAAS,EAAC,wBAAwB,IAClC,KAAK,CAAC,aAAa;gCAClB,sCAAsC,CACtC,CACA,CACF,CACP,CACG,CACF;YAGL,kBAAkB,IAAI,CACrB,gCACE,OAAO,EAAE,cAAc,EACvB,SAAS,EAAC,2GAA2G,EACrH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB;gBAE1D,6BACE,SAAS,EAAC,SAAS,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,OAAO,EAAC,WAAW,IAElB,YAAY,CAAC,CAAC,CAAC,CACd,8BACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAE,CAAC,EACd,CAAC,EAAC,uBAAuB,GACzB,CACH,CAAC,CAAC,CAAC,CACF,8BACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAE,CAAC,EACd,CAAC,EAAC,uBAAuB,GACzB,CACH,CACG,CACC,CACV,CACG,CACP;QACA,KAAK,CAAC,SAAS,IAAI,CAClB,6BACE,SAAS,EAAC,iEAAiE,EAC3E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,GAAG,CAAC,EAAE;YAEpD,6BAAK,SAAS,EAAC,yCAAyC;gBACtD,6BAAK,SAAS,EAAC,aAAa;oBAC1B,oBAAC,eAAe,OAAG;oBACnB,2BAAG,SAAS,EAAC,6BAA6B,sBAAoB,CAC1D,CACF,CACF,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"LogsViewer.js","sourceRoot":"","sources":["../../../../../UI/Components/LogsViewer/LogsViewer.tsx"],"names":[],"mappings":"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"}