MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Yanosz (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Yanosz (Diskussion | Beiträge) K (Off-by-one) |
||
(23 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
const DATE_CONFIG = [ | |||
{ | |||
week: 1, // 1st week | |||
day: 4, // Thursday | |||
text: 'in der <a rel="nofollow" class="external text" href="https://www.openstreetmap.org/way/123890490">Alten VHS, Wilhelmstraße 34</a>, <b>20:00</b> Uhr' | |||
}, { | |||
week: 2, //2nd week | |||
day: 4, // Thursday | |||
text: 'im <a rel="nofollow" class="external text" href="https://koeln.ccc.de">C4</a> in Köln, <a rel="nofollow" class="external text" href="http://www.koeln.ccc.de/c4/faq/index.xml#anreise">Helios Str. 6a</a>, <b>20:00</b> Uhr' | |||
}, { | |||
week: 3, // 3rd week | |||
day: 4, // Thursday | |||
text: 'in der <a rel="nofollow" class="external text" href="https://www.openstreetmap.org/way/123890490">Alten VHS, Wilhelmstraße 34</a>, <b>20:00</b> Uhr' | |||
} | |||
} | ]; | ||
]; | |||
const upcomingDates = function(){ | |||
var ret = ""; | |||
var today = new Date(); | |||
for (var counter = 0;counter < 3; counter++){ | |||
var text = null; | |||
while (!(text = getDateText(today))) { // Count | |||
today.setDate(today.getDate() + 1); | |||
} | |||
today.setDate(today.getDate() + 1); | |||
ret += text; | |||
} | |||
return ret; | |||
}; | |||
const getDateText = function (d) { | |||
const dayOfMonth = d.getDate(); | |||
const month = d.getMonth() +1; | |||
const year = d.getFullYear(); | |||
for(var index = 0; index < DATE_CONFIG.length; index++){ | |||
const conf = DATE_CONFIG[index]; | |||
if (d.getDay() == conf.day && dayOfMonth <= 7 * conf.week){ | |||
const dateStr = (dayOfMonth <= 9) ? "0" + dayOfMonth : "" + dayOfMonth; | |||
const monthStr = (month <= 9) ? "0" + month : "" + month; | |||
return '<li>' + dateStr + '.' + monthStr + '.' + year + " " + conf.text + '</li>'; | |||
} | |||
} | |||
return null; | |||
}; | |||
const div = document.getElementById("termine"); | |||
if(div) { | |||
div.innerHTML = "<ul>" + upcomingDates() + "</ul>"; | |||
} |
Version vom 14. Dezember 2019, 20:11 Uhr
const DATE_CONFIG = [ { week: 1, // 1st week day: 4, // Thursday text: 'in der <a rel="nofollow" class="external text" href="https://www.openstreetmap.org/way/123890490">Alten VHS, Wilhelmstraße 34</a>, <b>20:00</b> Uhr' }, { week: 2, //2nd week day: 4, // Thursday text: 'im <a rel="nofollow" class="external text" href="https://koeln.ccc.de">C4</a> in Köln, <a rel="nofollow" class="external text" href="http://www.koeln.ccc.de/c4/faq/index.xml#anreise">Helios Str. 6a</a>, <b>20:00</b> Uhr' }, { week: 3, // 3rd week day: 4, // Thursday text: 'in der <a rel="nofollow" class="external text" href="https://www.openstreetmap.org/way/123890490">Alten VHS, Wilhelmstraße 34</a>, <b>20:00</b> Uhr' } ]; const upcomingDates = function(){ var ret = ""; var today = new Date(); for (var counter = 0;counter < 3; counter++){ var text = null; while (!(text = getDateText(today))) { // Count today.setDate(today.getDate() + 1); } today.setDate(today.getDate() + 1); ret += text; } return ret; }; const getDateText = function (d) { const dayOfMonth = d.getDate(); const month = d.getMonth() +1; const year = d.getFullYear(); for(var index = 0; index < DATE_CONFIG.length; index++){ const conf = DATE_CONFIG[index]; if (d.getDay() == conf.day && dayOfMonth <= 7 * conf.week){ const dateStr = (dayOfMonth <= 9) ? "0" + dayOfMonth : "" + dayOfMonth; const monthStr = (month <= 9) ? "0" + month : "" + month; return '<li>' + dateStr + '.' + monthStr + '.' + year + " " + conf.text + '</li>'; } } return null; }; const div = document.getElementById("termine"); if(div) { div.innerHTML = "<ul>" + upcomingDates() + "</ul>"; }