Allow custom sorter function for getSortedRowIds
Describe the bug
- Navigate to https://codepen.io/pen?editors=0110
- Click on the "id" column until it is sorted in ascending order
- Notice that it is not a numeric sort
Your Example Website or App
https://codepen.io/pen?editors=0110
Steps to Reproduce the Bug or Issue
- Navigate to https://codepen.io/pen?editors=0110
- Click on the "id" column until it is sorted in ascending order
- Notice that it is not a numeric sort
Expected behavior
Integers should be sorted as integers.
Screenshots or Videos
Platform
- OS: macOS
- Browser: Sidekick (Chrome)
- Version: 124.61.1.50292 (Official Build) (arm64)
Additional context
No response
@brandondrew I couldn't load your codepen and I have confirmed that I can load other codepens. Your link just shows a blank environment. (Maybe you have to publish it.)
It's this demo: https://tinybase.org/demos/ui-components/sortedtableinhtmltable (and I think @brandondrew launched it into CodePen).
Ids everywhere in TinyBase are strings so this is the correct ordering. Where numbers have been used for them (as in the case of the movie demo) it does look weird.
One API improvement this suggests is to add a custom sorter function to the getSortedRowIds method so that the default sort can be overridden. Changing issue title accordingly!
Okay, sorry if this is a dumb questions, but is there a reason for IDs to be strings?
Well that's not a stupid question! It has just been an 'opinion' used in the design of TinyBase, and to ensure that there isn't confusion between types. (You can have a string representation of a number, but not a number representation of a string)