6 changed files with 121 additions and 79 deletions
@ -0,0 +1,52 @@
@@ -0,0 +1,52 @@
|
||||
function addDescription(json){ |
||||
var desc = json.description ? json.description : ''; |
||||
if (desc.indexOf('<')<0) desc = desc.replace(/\r?\n|\r/g,'<br/>'); |
||||
document.getElementById('description').innerHTML = desc; |
||||
} |
||||
|
||||
function attachmentList(json){ |
||||
var attachments = document.getElementById('attachments'); |
||||
attachments.innerHTML = ''; |
||||
for (var attachment of json){ |
||||
if (attachment.mime.startsWith('image')){ |
||||
var img = document.createElement('img'); |
||||
img.src = attachment.url; |
||||
attachments.appendChild(img); |
||||
} |
||||
} |
||||
} |
||||
|
||||
async function handleEventData(response){ |
||||
if (response.ok){ |
||||
var json = await response.json(); |
||||
document.getElementsByTagName('h1')[0].innerHTML = json.title ? json.title : ''; |
||||
document.getElementById('time').innerHTML = json.start + (json.end ? '…'+json.end : ''); |
||||
addDescription(json); |
||||
document.getElementById('tags').innerHTML = "Tags: "+json.tags.join(" "); |
||||
var links = document.getElementById('links'); |
||||
links.innerHTML = ""; |
||||
links.appendChild(linkList(json.links)); |
||||
attachmentList(json.attachments); |
||||
} |
||||
} |
||||
|
||||
function linkList(json){ |
||||
var ul = document.createElement('ul'); |
||||
for (var inner of json) { |
||||
var a = document.createElement('a'); |
||||
a.href = inner.url; |
||||
a.innerHTML = inner.description; |
||||
a.target = '_blank'; |
||||
var li = document.createElement('li') |
||||
li.appendChild(a); |
||||
ul.appendChild(li); |
||||
} |
||||
return ul; |
||||
} |
||||
|
||||
function loadEventData(){ |
||||
const urlParams = new URLSearchParams(window.location.search); |
||||
var id = urlParams.get('id'); |
||||
if (id) fetch('/api/event?id='+id).then(handleEventData); |
||||
} |
||||
|
Loading…
Reference in new issue