mirror of
https://github.com/fosrl/pangolin.git
synced 2026-05-07 21:30:36 -05:00
[PR #867] [MERGED] Fix - Sort Data In/Out correctly in Sites Management page in the Pangolin Dashboard #7145
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/fosrl/pangolin/pull/867
Author: @thijsvanloef
Created: 6/7/2025
Status: ✅ Merged
Merged: 6/9/2025
Merged by: @oschwartz10612
Base:
dev← Head:fix-767/unit-aware-sorting📝 Commits (3)
26207bdadd datasize helper and add correct sorting to sitestablef2e461aimprove readability96151deimprove readability📊 Changes
2 files changed (+28 additions, -2 deletions)
View changed files
📝
src/app/[orgId]/settings/sites/SitesTable.tsx(+7 -2)➕
src/lib/dataSize.ts(+21 -0)📄 Description
Community Contribution License Agreement
By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.
Description
Fixes https://github.com/fosrl/pangolin/issues/767
Data Out and Data In sorting option in the "Manage Sites" tab does not actually seem to be sorting on most data in/out based on total number of bytes, but it will try to sort it as text (Str).
The solution is to parse each size string to a numeric value (in bytes) and compare those numbers:
parseDataSizehelper that splits off the numeric part and unit from the string and converts it to a consistent number (bytes)sortingFnto theSitesTable.tsxto correctly sort the data in/out.As you can see the table now sorts correctly!
Fix Considerations
I've decided to put the
parseDataSizefunction as a shared module, this makes it more reusable if the maintainers of this project decide to use any other table or component that needs to sort or compare data-size strings.Adding it to only the
SitesTable.tsxseemed a fine fix for now, but could lead to duplicate code if it is needed elsewhere in the project.How to test?
I'm not super used to Typescript, so please let me know if you would like things changed :)
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.