fix: Sort functionality and admin dashboard sort order #29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some various fixes to make sort functionality more flexible. Sort is now handled by placing a 'sort' attribute on the element that should be sorted, e.g. the player list ul element on the scoreboard page.
The sort attribute value is the attribute value on each child element used to sort, e.g. for the player list each li element contains an attribute score to use for sorting.
Finally a sortFn attribute can be specified to say which function to use to compare sort values. In the case of stringly score numbers we need to parse the numbers before comparing as regular string comparisons won't work and attribute values have to be string.
Various other small fixes to the logic to clean up the chart. HyperScript is used to update the player row li elements with new score-attribute values to avoid having to replace the entire row. The only other option would be handling this client side, or using something like the morphdom plugin to htmx to allow merging the server rendered (SSE) html data with the browser html data. Otherwise client side logic can break.
Fix #23.