MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Freifunk Köln, Bonn und Umgebung
Wechseln zu: Navigation, Suche
 
(25 dazwischenliegende Versionen von 2 Benutzern 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: 'Videokonferenz unter <a rel="nofollow" class="external text" href="https://meet.kbu.freifunk.net/lounge">KBU Jitsi</a>, ab <b>20:00</b> Uhr'
 +
    }, {
 +
/* //Corona      week: 2, //2nd week
 +
        day: 4, // Thursday
 +
        text: 'Videokonferenz unter <a rel="nofollow" class="external text" href="https://meet.kbu.freifunk.net/lounge">KBU Jitsi</a>, ab <b>20:00</b> Uhr'
 +
    }, { */ // Corona
 +
        week: 3, // 3rd week
 +
        day: 4, // Thursday
 +
        text: 'Videokonferenz unter <a rel="nofollow" class="external text" href="https://meet.kbu.freifunk.net/lounge">KBU Jitsi</a>, ab <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>";
 +
}

Aktuelle Version vom 7. April 2020, 20:20 Uhr

const DATE_CONFIG = [
    {
        week: 1, // 1st week
        day: 4, // Thursday
        text: 'Videokonferenz unter <a rel="nofollow" class="external text" href="https://meet.kbu.freifunk.net/lounge">KBU Jitsi</a>, ab <b>20:00</b> Uhr'
    }, {
/* //Corona       week: 2, //2nd week
        day: 4, // Thursday
        text: 'Videokonferenz unter <a rel="nofollow" class="external text" href="https://meet.kbu.freifunk.net/lounge">KBU Jitsi</a>, ab <b>20:00</b> Uhr'
    }, { */ // Corona
        week: 3, // 3rd week
        day: 4, // Thursday
        text: 'Videokonferenz unter <a rel="nofollow" class="external text" href="https://meet.kbu.freifunk.net/lounge">KBU Jitsi</a>, ab <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>";
}