Fix timestamps not sorting in datatables
Timestamps retrieved from the API were always converted to a browser local format. The format specified for moment.js added in 5160eff2 did not work because of this. Additionally, the format specified used `dd` which looks for two letter days, such as "Mo", "Tu", "We", etc. Furthermore, `mm` is used for minutes, not months. Because the locale formatted datetime can vary a lot, it is not easy to get this into moment.js to enable the sorting of datetimes in the datatables. In other words, there is no conversion from an `Intl.DateTimeFormat` specifier string to moment.js. Adding many `$.fn.dataTable.moment(format);` with different `format`s is not useful. I have fixed this rewriting how the timestamps from the API are added to the tables. It still uses the locale of the browser, because not everyone wants to use ISO 8601, but no longer requires moment.js (which has been removed). Two data attributes are added to the `td`s of the timestamps: - `data-order` - `data-sort` The values of these are the timestamps as returned by the server, which are very easily sorted (as they are just UNIX timestamps). Then, when creating the cell in the table, it will be converted to what the locale of the browser specified (this has not changed).
Loading
Please register or sign in to comment