1
0
mirror of https://codeberg.org/nobody/LocalCDN.git synced 2025-02-02 20:37:04 +01:00
2021-02-21 19:55:31 +01:00

116 lines
2.9 KiB
JavaScript

/**
* Logging Page
* Belongs to LocalCDN
*
* @author nobody
* @since 2021-02-19
*
* @license MPL 2.0
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
* You can obtain one at http://mozilla.org/MPL/2.0/.
*/
'use strict';
/**
* Logging Page
*/
var logging = {};
logging._onDocumentLoaded = function () {
logging._getLoggingData()
.then(logging._generateTable);
document.getElementById('btn-delete').addEventListener('click', logging._deleteLogs);
document.getElementById('btn-reload').addEventListener('click', logging._resfresh);
};
logging._generateTable = function () {
let data = logging._data;
if (data.length === 0) {
logging._showTable(false);
return;
}
for (let i = data.length - 1; i >= 0; i--) {
let tbody, row, cell, content, redirect;
tbody = document.getElementById('logging-content').getElementsByTagName('tbody')[0];
row = tbody.insertRow();
if (Object.values(data[i])[3]) {
row.classList.add('missing');
}
cell = row.insertCell();
content = document.createTextNode(i + 1);
cell.appendChild(content);
cell = row.insertCell();
content = document.createTextNode(Object.values(data[i])[0]);
cell.appendChild(content);
cell = row.insertCell();
content = document.createTextNode(Object.values(data[i])[1]);
cell.appendChild(content);
cell = row.insertCell();
if (Object.values(data[i])[2] === '') {
redirect = '-';
} else {
redirect = Object.values(data[i])[2];
}
content = document.createTextNode(redirect);
cell.appendChild(content);
}
logging._showTable(true);
};
logging._deleteLogs = function () {
if (confirm('Are you sure you want to delete these logs?')) {
let message = {
'topic': 'logs:delete',
'value': '',
};
chrome.runtime.sendMessage(message);
logging._resfresh();
}
};
logging._getLoggingData = function () {
return new Promise((resolve) => {
let message = {
'topic': 'logs:get'
};
chrome.runtime.sendMessage(message, function (data) {
logging._data = data['logs'];
resolve();
});
});
};
logging._showTable = function (value) {
let v1, v2;
v1 = value ? 'block' : 'none';
v2 = value ? 'none' : 'block';
document.getElementById('logging-content').style.display = v1;
document.getElementById('btn-delete').style.display = v1;
document.getElementById('no-logging-content').style.display = v2;
};
logging._resfresh = function () {
location.reload();
};
logging._data = [];
document.addEventListener('DOMContentLoaded', logging._onDocumentLoaded);