diff --git a/data/web/js/site/admin.js b/data/web/js/site/admin.js index b24fc954..e34511ce 100644 --- a/data/web/js/site/admin.js +++ b/data/web/js/site/admin.js @@ -92,10 +92,12 @@ jQuery(function($){ { title: lang.username, data: 'username', + defaultContent: '' }, { title: "TFA", data: 'tfa_active', + defaultContent: '', render: function (data, type) { if(data == 1) return ''; else return '' @@ -104,6 +106,7 @@ jQuery(function($){ { title: lang.admin_domains, data: 'tfa_active', + defaultContent: '', render: function (data, type) { return data; } @@ -111,6 +114,7 @@ jQuery(function($){ { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { if(data == 1) return ''; else return '' @@ -119,7 +123,8 @@ jQuery(function($){ { title: lang.action, data: 'action', - className: 'text-md-end dt-sm-head-hidden dt-body-right' + className: 'text-md-end dt-sm-head-hidden dt-body-right', + defaultContent: '' }, ], initComplete: function(settings, json){ @@ -158,23 +163,28 @@ jQuery(function($){ { title: 'ID', data: 'id', + defaultContent: '' }, { title: lang.oauth2_client_id, - data: 'client_id' + data: 'client_id', + defaultContent: '' }, { title: lang.oauth2_client_secret, - data: 'client_secret' + data: 'client_secret', + defaultContent: '' }, { title: lang.oauth2_redirect_uri, - data: 'redirect_uri' + data: 'redirect_uri', + defaultContent: '' }, { title: lang.action, data: 'action', - className: 'text-md-end dt-sm-head-hidden dt-body-right' + className: 'text-md-end dt-sm-head-hidden dt-body-right', + defaultContent: '' }, ] }); @@ -210,10 +220,12 @@ jQuery(function($){ { title: lang.username, data: 'username', + defaultContent: '' }, { title: "TFA", data: 'tfa_active', + defaultContent: '', render: function (data, type) { if(data == 1) return ''; else return '' @@ -222,6 +234,7 @@ jQuery(function($){ { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { if(data == 1) return ''; else return '' @@ -230,6 +243,7 @@ jQuery(function($){ { title: lang.action, data: 'action', + defaultContent: '', className: 'text-md-end dt-sm-head-hidden dt-body-right' }, ] @@ -266,19 +280,23 @@ jQuery(function($){ { title: lang.host, data: 'host', + defaultContent: '' }, { title: lang.source, - data: 'source' + data: 'source', + defaultContent: '' }, { title: lang.spamfilter, - data: 'keep_spam' + data: 'keep_spam', + defaultContent: '' }, { title: lang.action, data: 'action', - className: 'text-md-end dt-sm-head-hidden dt-body-right' + className: 'text-md-end dt-sm-head-hidden dt-body-right', + defaultContent: '' }, ] }); @@ -314,27 +332,33 @@ jQuery(function($){ { title: 'ID', data: 'id', + defaultContent: '' }, { title: lang.host, - data: 'hostname' + data: 'hostname', + defaultContent: '' }, { title: lang.username, - data: 'username' + data: 'username', + defaultContent: '' }, { title: lang.in_use_by, - data: 'in_use_by' + data: 'in_use_by', + defaultContent: '' }, { title: lang.active, - data: 'active' + data: 'active', + defaultContent: '' }, { title: lang.action, data: 'action', - className: 'text-md-end dt-sm-head-hidden dt-body-right' + className: 'text-md-end dt-sm-head-hidden dt-body-right', + defaultContent: '' }, ] }); @@ -370,27 +394,33 @@ jQuery(function($){ { title: 'ID', data: 'id', + defaultContent: '' }, { title: lang.destination, - data: 'destination' + data: 'destination', + defaultContent: '' }, { title: lang.nexthop, - data: 'nexthop' + data: 'nexthop', + defaultContent: '' }, { title: lang.username, - data: 'username' + data: 'username', + defaultContent: '' }, { title: lang.active, - data: 'active' + data: 'active', + defaultContent: '' }, { title: lang.action, data: 'action', - className: 'text-md-end dt-sm-head-hidden dt-body-right' + className: 'text-md-end dt-sm-head-hidden dt-body-right', + defaultContent: '' }, ] }); @@ -426,14 +456,17 @@ jQuery(function($){ { title: 'QID', data: 'queue_id', + defaultContent: '' }, { title: 'Queue', - data: 'queue_name' + data: 'queue_name', + defaultContent: '' }, { title: lang.arrival_time, data: 'arrival_time', + 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"}); @@ -442,22 +475,26 @@ jQuery(function($){ { title: lang.message_size, data: 'message_size', + defaultContent: '', render: function (data, type){ return humanFileSize(data); } }, { title: lang.sender, - data: 'sender' + data: 'sender', + defaultContent: '' }, { title: lang.recipients, - data: 'recipients' + data: 'recipients', + defaultContent: '' }, { title: lang.action, data: 'action', - className: 'text-md-end dt-sm-head-hidden dt-body-right' + className: 'text-md-end dt-sm-head-hidden dt-body-right', + defaultContent: '' }, ] }); @@ -549,8 +586,10 @@ jQuery(function($){ // detect element visibility changes function onVisible(element, callback) { - $(element).ready(function() { - element_object = document.querySelector(element) + $(document).ready(function() { + element_object = document.querySelector(element); + if (element_object === null) return; + new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if(entry.intersectionRatio > 0) { diff --git a/data/web/js/site/debug.js b/data/web/js/site/debug.js index e375331e..ee0ef7a8 100644 --- a/data/web/js/site/debug.js +++ b/data/web/js/site/debug.js @@ -71,6 +71,7 @@ jQuery(function($){ { title: lang.time, data: 'time', + 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"}); @@ -78,19 +79,23 @@ jQuery(function($){ }, { title: 'User-Agent', - data: 'ua' + data: 'ua', + defaultContent: '' }, { title: 'Username', - data: 'user' + data: 'user', + defaultContent: '' }, { title: 'IP', - data: 'ip' + data: 'ip', + defaultContent: '' }, { title: 'Service', - data: 'service' + data: 'service', + defaultContent: '' } ] }); @@ -112,6 +117,7 @@ jQuery(function($){ { title: lang.time, data: 'time', + 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"}); @@ -119,11 +125,13 @@ jQuery(function($){ }, { title: lang.priority, - data: 'priority' + data: 'priority', + defaultContent: '' }, { title: lang.message, - data: 'message' + data: 'message', + defaultContent: '' } ] }); @@ -145,6 +153,7 @@ jQuery(function($){ { title: lang.time, data: 'time', + 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"}); @@ -152,15 +161,18 @@ jQuery(function($){ }, { title: 'Service', - data: 'service' + data: 'service', + defaultContent: '' }, { title: 'Trend', - data: 'trend' + data: 'trend', + defaultContent: '' }, { title: lang.message, - data: 'message' + data: 'message', + defaultContent: '' } ] }); @@ -182,6 +194,7 @@ jQuery(function($){ { title: lang.time, data: 'time', + 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"}); @@ -189,19 +202,23 @@ jQuery(function($){ }, { title: 'URI', - data: 'uri' + data: 'uri', + defaultContent: '' }, { title: 'Method', - data: 'method' + data: 'method', + defaultContent: '' }, { title: 'IP', - data: 'remote' + data: 'remote', + defaultContent: '' }, { title: 'Data', - data: 'data' + data: 'data', + defaultContent: '' } ] }); @@ -222,11 +239,13 @@ jQuery(function($){ columns: [ { title: ' ', - data: 'indicator' + data: 'indicator', + defaultContent: '' }, { title: lang.time, data: 'time', + 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"}); @@ -234,47 +253,58 @@ jQuery(function($){ }, { title: lang.rate_name, - data: 'rl_name' + data: 'rl_name', + defaultContent: '' }, { title: lang.sender, - data: 'from' + data: 'from', + defaultContent: '' }, { title: lang.recipients, - data: 'rcpt' + data: 'rcpt', + defaultContent: '' }, { title: lang.authed_user, - data: 'user' + data: 'user', + defaultContent: '' }, { title: 'Msg ID', - data: 'message_id' + data: 'message_id', + defaultContent: '' }, { title: 'Header From', - data: 'header_from' + data: 'header_from', + defaultContent: '' }, { title: 'Subject', - data: 'header_subject' + data: 'header_subject', + defaultContent: '' }, { title: 'Hash', - data: 'rl_hash' + data: 'rl_hash', + defaultContent: '' }, { title: 'Rspamd QID', - data: 'qid' + data: 'qid', + defaultContent: '' }, { title: 'IP', - data: 'ip' + data: 'ip', + defaultContent: '' }, { title: lang.action, - data: 'action' + data: 'action', + defaultContent: '' } ] }); @@ -296,6 +326,7 @@ jQuery(function($){ { title: lang.time, data: 'time', + 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"}); @@ -303,31 +334,38 @@ jQuery(function($){ }, { title: 'Type', - data: 'type' + data: 'type', + defaultContent: '' }, { title: 'Task', - data: 'task' + data: 'task', + defaultContent: '' }, { title: 'User', - data: 'user' + data: 'user', + defaultContent: '' }, { title: 'Role', - data: 'role' + data: 'role', + defaultContent: '' }, { title: 'IP', - data: 'remote' + data: 'remote', + defaultContent: '' }, { title: lang.message, - data: 'msg' + data: 'msg', + defaultContent: '' }, { title: 'Call', - data: 'call' + data: 'call', + defaultContent: '' } ] }); @@ -348,19 +386,23 @@ jQuery(function($){ columns: [ { title: lang.username, - data: 'username' + data: 'username', + defaultContent: '' }, { title: lang.service, - data: 'service' + data: 'service', + defaultContent: '' }, { title: 'IP', - data: 'real_rip' + data: 'real_rip', + defaultContent: '' }, { title: lang.login_time, data: 'datetime', + 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"}); @@ -386,6 +428,7 @@ jQuery(function($){ { title: lang.time, data: 'time', + 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"}); @@ -393,7 +436,8 @@ jQuery(function($){ }, { title: lang.message, - data: 'message' + data: 'message', + defaultContent: '' } ] }); @@ -415,6 +459,7 @@ jQuery(function($){ { title: lang.time, data: 'time', + 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"}); @@ -422,11 +467,13 @@ jQuery(function($){ }, { title: lang.priority, - data: 'priority' + data: 'priority', + defaultContent: '' }, { title: lang.message, - data: 'message' + data: 'message', + defaultContent: '' } ] }); @@ -448,6 +495,7 @@ jQuery(function($){ { title: lang.time, data: 'time', + 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"}); @@ -455,11 +503,13 @@ jQuery(function($){ }, { title: lang.priority, - data: 'priority' + data: 'priority', + defaultContent: '' }, { title: lang.message, - data: 'message' + data: 'message', + defaultContent: '' } ] }); @@ -481,6 +531,7 @@ jQuery(function($){ { title: lang.time, data: 'time', + 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"}); @@ -488,11 +539,13 @@ jQuery(function($){ }, { title: lang.priority, - data: 'priority' + data: 'priority', + defaultContent: '' }, { title: lang.message, - data: 'message' + data: 'message', + defaultContent: '' } ] }); @@ -574,6 +627,7 @@ jQuery(function($){ { title: lang.time, data: 'time', + 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"}); @@ -581,51 +635,63 @@ jQuery(function($){ }, { title: 'IP address', - data: 'ip' + data: 'ip', + defaultContent: '' }, { title: 'From', - data: 'sender_mime' + data: 'sender_mime', + defaultContent: '' }, { title: 'To', - data: 'rcpt' + data: 'rcpt', + defaultContent: '' }, { title: 'Subject', - data: 'subject' + data: 'subject', + defaultContent: '' }, { title: 'Action', - data: 'action' + data: 'action', + defaultContent: '' }, { title: 'Score', - data: 'score' + data: 'score', + defaultContent: '' }, { title: 'Subject', - data: 'header_subject' + data: 'header_subject', + defaultContent: '' }, { title: 'Symbols', - data: 'symbols' + data: 'symbols', + defaultContent: '' }, { title: 'Msg size', - data: 'size' + data: 'size', + defaultContent: '' }, { title: 'Scan Time', - data: 'scan_time' + data: 'scan_time', + defaultContent: '' }, { title: 'ID', - data: 'message-id' + data: 'message-id', + defaultContent: '' }, { title: 'Authenticated user', - data: 'user' + data: 'user', + defaultContent: '' } ] }); @@ -832,8 +898,10 @@ jQuery(function($){ // detect element visibility changes function onVisible(element, callback) { - $(element).ready(function() { - element_object = document.querySelector(element) + $(document).ready(function() { + element_object = document.querySelector(element); + if (element_object === null) return; + new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if(entry.intersectionRatio > 0) { diff --git a/data/web/js/site/edit.js b/data/web/js/site/edit.js index c29aa62f..31b9d08b 100644 --- a/data/web/js/site/edit.js +++ b/data/web/js/site/edit.js @@ -105,14 +105,17 @@ jQuery(function($){ { title: 'ID', data: 'prefid', + defaultContent: '' }, { title: lang_user.spamfilter_table_rule, - data: 'value' + data: 'value', + defaultContent: '' }, { title: 'Scope', - data: 'object' + data: 'object', + defaultContent: '' } ] }); @@ -157,14 +160,17 @@ jQuery(function($){ { title: 'ID', data: 'prefid', + defaultContent: '' }, { title: lang_user.spamfilter_table_rule, - data: 'value' + data: 'value', + defaultContent: '' }, { title: 'Scope', - data: 'object' + data: 'object', + defaultContent: '' } ] }); @@ -173,8 +179,10 @@ jQuery(function($){ // detect element visibility changes function onVisible(element, callback) { - $(element).ready(function() { - element_object = document.querySelector(element) + $(document).ready(function() { + element_object = document.querySelector(element); + if (element_object === null) return; + new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if(entry.intersectionRatio > 0) { diff --git a/data/web/js/site/mailbox.js b/data/web/js/site/mailbox.js index 8350e92d..d5f274f4 100644 --- a/data/web/js/site/mailbox.js +++ b/data/web/js/site/mailbox.js @@ -277,20 +277,24 @@ jQuery(function($){ { title: lang.domain, data: 'domain_name', - responsivePriority: 3 + responsivePriority: 3, + defaultContent: '' }, { title: lang.aliases, - data: 'aliases_in_domain' + data: 'aliases_in_domain', + defaultContent: '' }, { title: lang.mailboxes, data: 'mboxes_in_domain', - responsivePriority: 4 + responsivePriority: 4, + defaultContent: '' }, { title: lang.domain_quota, data: 'quota', + defaultContent: '', render: function (data, type) { data = data.split("/"); return humanFileSize(data[0]) + " / " + humanFileSize(data[1]); @@ -299,6 +303,7 @@ jQuery(function($){ { title: lang.stats, data: 'stats', + defaultContent: '', render: function (data, type) { data = data.split("/"); return ' ' + data[0] + ' / ' + humanFileSize(data[1]); @@ -306,34 +311,41 @@ jQuery(function($){ }, { title: lang.mailbox_defquota, - data: 'def_quota_for_mbox' + data: 'def_quota_for_mbox', + defaultContent: '' }, { title: lang.mailbox_quota, - data: 'max_quota_for_mbox' + data: 'max_quota_for_mbox', + defaultContent: '' }, { title: 'RL', - data: 'rl' + data: 'rl', + defaultContent: '' }, { title: lang.backup_mx, data: 'backupmx', + defaultContent: '', redner: function (data, type){ return 1==value ? '' : 0==value && ''; } }, { title: lang.domain_admins, - data: 'domain_admins' + data: 'domain_admins', + defaultContent: '' }, { title: 'Tags', - data: 'tags' + data: 'tags', + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':(0==data?'':2==data&&'—'); } @@ -342,7 +354,8 @@ jQuery(function($){ title: lang.action, data: 'action', className: 'text-md-end dt-sm-head-hidden dt-body-right', - responsivePriority: 5 + responsivePriority: 5, + defaultContent: '' }, ] }); @@ -459,20 +472,24 @@ jQuery(function($){ { title: lang.username, data: 'username', - responsivePriority: 3 + responsivePriority: 3, + defaultContent: '' }, { title: lang.fname, - data: 'name' + data: 'name', + defaultContent: '' }, { title: lang.domain, - data: 'domain' + data: 'domain', + defaultContent: '' }, { title: lang.domain_quota, data: 'quota', responsivePriority: 4, + defaultContent: '', render: function (data, type) { data = data.split("/"); var of_q = (data[1] == 0 ? "∞" : humanFileSize(data[1])); @@ -481,55 +498,68 @@ jQuery(function($){ }, { title: lang.tls_enforce_in, - data: 'tls_enforce_in' + data: 'tls_enforce_in', + defaultContent: '' }, { title: lang.tls_enforce_out, - data: 'tls_enforce_out' + data: 'tls_enforce_out', + defaultContent: '' }, { title: 'SMTP', - data: 'smtp_access' + data: 'smtp_access', + defaultContent: '' }, { title: 'IMAP', - data: 'imap_access' + data: 'imap_access', + defaultContent: '' }, { title: 'POP3', - data: 'pop3_access' + data: 'pop3_access', + defaultContent: '' }, { title: lang.last_mail_login, - data: 'last_mail_login' + data: 'last_mail_login', + defaultContent: '' }, { title: lang.last_pw_change, - data: 'last_pw_change' + data: 'last_pw_change', + defaultContent: '' }, { title: lang.quarantine_notification, - data: 'quarantine_notification' + data: 'quarantine_notification', + defaultContent: '' }, { title: lang.quarantine_category, - data: 'quarantine_category' + data: 'quarantine_category', + defaultContent: '' }, { title: lang.in_use, - data: 'in_use' + data: 'in_use', + defaultContent: '' }, { title: lang.msg_num, - data: 'messages' + data: 'messages', + defaultContent: '' }, { title: 'Tags', - data: 'tags' + data: 'tags', + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':(0==data?'':2==data&&'—'); } @@ -538,7 +568,8 @@ jQuery(function($){ title: lang.action, data: 'action', className: 'text-md-end dt-sm-head-hidden dt-body-right', - responsivePriority: 5 + responsivePriority: 5, + defaultContent: '' }, ] }); @@ -593,28 +624,34 @@ jQuery(function($){ { title: lang.description, data: 'description', - responsivePriority: 3 + responsivePriority: 3, + defaultContent: '' }, { title: lang.alias, - data: 'name' + data: 'name', + defaultContent: '' }, { title: lang.kind, - data: 'kind' + data: 'kind', + defaultContent: '' }, { title: lang.domain, data: 'domain', - responsivePriority: 4 + responsivePriority: 4, + defaultContent: '' }, { title: lang.multiple_bookings, - data: 'multiple_bookings' + data: 'multiple_bookings', + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':(0==data?'':2==data&&'—'); } @@ -623,7 +660,8 @@ jQuery(function($){ title: lang.action, data: 'action', className: 'text-md-end dt-sm-head-hidden dt-body-right', - responsivePriority: 5 + responsivePriority: 5, + defaultContent: '' }, ] }); @@ -676,28 +714,34 @@ jQuery(function($){ { title: 'ID', data: 'id', - responsivePriority: 3 + responsivePriority: 3, + defaultContent: '' }, { title: lang.bcc_type, - data: 'type' + data: 'type', + defaultContent: '' }, { title: lang.bcc_local_dest, - data: 'local_dest' + data: 'local_dest', + defaultContent: '' }, { title: lang.bcc_destinations, - data: 'bcc_dest' + data: 'bcc_dest', + defaultContent: '' }, { title: lang.domain, data: 'domain', - responsivePriority: 4 + responsivePriority: 4, + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':(0==data?'':2==data&&'—'); } @@ -706,7 +750,8 @@ jQuery(function($){ title: lang.action, data: 'action', className: 'text-md-end dt-sm-head-hidden dt-body-right', - responsivePriority: 5 + responsivePriority: 5, + defaultContent: '' }, ] }); @@ -756,19 +801,23 @@ jQuery(function($){ { title: 'ID', data: 'id', - responsivePriority: 3 + responsivePriority: 3, + defaultContent: '' }, { title: lang.recipient_map_old, - data: 'recipient_map_old' + data: 'recipient_map_old', + defaultContent: '' }, { title: lang.recipient_map_new, - data: 'recipient_map_new' + data: 'recipient_map_new', + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':0==data&&''; } @@ -777,7 +826,8 @@ jQuery(function($){ title: lang.action, data: 'action', className: 'text-md-end dt-sm-head-hidden dt-body-right', - responsivePriority: 4 + responsivePriority: 4, + defaultContent: '' }, ] }); @@ -832,28 +882,34 @@ jQuery(function($){ { title: 'ID', data: 'id', - responsivePriority: 3 + responsivePriority: 3, + defaultContent: '' }, { title: lang.tls_map_dest, - data: 'dest' + data: 'dest', + defaultContent: '' }, { title: lang.tls_map_policy, - data: 'policy' + data: 'policy', + defaultContent: '' }, { title: lang.tls_map_parameters, - data: 'parameters' + data: 'parameters', + defaultContent: '' }, { title: lang.domain, data: 'domain', - responsivePriority: 4 + responsivePriority: 4, + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':0==data&&''; } @@ -862,7 +918,8 @@ jQuery(function($){ title: lang.action, data: 'action', className: 'text-md-end dt-sm-head-hidden dt-body-right', - responsivePriority: 5 + responsivePriority: 5, + defaultContent: '' }, ] }); @@ -939,40 +996,49 @@ jQuery(function($){ { title: 'ID', data: 'id', - responsivePriority: 3 + responsivePriority: 3, + defaultContent: '' }, { title: lang.alias, data: 'address', - responsivePriority: 4 + responsivePriority: 4, + defaultContent: '' }, { title: lang.target_address, - data: 'goto' + data: 'goto', + defaultContent: '' }, { title: lang.bcc_destinations, - data: 'bcc_dest' + data: 'bcc_dest', + defaultContent: '' }, { title: lang.domain, - data: 'domain' + data: 'domain', + defaultContent: '' }, { title: lang.public_comment, - data: 'public_comment' + data: 'public_comment', + defaultContent: '' }, { title: lang.private_comment, - data: 'private_comment' + data: 'private_comment', + defaultContent: '' }, { title: lang.sogo_visible, - data: 'sogo_visible' + data: 'sogo_visible', + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':0==data&&''; } @@ -981,7 +1047,8 @@ jQuery(function($){ title: lang.action, data: 'action', className: 'text-md-end dt-sm-head-hidden dt-body-right', - responsivePriority: 5 + responsivePriority: 5, + defaultContent: '' }, ] }); @@ -1033,28 +1100,34 @@ jQuery(function($){ { title: lang.alias, data: 'alias_domain', - responsivePriority: 3 + responsivePriority: 3, + defaultContent: '' }, { title: lang.target_domain, data: 'target_domain', - responsivePriority: 4 + responsivePriority: 4, + defaultContent: '' }, { title: lang.bcc_local_dest, - data: 'local_dest' + data: 'local_dest', + defaultContent: '' }, { title: lang.bcc_destinations, - data: 'bcc_dest' + data: 'bcc_dest', + defaultContent: '' }, { title: lang.domain, - data: 'domain' + data: 'domain', + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':0==data&&''; } @@ -1063,7 +1136,8 @@ jQuery(function($){ title: lang.action, data: 'action', className: 'text-md-end dt-sm-head-hidden dt-body-right', - responsivePriority: 5 + responsivePriority: 5, + defaultContent: '' }, ] }); @@ -1137,53 +1211,64 @@ jQuery(function($){ { title: 'ID', data: 'id', - responsivePriority: 3 + responsivePriority: 3, + defaultContent: '' }, { title: lang.owner, data: 'user2', - responsivePriority: 4 + responsivePriority: 4, + defaultContent: '' }, { title: 'Server', - data: 'server_w_port' + data: 'server_w_port', + defaultContent: '' }, { title: lang.excludes, - data: 'exclude' + data: 'exclude', + defaultContent: '' }, { title: lang.mins_interval, - data: 'mins_interval' + data: 'mins_interval', + defaultContent: '' }, { title: lang.last_run, - data: 'last_run' + data: 'last_run', + defaultContent: '' }, { title: lang.syncjob_last_run_result, - data: 'exit_status' + data: 'exit_status', + defaultContent: '' }, { title: lang.status, - data: 'is_running' + data: 'is_running', + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':0==data&&''; } }, { title: 'Log', - data: 'log' + data: 'log', + defaultContent: '' }, { title: lang.action, data: 'action', className: 'text-md-end dt-sm-head-hidden dt-body-right', - responsivePriority: 5 + responsivePriority: 5, + defaultContent: '' }, ] }); @@ -1236,34 +1321,41 @@ jQuery(function($){ { title: 'ID', data: 'id', - responsivePriority: 3 + responsivePriority: 3, + defaultContent: '' }, { title: lang.active, - data: 'active' + data: 'active', + defaultContent: '' }, { title: 'Type', data: 'filter_type', - responsivePriority: 4 + responsivePriority: 4, + defaultContent: '' }, { title: lang.owner, - data: 'username' + data: 'username', + defaultContent: '' }, { title: lang.description, - data: 'script_desc' + data: 'script_desc', + defaultContent: '' }, { title: 'Script', - data: 'script_data' + data: 'script_data', + defaultContent: '' }, { title: lang.action, data: 'action', className: 'text-md-end dt-sm-head-hidden dt-body-right', - responsivePriority: 5 + responsivePriority: 5, + defaultContent: '' }, ] }); @@ -1271,8 +1363,10 @@ jQuery(function($){ // detect element visibility changes function onVisible(element, callback) { - $(element).ready(function() { - element_object = document.querySelector(element) + $(document).ready(function() { + element_object = document.querySelector(element); + if (element_object === null) return; + new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if(entry.intersectionRatio > 0) { diff --git a/data/web/js/site/quarantine.js b/data/web/js/site/quarantine.js index 7848ebe7..d838b0fb 100644 --- a/data/web/js/site/quarantine.js +++ b/data/web/js/site/quarantine.js @@ -83,42 +83,52 @@ jQuery(function($){ { title: 'ID', data: 'id', + defaultContent: '' }, { title: lang.qid, - data: 'qid' + data: 'qid', + defaultContent: '' }, { title: lang.sender, - data: 'sender' + data: 'sender', + defaultContent: '' }, { title: lang.subj, - data: 'sender' + data: 'sender', + defaultContent: '' }, { title: lang.rspamd_result, - data: 'rspamdaction' + data: 'rspamdaction', + defaultContent: '' }, { title: lang.rcpt, - data: 'rcpt' + data: 'rcpt', + defaultContent: '' }, { title: lang.danger, - data: 'virus' + data: 'virus', + defaultContent: '' }, { title: lang.spam_score, - data: 'score' + data: 'score', + defaultContent: '' }, { title: lang.notified, - data: 'notified' + data: 'notified', + defaultContent: '' }, { title: lang.received, data: 'created', + 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"}); @@ -127,7 +137,8 @@ jQuery(function($){ { title: lang.action, data: 'action', - className: 'text-md-end dt-sm-head-hidden dt-body-right' + className: 'text-md-end dt-sm-head-hidden dt-body-right', + defaultContent: '' }, ] }); diff --git a/data/web/js/site/user.js b/data/web/js/site/user.js index 8a6994b5..72da6259 100644 --- a/data/web/js/site/user.js +++ b/data/web/js/site/user.js @@ -172,11 +172,13 @@ jQuery(function($){ }, { title: lang.alias, - data: 'address' + data: 'address', + defaultContent: '' }, { 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"}); @@ -185,7 +187,8 @@ jQuery(function($){ { title: lang.action, data: 'action', - className: 'text-md-end dt-sm-head-hidden dt-body-right' + className: 'text-md-end dt-sm-head-hidden dt-body-right', + defaultContent: '' } ] }); @@ -263,55 +266,67 @@ jQuery(function($){ }, { title: 'ID', - data: 'id' + data: 'id', + defaultContent: '' }, { title: 'Server', - data: 'server_w_port' + data: 'server_w_port', + defaultContent: '' }, { title: lang.encryption, - data: 'enc1' + data: 'enc1', + defaultContent: '' }, { title: lang.username, - data: 'user1' + data: 'user1', + defaultContent: '' }, { title: lang.excludes, - data: 'exclude' + data: 'exclude', + defaultContent: '' }, { title: lang.interval + " (min)", - data: 'mins_interval' + data: 'mins_interval', + defaultContent: '' }, { title: lang.last_run, - data: 'last_run' + data: 'last_run', + defaultContent: '' }, { title: lang.syncjob_last_run_result, - data: 'exit_status' + data: 'exit_status', + defaultContent: '' }, { title: 'Log', - data: 'log' + data: 'log', + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':0==data&&'' } }, { title: lang.status, - data: 'is_running' + data: 'is_running', + defaultContent: '' }, { title: lang.action, data: 'action', - className: 'text-md-end dt-sm-head-hidden dt-body-right' + className: 'text-md-end dt-sm-head-hidden dt-body-right', + defaultContent: '' } ] }); @@ -370,19 +385,23 @@ jQuery(function($){ }, { title: 'ID', - data: 'id' + data: 'id', + defaultContent: '' }, { title: lang.app_name, - data: 'name' + data: 'name', + defaultContent: '' }, { title: lang.allowed_protocols, - data: 'protocols' + data: 'protocols', + defaultContent: '' }, { title: lang.active, data: 'active', + defaultContent: '', render: function (data, type) { return 1==data?'':0==data&&'' } @@ -390,7 +409,8 @@ jQuery(function($){ { title: lang.action, data: 'action', - className: 'text-md-end dt-sm-head-hidden dt-body-right' + className: 'text-md-end dt-sm-head-hidden dt-body-right', + defaultContent: '' } ] }); @@ -438,15 +458,18 @@ jQuery(function($){ }, { title: 'ID', - data: 'prefid' + data: 'prefid', + defaultContent: '' }, { title: lang.spamfilter_table_rule, - data: 'name' + data: 'name', + defaultContent: '' }, { title:'Scope', - data: 'object' + data: 'object', + defaultContent: '' } ] }); @@ -494,15 +517,18 @@ jQuery(function($){ }, { title: 'ID', - data: 'prefid' + data: 'prefid', + defaultContent: '' }, { title: lang.spamfilter_table_rule, - data: 'name' + data: 'name', + defaultContent: '' }, { title:'Scope', - data: 'object' + data: 'object', + defaultContent: '' } ] }); @@ -542,8 +568,10 @@ jQuery(function($){ // detect element visibility changes function onVisible(element, callback) { - $(element).ready(function() { - element_object = document.querySelector(element) + $(document).ready(function() { + element_object = document.querySelector(element); + if (element_object === null) return; + new IntersectionObserver((entries, observer) => { entries.forEach(entry => { if(entry.intersectionRatio > 0) {