From cf1cc24e33ec0410f79be808c52507844ac4e18e Mon Sep 17 00:00:00 2001 From: FreddleSpl0it Date: Fri, 21 Apr 2023 12:26:50 +0200 Subject: [PATCH] [Web] Fix temporary email aliases sorting --- data/web/js/build/013-mailcow.js | 10 ++++++++++ data/web/js/site/debug.js | 10 ---------- data/web/js/site/user.js | 25 +++++++++++++++++++------ 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/data/web/js/build/013-mailcow.js b/data/web/js/build/013-mailcow.js index e060a2d0..e659915b 100644 --- a/data/web/js/build/013-mailcow.js +++ b/data/web/js/build/013-mailcow.js @@ -1,3 +1,13 @@ +const LOCALE = undefined; +const DATETIME_FORMAT = { + year: "numeric", + month: "2-digit", + day: "2-digit", + hour: "2-digit", + minute: "2-digit", + second: "2-digit" +}; + $(document).ready(function() { // mailcow alert box generator window.mailcow_alert_box = function(message, type) { diff --git a/data/web/js/site/debug.js b/data/web/js/site/debug.js index 55b6660b..4e4c5692 100644 --- a/data/web/js/site/debug.js +++ b/data/web/js/site/debug.js @@ -1,13 +1,3 @@ -const LOCALE = undefined; -const DATETIME_FORMAT = { - year: "numeric", - month: "2-digit", - day: "2-digit", - hour: "2-digit", - minute: "2-digit", - second: "2-digit" -}; - $(document).ready(function() { // Parse seconds ago to date // Get "now" timestamp diff --git a/data/web/js/site/user.js b/data/web/js/site/user.js index b2139829..2227e0b0 100644 --- a/data/web/js/site/user.js +++ b/data/web/js/site/user.js @@ -127,6 +127,20 @@ jQuery(function($){ } } + + function createSortableDate(td, cellData, date_string = false) { + if (date_string) + var date = new Date(cellData); + else + var date = new Date(cellData ? cellData * 1000 : 0); + + var timestamp = date.getTime(); + $(td).attr({ + "data-order": timestamp, + "data-sort": timestamp + }); + $(td).html(date.toLocaleDateString(LOCALE, DATETIME_FORMAT)); + } function draw_tla_table() { // just recalc width if instance already exists if ($.fn.DataTable.isDataTable('#tla_table') ) { @@ -144,6 +158,7 @@ jQuery(function($){ "tr" + "<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>", language: lang_datatables, + order: [[4, 'desc']], ajax: { type: "GET", url: "/api/v1/get/time_limited_aliases", @@ -191,18 +206,16 @@ jQuery(function($){ title: lang.alias_valid_until, data: 'validity', defaultContent: '', - render: function (data, type) { - var date = new Date(data ? data * 1000 : 0); - return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"}); + createdCell: function(td, cellData) { + createSortableDate(td, cellData) } }, { title: lang.created_on, data: 'created', defaultContent: '', - render: function (data, type) { - var date = new Date(data.replace(/-/g, "/")); - return date.toLocaleDateString(undefined, {year: "numeric", month: "2-digit", day: "2-digit", hour: "2-digit", minute: "2-digit", second: "2-digit"}); + createdCell: function(td, cellData) { + createSortableDate(td, cellData, true) } }, {