Skip to content

Fix - Sort Data In/Out correctly in Sites Management page in the Pangolin Dashboard #867

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

thijsvanloef
Copy link

@thijsvanloef thijsvanloef commented Jun 7, 2025

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 #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:

  • Added a parseDataSize helper that splits off the numeric part and unit from the string and converts it to a consistent number (bytes)
  • Added sortingFn to the SitesTable.tsx to correctly sort the data in/out.

As you can see the table now sorts correctly!

image

Fix Considerations

I've decided to put the parseDataSize function 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.tsx seemed a fine fix for now, but could lead to duplicate code if it is needed elsewhere in the project.

How to test?

  1. Clone the branch
  2. Create a dev instance by following the https://docs.fossorial.io/development#pangolin docs.
  3. Go to the sites overview in the pangolin dashboard.
  4. Click on the sorting button above Data In or Data Out
  5. Check if the Data In/Out is sorted on total number of bytes instead of as a string.

I'm not super used to Typescript, so please let me know if you would like things changed :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sites overview Data In/Data Out does not sort correctly
1 participant