Compare commits

..

5 Commits

2 changed files with 36 additions and 10 deletions

View File

@ -192,3 +192,9 @@ function CancelJob(jobId){
var uri = `${apiUri}/Jobs/Cancel?jobId=${jobId}`; var uri = `${apiUri}/Jobs/Cancel?jobId=${jobId}`;
PostData(uri); PostData(uri);
} }
async function GetLogmessages(count){
var uri = `${apiUri}/LogMessages?count=${count}`;
let json = await GetData(uri);
return json;
}

View File

@ -1,4 +1,5 @@
let runningJobs = []; let monitoringJobsCount = 0;
let runningJobs = [];
let waitingJobs = []; let waitingJobs = [];
let notificationConnectorTypes = []; let notificationConnectorTypes = [];
let libraryConnectorTypes = []; let libraryConnectorTypes = [];
@ -65,6 +66,7 @@ function Setup(){
}); });
GetAvailableControllers().then((json) => { GetAvailableControllers().then((json) => {
newMangaConnector.replaceChildren();
json.forEach(connector => { json.forEach(connector => {
var option = document.createElement('option'); var option = document.createElement('option');
option.value = connector; option.value = connector;
@ -73,6 +75,7 @@ function Setup(){
}); });
}); });
ResetContent();
UpdateJobs(); UpdateJobs();
setInterval(() => { setInterval(() => {
UpdateJobs(); UpdateJobs();
@ -139,6 +142,7 @@ function CreateManga(manga, connector){
var connectorName = document.createElement('connector-name'); var connectorName = document.createElement('connector-name');
connectorName.innerText = connector; connectorName.innerText = connector;
connectorName.className = "pill"; connectorName.className = "pill";
connectorName.style.backgroundColor = stringToColour(connector);
info.appendChild(connectorName); info.appendChild(connectorName);
var mangaName = document.createElement('publication-name'); var mangaName = document.createElement('publication-name');
mangaName.innerText = manga.sortName; mangaName.innerText = manga.sortName;
@ -356,15 +360,18 @@ function utf8_to_b64(str) {
function UpdateJobs(){ function UpdateJobs(){
GetMonitorJobs().then((json) => { GetMonitorJobs().then((json) => {
ResetContent(); if(monitoringJobsCount != json.length){
//console.log(json); ResetContent();
json.forEach(job => { //console.log(json);
var mangaView = CreateManga(job.manga, job.mangaConnector.name); json.forEach(job => {
mangaView.addEventListener("click", (event) => { var mangaView = CreateManga(job.manga, job.mangaConnector.name);
ShowMangaWindow(job, job.manga, event, false); mangaView.addEventListener("click", (event) => {
ShowMangaWindow(job, job.manga, event, false);
});
tasksContent.appendChild(mangaView);
}); });
tasksContent.appendChild(mangaView); monitoringJobsCount = json.length;
}); }
}); });
GetWaitingJobs().then((json) => { GetWaitingJobs().then((json) => {
@ -483,3 +490,16 @@ function GetValidSelector(str){
var clean = [...str.matchAll(/[a-zA-Z0-9]*-*_*/g)]; var clean = [...str.matchAll(/[a-zA-Z0-9]*-*_*/g)];
return clean.join(''); return clean.join('');
} }
const stringToColour = (str) => {
let hash = 0;
str.split('').forEach(char => {
hash = char.charCodeAt(0) + ((hash << 5) - hash)
})
let colour = '#'
for (let i = 0; i < 3; i++) {
const value = (hash >> (i * 8)) & 0xff
colour += value.toString(16).padStart(2, '0')
}
return colour
}