MediaWiki:Changelog.js: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 3: | Line 3: | ||
function createTable(id, hookObject) { | function createTable(id, hookObject) { | ||
var tableStart = "<div | var tableStart = "<div><table id=\"" + id + "\" style=\"word-wrap: break-word;\" class=\"\">"; | ||
var tableEnd = "</table></div>"; | var tableEnd = "</table></div>"; | ||
var tableHeaders = ["Module", "Type", "Log", "Version", "Occurred errors"]; | var tableHeaders = ["Module", "Type", "Log", "Version", "Occurred errors"]; | ||
| Line 57: | Line 57: | ||
} else { | } else { | ||
$.each(data, function (i, item) { | $.each(data, function (i, item) { | ||
var logtype = "Add"; | |||
if (item.logType == 1) { | |||
logtype = "Fix"; | |||
} | |||
if (item.logType == 2) { | |||
logtype = "Change"; | |||
} | |||
if (item.ErrorMessage != '') { | if (item.ErrorMessage != '') { | ||
| Line 74: | Line 72: | ||
} | } | ||
}); | }); | ||
} | |||
// Set the table width after data is loaded | |||
var table = tableObject.closest('table'); | |||
if (table.length) { | |||
table.css({ 'width': '100%', 'table-layout': 'fixed' }); | |||
} | } | ||
} | } | ||
Revision as of 09:56, 11 August 2025
(function ($) {
"use strict";
function createTable(id, hookObject) {
var tableStart = "<div><table id=\"" + id + "\" style=\"word-wrap: break-word;\" class=\"\">";
var tableEnd = "</table></div>";
var tableHeaders = ["Module", "Type", "Log", "Version", "Occurred errors"];
var tableHead = createTableHeader(tableHeaders);
hookObject.html(tableStart + tableHead + tableEnd);
}
function createTableHeader(headers) {
var tableHeadStart = "<thead>";
var tableHeadEnd = "</thead>";
var tableHeadRowStart = "<tr>";
var tableHeadRowEnd = "</tr>";
var tableHeadCellStart = "<th align=\"left\" style=\"\">";
var tableHeadCellEnd = "</th>";
var output = tableHeadStart + tableHeadRowStart;
jQuery.each(headers, function (i, item) {
if (item === 'Module' || item === 'Type' || item === 'Version') {
tableHeadCellStart = "<th align=\"left\" style=\"width:15%;\">";
} else if (item === 'Log') {
tableHeadCellStart = "<th align=\"left\" style=\"width:30%;\">";
} else {
tableHeadCellStart = "<th align=\"left\" style=\"width:25%;\">";
}
output = output + tableHeadCellStart + item + tableHeadCellEnd;
});
output = output + tableHeadRowEnd + tableHeadEnd;
return output;
}
function addData(tableObject, category) {
var rowStart = '<tr>';
var rowEnd = '</tr>';
var cellStart = '<td>';
var cellStartWithColspan = '<td colspan="5">';
var cellEnd = '</td>';
var breakElement = '<br />';
var url = "https://imp.inlogic.dk/api/changelog";
if (category)
url = url + "/" + category;
$.ajax({
url: url, success: function (data) {
if (!$.trim(data)) {
tableObject.append(rowStart + cellStartWithColspan + "Ingen log fundet for den valgte kategori..." + cellEnd + rowEnd);
} else {
$.each(data, function (i, item) {
var logtype = "Add";
if (item.logType == 1) {
logtype = "Fix";
}
if (item.logType == 2) {
logtype = "Change";
}
if (item.ErrorMessage != '') {
tableObject.append(rowStart + cellStart + item.licenseModules.moduleName + cellEnd + cellStart + logtype + cellEnd + cellStart + item.logText + cellEnd + cellStart + item.buildVersion + cellEnd + cellStart + item.errorMessage + cellEnd + rowEnd);
}
else {
tableObject.append(rowStart + cellStart + item.licenseModules.moduleName + cellEnd + cellStart + logtype + cellEnd + cellStart + item.logText + cellEnd + cellStart + item.buildVersion + cellEnd + cellStart + cellEnd + rowEnd);
}
});
}
// Set the table width after data is loaded
var table = tableObject.closest('table');
if (table.length) {
table.css({ 'width': '100%', 'table-layout': 'fixed' });
}
}
});
}
createTable("backendTable", $("#backend"));
addData($("#backendTable"), 1);
createTable("frontendTable", $("#frontend"));
addData($("#frontendTable"), 2);
createTable("appTable", $("#app"));
addData($("#appTable"), 3);
createTable("absenceTable", $("#absence"));
addData($("#absenceTable"), 4);
createTable("professionalTable", $("#professional"));
addData($("#professionalTable"), 5);
createTable("guardianTable", $("#guardian"));
addData($("#guardianTable"), 6);
createTable("smsgatewayTable", $("#smsgatewayserver"));
addData($("#smsgatewayTable"), 8);
})(jQuery);