You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
🐛 Date/time fields in grids are sorted alphabetically #81
When clicking on a grid column header, the grid data gets sorted (ascending on first click, descending on second). The sorting always seems to be alphabetically and not take the data type into account. This works for most columns, but date/time columns are an issue.
For example, here is the "Deployed On" column in the "Cloud-hosted instances" grid after the first click (should be sorted ascending):
Date/time colums used to be formatted as "yyyy-MM-dd H:mm", which would result in the correct order when sorting. However, according to #24 , some users receive the date/time information in a format (e.g. " 31/01/2019 01:10") which could not be deserialized into a DateTime. Which is why the data type for those columns was changed to string in 250cfbe and the data is shown in the ui as it is provided by LCS.
The date/time format is controlled by the language preference of the user in LCS. 2LCS uses Json.NET for parsing the JSON data returned from LCS. By default, Json.NET uses the invariant culture (which corresponds with the en-US culture, which is the "English (United States)" language preference in LCS).
One was to solve this would be to get the language preference of the user from LCS.
@TomekMelissa Is there an LCS API that could be used to do that?
Another way would be to provide a parameter in 2LCS were the user could set the language preference.
Rod (@fraga) Thanks for the suggestion. Yes, I had a similar thought. I think we still would need a fallback, since probably many users have a non-us system setting, but never bothered with changing the language preference of LCS.
Even then, there could be an issue if a user has both a non-us system setting and LCS language preference, but both are not the same (I admit, a bit of a theoretic scenario).
My preference would be to get the language preference from LCS, maybe by scraping it if there is no API.
Activity
FH-Inway commentedon Sep 2, 2023
Date/time colums used to be formatted as "yyyy-MM-dd H:mm", which would result in the correct order when sorting. However, according to #24 , some users receive the date/time information in a format (e.g. " 31/01/2019 01:10") which could not be deserialized into a
DateTime. Which is why the data type for those columns was changed tostringin 250cfbe and the data is shown in the ui as it is provided by LCS.The date/time format is controlled by the language preference of the user in LCS. 2LCS uses Json.NET for parsing the JSON data returned from LCS. By default, Json.NET uses the invariant culture (which corresponds with the en-US culture, which is the "English (United States)" language preference in LCS).
One was to solve this would be to get the language preference of the user from LCS.
@TomekMelissa Is there an LCS API that could be used to do that?
Another way would be to provide a parameter in 2LCS were the user could set the language preference.
fix sorting by DeployedOn
fraga commentedon Sep 2, 2023
Florian Hopfner (@FH-Inway) maybe best way for now is to get system user settings really. In a way should be the same as the settings in LCS.
FH-Inway commentedon Sep 3, 2023
Rod (@fraga) Thanks for the suggestion. Yes, I had a similar thought. I think we still would need a fallback, since probably many users have a non-us system setting, but never bothered with changing the language preference of LCS.
Even then, there could be an issue if a user has both a non-us system setting and LCS language preference, but both are not the same (I admit, a bit of a theoretic scenario).
My preference would be to get the language preference from LCS, maybe by scraping it if there is no API.