Skip to content

Commit

Permalink
fix sorting on span table
Browse files Browse the repository at this point in the history
Signed-off-by: Adam Tackett <[email protected]>
  • Loading branch information
Adam Tackett committed Feb 11, 2025
1 parent 3af05bd commit 7057348
Showing 1 changed file with 31 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -222,18 +222,45 @@ export function SpanDetailTable(props: SpanDetailTableProps) {
});
}

spans = applySorting(spans);

setItems(spans);
setTotal(spans.length);
} catch (error) {
console.error('Error parsing payloadData in SpanDetailTable:', error);
} finally {
setIsSpansTableDataLoading(false);
}
}, [props.payloadData, props.DSL, props.filters]);
}, [props.payloadData, props.DSL, props.filters, tableParams]);

const applySorting = (spans: Span[]) => {
if (tableParams.sortingColumns.length > 0) {
return spans.sort((a, b) => {
for (const { id, direction } of tableParams.sortingColumns) {
const aValue = a[id];
const bValue = b[id];

if (aValue < bValue) return direction === 'asc' ? -1 : 1;
if (aValue > bValue) return direction === 'asc' ? 1 : -1;
}
return 0;
});
}
return spans;
};

const onSort = (sortingColumns) => {
setTableParams((prev) => ({ ...prev, sortingColumns }));
};

const onChangePage = (page) => {
setTableParams((prev) => ({ ...prev, page }));
};

const onChangeItemsPerPage = (size) => {
setTableParams((prev) => ({ ...prev, size, page: 0 }));
};

useEffect(() => {
if (props.setTotal) props.setTotal(total);
}, [total]);
const columns = useMemo(() => getColumns(props.mode), [props.mode]);
const renderCellValue = useCallback(
({ rowIndex, columnId, disableInteractions }) =>
Expand All @@ -248,18 +275,6 @@ export function SpanDetailTable(props: SpanDetailTableProps) {
[items]
);

const onSort = (sortingColumns) => {
setTableParams((prev) => ({ ...prev, sortingColumns }));
};

const onChangePage = (page) => {
setTableParams((prev) => ({ ...prev, page }));
};

const onChangeItemsPerPage = (size) => {
setTableParams((prev) => ({ ...prev, size, page: 0 }));
};

const visibleColumns = useMemo(
() =>
getColumns(props.mode)
Expand Down

0 comments on commit 7057348

Please sign in to comment.