forked from Chaospott/site
No Events -> Hide event section. Added Autolinker.js
This commit is contained in:
parent
5b763171d1
commit
8a1594b805
@ -4,11 +4,11 @@ layout: default
|
|||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>Termine</h1>
|
<h1>Termine</h1>
|
||||||
|
|
||||||
<hr />
|
|
||||||
<h3>Coronabedingt sind die Clubräume derzeit geschlossen. Alle Termine finden virtuell statt.</h3>
|
|
||||||
<hr />
|
|
||||||
|
|
||||||
<h2>Events</h2>
|
<h3>Coronabedingt sind die Clubräume derzeit geschlossen. Alle Termine finden virtuell statt.</h3>
|
||||||
|
|
||||||
|
|
||||||
|
<h2 id="hevents">Events</h2>
|
||||||
|
|
||||||
<div id="calendar">
|
<div id="calendar">
|
||||||
Loading Events, please stand by …
|
Loading Events, please stand by …
|
||||||
@ -38,5 +38,7 @@ layout: default
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script src="js/ical.min.js"></script>
|
<script src="js/ical.min.js"></script>
|
||||||
|
<script src="js/Autolinker.min.js"></script>
|
||||||
<script src="js/calv2.js"></script>
|
<script src="js/calv2.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
25
js/Autolinker.min.js
vendored
Normal file
25
js/Autolinker.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
js/Autolinker.min.js.map
Normal file
1
js/Autolinker.min.js.map
Normal file
File diff suppressed because one or more lines are too long
53
js/calv2.js
53
js/calv2.js
@ -1,3 +1,26 @@
|
|||||||
|
var autolinker = new Autolinker( {
|
||||||
|
urls : {
|
||||||
|
schemeMatches : true,
|
||||||
|
wwwMatches : true,
|
||||||
|
tldMatches : true
|
||||||
|
},
|
||||||
|
email : true,
|
||||||
|
phone : true,
|
||||||
|
mention : false,
|
||||||
|
hashtag : false,
|
||||||
|
|
||||||
|
stripPrefix : true,
|
||||||
|
stripTrailingSlash : true,
|
||||||
|
newWindow : true,
|
||||||
|
|
||||||
|
truncate : {
|
||||||
|
length : 0,
|
||||||
|
location : 'end'
|
||||||
|
},
|
||||||
|
|
||||||
|
className : ''
|
||||||
|
} );
|
||||||
|
|
||||||
var eventList = []
|
var eventList = []
|
||||||
var recurringEventList = []
|
var recurringEventList = []
|
||||||
var cancelledEvents = {}
|
var cancelledEvents = {}
|
||||||
@ -44,7 +67,6 @@ Event.prototype.toHTML = function () {
|
|||||||
|
|
||||||
var div_description = document.createElement('div')
|
var div_description = document.createElement('div')
|
||||||
div_description.setAttribute('class', 'cal_descriptionbox')
|
div_description.setAttribute('class', 'cal_descriptionbox')
|
||||||
//div_description.appendChild(span_summary)
|
|
||||||
|
|
||||||
var span_description = document.createElement('div')
|
var span_description = document.createElement('div')
|
||||||
span_description.setAttribute('class', 'cal_description')
|
span_description.setAttribute('class', 'cal_description')
|
||||||
@ -52,7 +74,7 @@ Event.prototype.toHTML = function () {
|
|||||||
if (this.description !== null) {
|
if (this.description !== null) {
|
||||||
var span_description = document.createElement('span')
|
var span_description = document.createElement('span')
|
||||||
span_description.setAttribute('class', 'cal_description')
|
span_description.setAttribute('class', 'cal_description')
|
||||||
span_description.appendChild(document.createTextNode(this.description))
|
span_description.innerHTML = autolinker.link( this.description )
|
||||||
}
|
}
|
||||||
|
|
||||||
div_description.appendChild(span_description)
|
div_description.appendChild(span_description)
|
||||||
@ -134,34 +156,18 @@ Event.prototype.toHTML = function () {
|
|||||||
div_cal.appendChild(div_description)
|
div_cal.appendChild(div_description)
|
||||||
|
|
||||||
if (this.description !== null) {
|
if (this.description !== null) {
|
||||||
var parts = this.description.split(/\r\n|\r|\n/)
|
|
||||||
|
|
||||||
parts.map(function (i) {
|
|
||||||
var span_description = document.createElement('span')
|
var span_description = document.createElement('span')
|
||||||
span_description.setAttribute('class', 'cal_description')
|
span_description.setAttribute('class', 'cal_description')
|
||||||
|
|
||||||
words = i.split(' ')
|
span_description.innerHTML = autolinker.link( this.description )
|
||||||
|
|
||||||
words.forEach(function(word) {
|
|
||||||
if (word.match(/(ht|f)tps?\:\/\//i)) {
|
|
||||||
var a = document.createElement('a')
|
|
||||||
a.setAttribute('href', word)
|
|
||||||
a.appendChild(document.createTextNode(word))
|
|
||||||
span_description.appendChild(a)
|
|
||||||
} else {
|
|
||||||
span_description.appendChild(document.createTextNode(word))
|
|
||||||
}
|
|
||||||
span_description.appendChild(document.createTextNode(' '))
|
|
||||||
})
|
|
||||||
|
|
||||||
div_description.appendChild(span_description)
|
div_description.appendChild(span_description)
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (this.event.component.getFirstPropertyValue("status") == "CANCELLED") {
|
// if (this.event.component.getFirstPropertyValue("status") == "CANCELLED") {
|
||||||
// div_cal.style.textDecoration = 'line-through'
|
// div_cal.style.textDecoration = 'line-through'
|
||||||
// }
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return div_cal
|
return div_cal
|
||||||
@ -181,7 +187,6 @@ function parseIcalData(data) {
|
|||||||
events.map(function (e) {
|
events.map(function (e) {
|
||||||
var event = new ICAL.Event(e)
|
var event = new ICAL.Event(e)
|
||||||
if (event.component.getFirstPropertyValue("status") == "CANCELLED") {
|
if (event.component.getFirstPropertyValue("status") == "CANCELLED") {
|
||||||
// console.log(event)
|
|
||||||
if (!(cancelledEvents[event.uid] instanceof Array)) {
|
if (!(cancelledEvents[event.uid] instanceof Array)) {
|
||||||
cancelledEvents[event.uid] = []
|
cancelledEvents[event.uid] = []
|
||||||
}
|
}
|
||||||
@ -224,6 +229,7 @@ function orderEvents() {
|
|||||||
|
|
||||||
function writeEvents() {
|
function writeEvents() {
|
||||||
var cal = document.getElementById('calendar')
|
var cal = document.getElementById('calendar')
|
||||||
|
|
||||||
cal.textContent = ''
|
cal.textContent = ''
|
||||||
|
|
||||||
// TODO: Wenn EventList leer, dann Event-Abschnitt ausblenden
|
// TODO: Wenn EventList leer, dann Event-Abschnitt ausblenden
|
||||||
@ -231,8 +237,12 @@ function writeEvents() {
|
|||||||
eventList.map(function (e) {
|
eventList.map(function (e) {
|
||||||
cal.appendChild(e.toHTML())
|
cal.appendChild(e.toHTML())
|
||||||
})
|
})
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
cal.textContent = 'No events found.'
|
|
||||||
|
cal.style.display = "none";
|
||||||
|
var hevents = document.getElementById('hevents')
|
||||||
|
hevents.style.display = "none";
|
||||||
}
|
}
|
||||||
|
|
||||||
var calRecur = document.getElementById('calendar-recurring')
|
var calRecur = document.getElementById('calendar-recurring')
|
||||||
@ -245,6 +255,7 @@ function writeEvents() {
|
|||||||
} else {
|
} else {
|
||||||
calRecur.textContent = 'No events found.'
|
calRecur.textContent = 'No events found.'
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function xhrRequest(url, callback, fail) {
|
function xhrRequest(url, callback, fail) {
|
||||||
|
Loading…
Reference in New Issue
Block a user