reformte js

master
Dirk Heilig 2024-01-18 14:26:34 +01:00
parent 77a6b4f165
commit 2a8a424ca7
3 changed files with 112 additions and 88 deletions

View File

@ -1,53 +1,62 @@
document.addEventListener("DOMContentLoaded", function() {
let url="https://ical2json.c3re.de/api/?url=https%3A%2F%2Fcloud.c3re.de%2Fremote.php%2Fdav%2Fpublic-calendars%2FRLKKkdjNYgXH8yEz%3Fexport&start=today&end=next+month&maxitems=10"
let xmlHttp = new XMLHttpRequest();
let zeropad=function(i){
let o=""
if(i<=9) o+="0"
o+=i
return o
}
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
let cal=JSON.parse(xmlHttp.responseText)
let $ = jQuery
let box=$('#calendar')
for(let item of cal){
let li=$("<li/>")
//li.text(item.summary)
let startDate=new Date(item.start * 1000)
let date=$("<span class='date'/>")
date.text(zeropad(startDate.getDate())+'.'+zeropad(1+startDate.getMonth())+'.'+startDate.getFullYear()+' - '+zeropad(startDate.getHours())+':'+zeropad(startDate.getMinutes()))
date.appendTo(li)
let summary=$("<span class='summary'/>")
summary.text(item.summary)
if(item.url){
let a = $('<a/>')
a.attr('href',item.url)
a.attr('title',item.description)
a.append(summary)
a.appendTo(li)
}else{
summary.appendTo(li)
}
if(item.location){
let loc=$("<span class='location'>📍</span>")
loc.attr('data-loc',item.location)
loc.attr('title',"Click to copy: "+item.location)
loc.appendTo(li)
}
li.attr('title',item.description)
li.appendTo(box)
document.addEventListener("DOMContentLoaded", function () {
let url =
"https://ical2json.c3re.de/api/?url=https%3A%2F%2Fcloud.c3re.de%2Fremote.php%2Fdav%2Fpublic-calendars%2FRLKKkdjNYgXH8yEz%3Fexport&start=today&end=next+month&maxitems=10";
let xmlHttp = new XMLHttpRequest();
let zeropad = function (i) {
let o = "";
if (i <= 9) o += "0";
o += i;
return o;
};
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
let cal = JSON.parse(xmlHttp.responseText);
let $ = jQuery;
let box = $("#calendar");
for (let item of cal) {
let li = $("<li/>");
//li.text(item.summary)
let startDate = new Date(item.start * 1000);
let date = $("<span class='date'/>");
date.text(
zeropad(startDate.getDate()) +
"." +
zeropad(1 + startDate.getMonth()) +
"." +
startDate.getFullYear() +
" - " +
zeropad(startDate.getHours()) +
":" +
zeropad(startDate.getMinutes())
);
date.appendTo(li);
let summary = $("<span class='summary'/>");
summary.text(item.summary);
if (item.url) {
let a = $("<a/>");
a.attr("href", item.url);
a.attr("title", item.description);
a.append(summary);
a.appendTo(li);
} else {
summary.appendTo(li);
}
$(".location",box).click(function(){
navigator.clipboard.writeText($(this).attr('data-loc'))
})
}
}
xmlHttp.open("GET", url, true); // true for asynchronous
xmlHttp.send();
if (item.location) {
let loc = $("<span class='location'>📍</span>");
});
loc.attr("data-loc", item.location);
loc.attr("title", "Click to copy: " + item.location);
loc.appendTo(li);
}
li.attr("title", item.description);
li.appendTo(box);
}
$(".location", box).click(function () {
navigator.clipboard.writeText($(this).attr("data-loc"));
});
}
};
xmlHttp.open("GET", url, true); // true for asynchronous
xmlHttp.send();
});

View File

@ -1,21 +1,37 @@
document.addEventListener("DOMContentLoaded", function () {
const update = function () {
fetch("https://spaceapi.c3re.de/")
.then(function (response) {
return response.json();
})
.then(function (data) {
document
.getElementById("ds-img")
.setAttribute(
"src",
data.state.open ? data.state.icon.open : data.state.icon.closed
);
document.getElementById("ds-status").innerHTML = data.state.open
? "Geöffnet"
: "Geschlossen";
document.addEventListener("DOMContentLoaded", function() {
const update=function(){
fetch("https://spaceapi.c3re.de/").then(function(response) {
return( response.json());
}).then(function(data) {
document.getElementById("ds-img").setAttribute("src",data.state.open?data.state.icon.open:data.state.icon.closed);
document.getElementById("ds-status").innerHTML=data.state.open?"Geöffnet":"Geschlossen";
document.getElementById("ds-temp").innerHTML=""+data.sensors.temperature[0].value+data.sensors.temperature[0].unit;
const lastchange=new Date(data.state.lastchange*1000)
document.getElementById('ds-date').innerHTML=lastchange.getDate().toString().padStart(2, "0") + "."
+ (lastchange.getMonth()+1).toString().padStart(2, "0") + "."
+ lastchange.getFullYear() + " "
+ lastchange.getHours().toString().padStart(2, "0") + ":"
+ lastchange.getMinutes().toString().padStart(2, "0")
})
}
update();
setInterval(update,10000);
document.getElementById("ds-temp").innerHTML =
"" +
data.sensors.temperature[0].value +
data.sensors.temperature[0].unit;
const lastchange = new Date(data.state.lastchange * 1000);
document.getElementById("ds-date").innerHTML =
lastchange.getDate().toString().padStart(2, "0") +
"." +
(lastchange.getMonth() + 1).toString().padStart(2, "0") +
"." +
lastchange.getFullYear() +
" " +
lastchange.getHours().toString().padStart(2, "0") +
":" +
lastchange.getMinutes().toString().padStart(2, "0");
});
};
update();
setInterval(update, 10000);
});

View File

@ -1,20 +1,19 @@
document.addEventListener("DOMContentLoaded", function() {
document.querySelectorAll('a').forEach(function(element) {
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll("a").forEach(function (element) {
const myhost = window.location.hostname;
const linkhost=new URL(element.href).hostname;
if(myhost === linkhost) {
let prefetchUrl=new URL(element.href).toString()
// lest make a prefetch tag for this url
let link = document.createElement('link');
link.setAttribute('rel', 'prefetch');
link.setAttribute('href', prefetchUrl);
link.setAttribute('as', 'document');
document.head.appendChild(link);
element.classList.add("internal");
}else {
element.setAttribute("target", "_blank");
element.classList.add("external");
const linkhost = new URL(element.href).hostname;
if (myhost === linkhost) {
let prefetchUrl = new URL(element.href).toString();
// lest make a prefetch tag for this url
let link = document.createElement("link");
link.setAttribute("rel", "prefetch");
link.setAttribute("href", prefetchUrl);
link.setAttribute("as", "document");
document.head.appendChild(link);
element.classList.add("internal");
} else {
element.setAttribute("target", "_blank");
element.classList.add("external");
}
})
});
});
});