git subrepo commit (merge) mailcow/src/mailcow-dockerized
subrepo: subdir: "mailcow/src/mailcow-dockerized"
merged: "c7b1dc37"
upstream: origin: "https://github.com/mailcow/mailcow-dockerized.git"
branch: "master"
commit: "a366494c"
git-subrepo: version: "0.4.6"
origin: "???"
commit: "???"
Change-Id: Id574ecd4e02e3c4fbf8a1efd49be11c0b6d19a3f
diff --git a/mailcow/src/mailcow-dockerized/data/web/js/site/queue.js b/mailcow/src/mailcow-dockerized/data/web/js/site/queue.js
index 057ad84..26c1509 100644
--- a/mailcow/src/mailcow-dockerized/data/web/js/site/queue.js
+++ b/mailcow/src/mailcow-dockerized/data/web/js/site/queue.js
@@ -1,123 +1,128 @@
jQuery(function($){
- $(".refresh_table").on('click', function(e) {
- e.preventDefault();
- var table_name = $(this).data('table');
- $('#' + table_name).DataTable().ajax.reload();
- });
+ $(".refresh_table").on('click', function(e) {
+ e.preventDefault();
+ var table_name = $(this).data('table');
+ $('#' + table_name).DataTable().ajax.reload();
+ });
- function humanFileSize(i){if(Math.abs(i)<1024)return i+" B";var B=["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],e=-1;do{i/=1024,++e}while(Math.abs(i)>=1024&&e<B.length-1);return i.toFixed(1)+" "+B[e]}
+ function humanFileSize(i){if(Math.abs(i)<1024)return i+" B";var B=["KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],e=-1;do{i/=1024,++e}while(Math.abs(i)>=1024&&e<B.length-1);return i.toFixed(1)+" "+B[e]}
- // Queue item
- $('#showQueuedMsg').on('show.bs.modal', function (e) {
- $('#queue_msg_content').text(lang.loading);
- button = $(e.relatedTarget)
- if (button != null) {
- $('#queue_id').text(button.data('queue-id'));
- }
- $.ajax({
- type: 'GET',
- url: '/api/v1/get/postcat/' + button.data('queue-id'),
- dataType: 'text',
- complete: function (data) {
- console.log(data);
- $('#queue_msg_content').text(data.responseText);
- }
- });
- })
-
- function draw_queue() {
- // just recalc width if instance already exists
- if ($.fn.DataTable.isDataTable('#queuetable') ) {
- $('#queuetable').DataTable().columns.adjust().responsive.recalc();
- return;
+ // Queue item
+ $('#showQueuedMsg').on('show.bs.modal', function (e) {
+ $('#queue_msg_content').text(lang.loading);
+ button = $(e.relatedTarget)
+ if (button != null) {
+ $('#queue_id').text(button.data('queue-id'));
}
+ $.ajax({
+ type: 'GET',
+ url: '/api/v1/get/postcat/' + button.data('queue-id'),
+ dataType: 'text',
+ complete: function (data) {
+ $('#queue_msg_content').text(data.responseText);
+ }
+ });
+ })
- $('#queuetable').DataTable({
- processing: true,
- serverSide: false,
- language: lang_datatables,
- ajax: {
- type: "GET",
- url: "/api/v1/get/mailq/all",
- dataSrc: function(data){
- $.each(data, function (i, item) {
- item.chkbox = '<input type="checkbox" data-id="mailqitems" name="multi_select" value="' + item.queue_id + '" />';
- rcpts = $.map(item.recipients, function(i) {
- return escapeHtml(i);
- });
- item.recipients = rcpts.join('<hr style="margin:1px!important">');
- item.action = '<div class="btn-group">' +
- '<a href="#" data-bs-toggle="modal" data-bs-target="#showQueuedMsg" data-queue-id="' + encodeURI(item.queue_id) + '" class="btn btn-xs btn-secondary">' + lang.queue_show_message + '</a>' +
+ function draw_queue() {
+ // just recalc width if instance already exists
+ if ($.fn.DataTable.isDataTable('#queuetable') ) {
+ $('#queuetable').DataTable().columns.adjust().responsive.recalc();
+ return;
+ }
+
+ $('#queuetable').DataTable({
+ responsive: true,
+ processing: true,
+ serverSide: false,
+ stateSave: true,
+ pageLength: pagination_size,
+ dom: "<'row'<'col-sm-12 col-md-6'f><'col-sm-12 col-md-6'l>>" +
+ "tr" +
+ "<'row'<'col-sm-12 col-md-5'i><'col-sm-12 col-md-7'p>>",
+ language: lang_datatables,
+ ajax: {
+ type: "GET",
+ url: "/api/v1/get/mailq/all",
+ dataSrc: function(data){
+ $.each(data, function (i, item) {
+ item.chkbox = '<input type="checkbox" class="form-check-input" data-id="mailqitems" name="multi_select" value="' + item.queue_id + '" />';
+ rcpts = $.map(item.recipients, function(i) {
+ return escapeHtml(i);
+ });
+ item.recipients = rcpts.join('<hr style="margin:1px!important">');
+ item.action = '<div class="btn-group">' +
+ '<a href="#" data-bs-toggle="modal" data-bs-target="#showQueuedMsg" data-queue-id="' + encodeURI(item.queue_id) + '" class="btn btn-xs btn-secondary">' + lang.show_message + '</a>' +
'</div>';
});
return data;
}
},
columns: [
- {
- // placeholder, so checkbox will not block child row toggle
- title: '',
- data: null,
- searchable: false,
- orderable: false,
- defaultContent: ''
- },
- {
- title: '',
- data: 'chkbox',
- searchable: false,
- orderable: false,
- defaultContent: ''
- },
- {
- title: 'QID',
- data: 'queue_id',
- defaultContent: ''
- },
- {
- title: 'Queue',
- data: 'queue_name',
- defaultContent: ''
- },
- {
- title: lang_admin.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"});
- }
- },
- {
- title: lang_admin.message_size,
- data: 'message_size',
- defaultContent: '',
- render: function (data, type){
- return humanFileSize(data);
- }
- },
- {
- title: lang_admin.sender,
- data: 'sender',
- defaultContent: ''
- },
- {
- title: lang_admin.recipients,
- data: 'recipients',
- defaultContent: ''
- },
- {
- title: lang_admin.action,
- data: 'action',
- className: 'text-md-end dt-sm-head-hidden dt-body-right',
- defaultContent: ''
- },
+ {
+ // placeholder, so checkbox will not block child row toggle
+ title: '',
+ data: null,
+ searchable: false,
+ orderable: false,
+ defaultContent: ''
+ },
+ {
+ title: '',
+ data: 'chkbox',
+ searchable: false,
+ orderable: false,
+ defaultContent: ''
+ },
+ {
+ title: 'QID',
+ data: 'queue_id',
+ defaultContent: ''
+ },
+ {
+ title: 'Queue',
+ data: 'queue_name',
+ defaultContent: ''
+ },
+ {
+ title: lang_admin.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"});
+ }
+ },
+ {
+ title: lang_admin.message_size,
+ data: 'message_size',
+ defaultContent: '',
+ render: function (data, type){
+ return humanFileSize(data);
+ }
+ },
+ {
+ title: lang_admin.sender,
+ data: 'sender',
+ defaultContent: ''
+ },
+ {
+ title: lang_admin.recipients,
+ data: 'recipients',
+ defaultContent: ''
+ },
+ {
+ title: lang_admin.action,
+ data: 'action',
+ className: 'dt-sm-head-hidden dt-text-right',
+ defaultContent: ''
+ },
]
});
}
draw_queue();
-})
\ No newline at end of file
+})