Skip to content

Commit

Permalink
Optionally don't reverse logs
Browse files Browse the repository at this point in the history
  • Loading branch information
quirinpa committed Jan 14, 2025
1 parent 70e1704 commit af35dea
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 11 deletions.
15 changes: 8 additions & 7 deletions src/Components/Logs/Logs.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ import { DEFAULT_COLUMNS } from "./utils/Constants";
import useAutoScroll from "./../../hooks/useAutoScroll";
import "./Logs.css";

const MAX_LOGS = 3000;

// TODO this should be exported. Fleetboard uses it
function blobDownload(file, fileName, charset = "text/plain;charset=utf-8") {
const blob = new Blob([file], { type: charset });
Expand Down Expand Up @@ -63,7 +61,7 @@ function calcFilters(filters, defaults, force) {
}

const ReactLogs = (props) => {
const { robotsData, hide, force, defaults } = props;
const { robotsData, hide, force, defaults, reverse } = props;
const classes = useStyles();
const handleContainerRef = useRef();
const logModalRef = useRef();
Expand Down Expand Up @@ -144,9 +142,12 @@ const ReactLogs = (props) => {
logModalRef.current.open(log.rowData);
}, []);

const reversedLogs = useMemo(() => filteredLogs.reverse(), [filteredLogs]);
const versedLogs = useMemo(
() => (reverse ? filteredLogs.reverse() : filteredLogs),
[filteredLogs, reverse],
);
const { onScroll, isAutoScroll } = useAutoScroll(handleContainerRef, [
reversedLogs,
versedLogs,
]);

return (
Expand All @@ -166,10 +167,10 @@ const ReactLogs = (props) => {
>
<LogsTable
columns={columns}
logsData={reversedLogs}
logsData={versedLogs}
levels={levels}
onRowClick={openLogDetails}
isAutoScroll={isAutoScroll}
isAutoScroll={reverse ? isAutoScroll : false}
></LogsTable>
</div>
</div>
Expand Down
8 changes: 4 additions & 4 deletions src/Components/Logs/useLogs.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ export function useLogs(myQuery, dependencies) {

const [logsData, setLogsData] = useState(getFiltered(myQuery));

useEffect(
() => logs.subscribe(() => setLogsData(getFiltered(myQuery)), myQuery),
[dependencies],
);
useEffect(() => {
setLogsData(getFiltered(myQuery));
return logs.subscribe(() => setLogsData(getFiltered(myQuery)), myQuery);
}, dependencies);

return logsData;
}

0 comments on commit af35dea

Please sign in to comment.