[Web] Set pageLength to pagination_size + repect savedState...
Fix width in quarantine table.
This commit is contained in:
@@ -34,7 +34,7 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
// set update loop container list
|
||||
containersToUpdate = {}
|
||||
containersToUpdate = {};
|
||||
// set default ChartJs Font Color
|
||||
Chart.defaults.color = '#999';
|
||||
// create host cpu and mem charts
|
||||
@@ -44,14 +44,13 @@ $(document).ready(function() {
|
||||
check_update(mailcow_info.version_tag, mailcow_info.project_url);
|
||||
}
|
||||
$("#maiclow_version").click(function(){
|
||||
if (mailcow_cc_role !== "admin" && mailcow_cc_role !== "domainadmin" ||
|
||||
mailcow_info.branch !== "master")
|
||||
if (mailcow_cc_role !== "admin" && mailcow_cc_role !== "domainadmin" || mailcow_info.branch !== "master")
|
||||
return;
|
||||
|
||||
showVersionModal("Version " + mailcow_info.version_tag, mailcow_info.version_tag);
|
||||
})
|
||||
// get public ips
|
||||
$("#host_show_ip").click(function(){
|
||||
$("#host_show_ip").click(function(){
|
||||
$("#host_show_ip").find(".text").addClass("d-none");
|
||||
$("#host_show_ip").find(".spinner-border").removeClass("d-none");
|
||||
|
||||
@@ -76,7 +75,7 @@ $(document).ready(function() {
|
||||
$("#host_ipv6").addClass("d-block");
|
||||
}).catch(function(error){
|
||||
console.log(error);
|
||||
|
||||
|
||||
$("#host_ipv6").removeClass("d-none");
|
||||
$("#host_ipv6").addClass("d-block");
|
||||
$("#host_ipv6").addClass("text-danger");
|
||||
@@ -119,10 +118,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#autodiscover_log').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -188,10 +188,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#postfix_log').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -242,10 +243,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#watchdog_log').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -300,10 +302,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#api_log').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -352,7 +355,7 @@ jQuery(function($){
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
table.on('responsive-resize', function (e, datatable, columns){
|
||||
hideTableExpandCollapseBtn('#tab-api-logs', '#api_log');
|
||||
});
|
||||
@@ -365,10 +368,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#rl_log').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -455,7 +459,7 @@ jQuery(function($){
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
table.on('responsive-resize', function (e, datatable, columns){
|
||||
hideTableExpandCollapseBtn('#tab-rl-logs', '#rl_log');
|
||||
});
|
||||
@@ -468,10 +472,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#ui_logs').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -538,7 +543,7 @@ jQuery(function($){
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
table.on('responsive-resize', function (e, datatable, columns){
|
||||
hideTableExpandCollapseBtn('#tab-ui-logs', '#ui_log');
|
||||
});
|
||||
@@ -551,10 +556,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#sasl_logs').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -598,7 +604,7 @@ jQuery(function($){
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
table.on('responsive-resize', function (e, datatable, columns){
|
||||
hideTableExpandCollapseBtn('#tab-sasl-logs', '#sasl_logs');
|
||||
});
|
||||
@@ -611,10 +617,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#acme_log').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -647,7 +654,7 @@ jQuery(function($){
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
table.on('responsive-resize', function (e, datatable, columns){
|
||||
hideTableExpandCollapseBtn('#tab-acme-logs', '#acme_log');
|
||||
});
|
||||
@@ -660,10 +667,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#netfilter_log').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -701,7 +709,7 @@ jQuery(function($){
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
table.on('responsive-resize', function (e, datatable, columns){
|
||||
hideTableExpandCollapseBtn('#tab-netfilter-logs', '#netfilter_log');
|
||||
});
|
||||
@@ -714,10 +722,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#sogo_log').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -755,7 +764,7 @@ jQuery(function($){
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
table.on('responsive-resize', function (e, datatable, columns){
|
||||
hideTableExpandCollapseBtn('#tab-sogo-logs', '#sogo_log');
|
||||
});
|
||||
@@ -768,10 +777,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#dovecot_log').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -883,10 +893,11 @@ jQuery(function($){
|
||||
}
|
||||
|
||||
var table = $('#rspamd_history').DataTable({
|
||||
responsive: true,
|
||||
responsive: true,
|
||||
processing: true,
|
||||
serverSide: false,
|
||||
stateSave: true,
|
||||
pageLength: log_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>>",
|
||||
@@ -983,7 +994,7 @@ jQuery(function($){
|
||||
}
|
||||
]
|
||||
});
|
||||
|
||||
|
||||
table.on('responsive-resize', function (e, datatable, columns){
|
||||
hideTableExpandCollapseBtn('#tab-rspamd-history', '#rspamd_history');
|
||||
});
|
||||
@@ -998,31 +1009,31 @@ jQuery(function($){
|
||||
item.rcpt = escapeHtml(item.rcpt_smtp.join(", "));
|
||||
}
|
||||
item.symbols = Object.keys(item.symbols).sort(function (a, b) {
|
||||
if (item.symbols[a].score === 0) return 1
|
||||
if (item.symbols[b].score === 0) return -1
|
||||
if (item.symbols[a].score === 0) return 1;
|
||||
if (item.symbols[b].score === 0) return -1;
|
||||
if (item.symbols[b].score < 0 && item.symbols[a].score < 0) {
|
||||
return item.symbols[a].score - item.symbols[b].score
|
||||
return item.symbols[a].score - item.symbols[b].score;
|
||||
}
|
||||
if (item.symbols[b].score > 0 && item.symbols[a].score > 0) {
|
||||
return item.symbols[b].score - item.symbols[a].score
|
||||
return item.symbols[b].score - item.symbols[a].score;
|
||||
}
|
||||
return item.symbols[b].score - item.symbols[a].score
|
||||
return item.symbols[b].score - item.symbols[a].score;
|
||||
}).map(function(key) {
|
||||
var sym = item.symbols[key];
|
||||
if (sym.score < 0) {
|
||||
sym.score_formatted = '(<span class="text-success"><b>' + sym.score + '</b></span>)'
|
||||
sym.score_formatted = '(<span class="text-success"><b>' + sym.score + '</b></span>)';
|
||||
}
|
||||
else if (sym.score === 0) {
|
||||
sym.score_formatted = '(<span><b>' + sym.score + '</b></span>)'
|
||||
sym.score_formatted = '(<span><b>' + sym.score + '</b></span>)';
|
||||
}
|
||||
else {
|
||||
sym.score_formatted = '(<span class="text-danger"><b>' + sym.score + '</b></span>)'
|
||||
sym.score_formatted = '(<span class="text-danger"><b>' + sym.score + '</b></span>)';
|
||||
}
|
||||
var str = '<strong>' + key + '</strong> ' + sym.score_formatted;
|
||||
if (sym.options) {
|
||||
str += ' [' + escapeHtml(sym.options.join(", ")) + "]";
|
||||
}
|
||||
return str
|
||||
return str;
|
||||
}).join('<br>\n');
|
||||
item.subject = escapeHtml(item.subject);
|
||||
var scan_time = item.time_real.toFixed(3);
|
||||
@@ -1155,14 +1166,14 @@ jQuery(function($){
|
||||
}
|
||||
});
|
||||
}
|
||||
return data
|
||||
return data;
|
||||
};
|
||||
$('.add_log_lines').on('click', function (e) {
|
||||
e.preventDefault();
|
||||
var log_table= $(this).data("table")
|
||||
var new_nrows = $(this).data("nrows")
|
||||
var post_process = $(this).data("post-process")
|
||||
var log_url = $(this).data("log-url")
|
||||
var log_table= $(this).data("table");
|
||||
var new_nrows = $(this).data("nrows");
|
||||
var post_process = $(this).data("post-process");
|
||||
var log_url = $(this).data("log-url");
|
||||
if (log_table === undefined || new_nrows === undefined || post_process === undefined || log_url === undefined) {
|
||||
console.log("no data-table or data-nrows or log_url or data-post-process attr found");
|
||||
return;
|
||||
@@ -1184,9 +1195,9 @@ jQuery(function($){
|
||||
})
|
||||
function hideTableExpandCollapseBtn(tab, table){
|
||||
if ($(table).hasClass('collapsed'))
|
||||
$(tab).find(".table_collapse_option").show();
|
||||
$(tab).find(".table_collapse_option").show();
|
||||
else
|
||||
$(tab).find(".table_collapse_option").hide();
|
||||
$(tab).find(".table_collapse_option").hide();
|
||||
}
|
||||
|
||||
// detect element visibility changes
|
||||
@@ -1220,7 +1231,6 @@ jQuery(function($){
|
||||
onVisible("[id^=rspamd_donut]", () => rspamd_pie_graph());
|
||||
|
||||
|
||||
|
||||
// start polling host stats if tab is active
|
||||
onVisible("[id^=tab-containers]", () => update_stats());
|
||||
// start polling container stats if collapse is active
|
||||
@@ -1303,9 +1313,9 @@ function update_stats(timeout=5){
|
||||
if (mem_chart.data.labels.length > 30) mem_chart.data.labels.shift();
|
||||
|
||||
cpu_chart.data.datasets[0].data.push(data.cpu.usage);
|
||||
if (cpu_chart.data.datasets[0].data.length > 30) cpu_chart.data.datasets[0].data.shift();
|
||||
if (cpu_chart.data.datasets[0].data.length > 30) cpu_chart.data.datasets[0].data.shift();
|
||||
mem_chart.data.datasets[0].data.push(data.memory.usage);
|
||||
if (mem_chart.data.datasets[0].data.length > 30) mem_chart.data.datasets[0].data.shift();
|
||||
if (mem_chart.data.datasets[0].data.length > 30) mem_chart.data.datasets[0].data.shift();
|
||||
|
||||
cpu_chart.update();
|
||||
mem_chart.update();
|
||||
@@ -1464,23 +1474,23 @@ function createReadWriteChart(chart_id, read_lable, write_lable){
|
||||
};
|
||||
var optionsNet = {
|
||||
interaction: {
|
||||
mode: 'index'
|
||||
mode: 'index'
|
||||
},
|
||||
scales: {
|
||||
yAxis: {
|
||||
min: 0,
|
||||
grid: {
|
||||
display: false
|
||||
display: false
|
||||
},
|
||||
ticks: {
|
||||
callback: function(i, index, ticks) {
|
||||
return formatBytes(i);
|
||||
return formatBytes(i);
|
||||
}
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
grid: {
|
||||
display: false
|
||||
display: false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1528,13 +1538,13 @@ function createHostCpuAndMemChart(){
|
||||
};
|
||||
var optionsCpu = {
|
||||
interaction: {
|
||||
mode: 'index'
|
||||
mode: 'index'
|
||||
},
|
||||
scales: {
|
||||
yAxis: {
|
||||
min: 0,
|
||||
grid: {
|
||||
display: false
|
||||
display: false
|
||||
},
|
||||
ticks: {
|
||||
callback: function(i, index, ticks) {
|
||||
@@ -1544,7 +1554,7 @@ function createHostCpuAndMemChart(){
|
||||
},
|
||||
xAxis: {
|
||||
grid: {
|
||||
display: false
|
||||
display: false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1566,13 +1576,13 @@ function createHostCpuAndMemChart(){
|
||||
};
|
||||
var optionsMem = {
|
||||
interaction: {
|
||||
mode: 'index'
|
||||
mode: 'index'
|
||||
},
|
||||
scales: {
|
||||
yAxis: {
|
||||
min: 0,
|
||||
grid: {
|
||||
display: false
|
||||
display: false
|
||||
},
|
||||
ticks: {
|
||||
callback: function(i, index, ticks) {
|
||||
@@ -1582,7 +1592,7 @@ function createHostCpuAndMemChart(){
|
||||
},
|
||||
xAxis: {
|
||||
grid: {
|
||||
display: false
|
||||
display: false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1678,22 +1688,22 @@ function parseGithubMarkdownLinks(inputText) {
|
||||
|
||||
replacePattern1 = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
|
||||
replacedText = inputText.replace(replacePattern1, (matched, index, original, input_string) => {
|
||||
if (matched.includes('github.com')){
|
||||
// return short link if it's github link
|
||||
last_uri_path = matched.split('/');
|
||||
last_uri_path = last_uri_path[last_uri_path.length - 1];
|
||||
if (matched.includes('github.com')){
|
||||
// return short link if it's github link
|
||||
last_uri_path = matched.split('/');
|
||||
last_uri_path = last_uri_path[last_uri_path.length - 1];
|
||||
|
||||
// adjust Full Changelog link to match last git version and new git version, if link is a compare link
|
||||
if (matched.includes('/compare/') && mailcow_info.last_version_tag !== ''){
|
||||
matched = matched.replace(last_uri_path, mailcow_info.last_version_tag + '...' + mailcow_info.version_tag);
|
||||
last_uri_path = mailcow_info.last_version_tag + '...' + mailcow_info.version_tag;
|
||||
}
|
||||
// adjust Full Changelog link to match last git version and new git version, if link is a compare link
|
||||
if (matched.includes('/compare/') && mailcow_info.last_version_tag !== ''){
|
||||
matched = matched.replace(last_uri_path, mailcow_info.last_version_tag + '...' + mailcow_info.version_tag);
|
||||
last_uri_path = mailcow_info.last_version_tag + '...' + mailcow_info.version_tag;
|
||||
}
|
||||
|
||||
return '<a href="' + matched + '" target="_blank">' + last_uri_path + '</a><br>';
|
||||
};
|
||||
return '<a href="' + matched + '" target="_blank">' + last_uri_path + '</a><br>';
|
||||
};
|
||||
|
||||
// if it's not a github link, return complete link
|
||||
return '<a href="' + matched + '" target="_blank">' + matched + '</a>';
|
||||
// if it's not a github link, return complete link
|
||||
return '<a href="' + matched + '" target="_blank">' + matched + '</a>';
|
||||
});
|
||||
|
||||
return replacedText;
|
||||
|
Reference in New Issue
Block a user