MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Wechseln zu: Navigation, Suche
 
(13 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
/* Das folgende JavaScript wird für alle Benutzer geladen. */
+
const DATE_CONFIG = [
var upcomingDates  = function () {};
+
    {
 +
        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;
 +
            return '<li>' + dateStr + '.' + month + '.' + year + " " + conf.text + '</li>';
 +
        }
 +
    }
 +
    return null;
 +
};
 +
const div =  document.getElementById("termine");
 +
if(div) {
 +
    div.innerHTML = "<ul>" + upcomingDates() + "</ul>";
 +
}

Aktuelle Version vom 22. Oktober 2019, 09:52 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;
            return '<li>' + dateStr + '.' + month + '.' + year + " " + conf.text + '</li>';
        }
    }
     return null;
};
const div =  document.getElementById("termine");
if(div) {
    div.innerHTML = "<ul>" + upcomingDates() + "</ul>";
}