Benutzer:Ahnenfan/common.js: Unterschied zwischen den Versionen

Aus Westmärker Wiki
Zur Navigation springen Zur Suche springen
 
(106 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
/* ┌──────────────────────────────┐
+
/* ┌──────────────────────────────────────────────┐
   │ Tabstop zum Kopieren: " " │
+
  │ Das folgende JavaScript wird nur für mich    │
   └──────────────────────────────┘ */
+
  │ (auch zum Testen) geladen.                  │
 +
  │ Für alle Benutzer gilt MediaWiki:Common.js  │
 +
  ├──────────────────────────────────────────────┤
 +
   │ Tabstop zum Kopieren: " "                
 +
   └──────────────────────────────────────────────┘ */
 
/* ╔═════════════════════════════╗
 
/* ╔═════════════════════════════╗
 
   ║                            ║
 
   ║                            ║
Zeile 16: Zeile 20:
 
   ║                            ║
 
   ║                            ║
 
   ╚═════════════════════════════╝ */
 
   ╚═════════════════════════════╝ */
/* ┌──────────────────────────────┐
+
/* ┌──────────────────────────────────────────────┐
   │ [[Tagebuch-Chronik]]        
+
   │ [[Tagebuch-Chronik]]                        
   │ 1. Anzeige d. Chronik-Zeilen │
+
   │ 1. Anzeige der Chronik-Zeilen              
   │ (~Tage der Tag-für-Tag-Ausg.)│
+
   │   (~Anzahl d. Artikel d. Tag-für-Tag-Ausg.) │
   │ 2. Farbmark. "heute" f. Blogs│
+
   │ 2. Farbmarkierung "heute" + 80 bzw. 75 Jahre │
   └──────────────────────────────┘ */
+
  │    mit Link zum Tag, zwecks Blog-post        │
 +
   └──────────────────────────────────────────────┘ */
 
if (document.getElementById("anzahlzeilen")) {
 
if (document.getElementById("anzahlzeilen")) {
document.getElementById("anzahlzeilen").insertBefore(document.createTextNode(document.getElementsByTagName('tr').length), document.getElementById("anzahlzeilen").lastChild);
+
document.getElementById( "anzahlzeilen" ).insertBefore( document.createTextNode( document.getElementsByTagName( 'tr' ).length ), document.getElementById( "anzahlzeilen" ).lastChild );
  
 
// das aktuelle Datum gem. https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Date/Einführung:
 
// das aktuelle Datum gem. https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Date/Einführung:
heuteJS = new Date();  
+
heute = new Date();  
  monat = ['Januar','Februar','März','April','Mai','Juni','Juli','August','September',  
+
  monat = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];
                'Oktober','November','Dezember'];
+
ersteMarke = true;
heute = heuteJS.getFullYear() + "/" + heuteJS.getMonth() + "/" + heuteJS.getDate();
+
taglink = document.getElementsByClassName("ktbchronik")[2].getElementsByTagName("a");
tag = document.getElementsByTagName("a");
+
function post(postdatum, faerbung) {
for (i=0; i<tag(length); i++) {
+
if (postdatum.getTime() < test00.getTime()) {
if (tag[i].innerHTML.indexOf("194") == 0) { // zur Beschleunigung
+
taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = faerbung;
datum = tag[i].split("/");
+
} else {
test80j = datum[0] + 80;
+
if (postdatum.getTime() == test00.getTime()) {
test75j = datum[0] + 75;
+
if (ersteMarke) {
if (datum[1]) { testmon = monat.indexOf(datum[1]); }
+
taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "gold";
if (datum[2]) { testtag = datum[2]; }
+
taglink[i].id = "YA";
 +
document.getElementById("YearsAgo").style.display = "block";
 +
// falls ausnahmsweise 2 posts an einem Tag fällig werden:
 +
} else {
 +
taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "yellow";
 +
taglink[i].id = "YA2";
 +
document.getElementById("YearsAgo2").style.display = "block";
 +
}
 +
ersteMarke = false;
 +
}
 +
}
 +
}
 +
 
 +
// Vorlauf für die ersten beiden Zeilen:
 +
for (i=0; i<taglink.length; i++) {
 +
if (taglink[i].innerHTML.startsWith("193")) {
 +
taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "lightsteelblue";
 +
}
 +
}
 +
 
 +
// Haupt-Durchlauf für die übrigen Zeilen:
 +
for (i=0; i<taglink.length; i++) {
 +
// nur zur Beschleunigung, trotzdem gibt es invalid:
 +
if (taglink[i].innerHTML.startsWith("194")) {
 +
datum = taglink[i].innerHTML.split("/");
 +
test80j = String(Number(datum[0]) + 80);
 +
test75j = String(Number(datum[0]) + 75);
 +
testmon = (datum[1]) ? monat.indexOf(datum[1]) : "0";
 +
testtag = (datum[2]) ? datum[2] : "0";
 
test80 = new Date(test80j, testmon, testtag);
 
test80 = new Date(test80j, testmon, testtag);
 
test75 = new Date(test75j, testmon, testtag);
 
test75 = new Date(test75j, testmon, testtag);
if (test75.getTime() < heute.getTime()) { tag[i].parentNode.style.backgoundColor = "yellow"; }
+
test00 = new Date(heute.getFullYear(), heute.getMonth(), heute.getDate());
if (test80.getTime() < heute.getTime()) { tag[i].parentNode.style.backgoundColor = "gold"; }
+
post(test75, "lavender");
 +
post(test80, "lightsteelblue");
 
}
 
}
 +
}
 +
 +
//
 +
// zweite Zeilen (Geooc2) nachträglich auch färben:
 +
//
 +
nachzeilen = document.getElementsByClassName("Geooc2");
 +
for (i=0; i<nachzeilen.length; i++) {
 +
// Der erste previousSibling sowie childNode[0] und [2] sind Textknoten!? Vielleicht Zeilenumbrüche??
 +
Postfarbe = nachzeilen[i].parentNode.previousSibling.previousSibling.childNodes[3].style.backgroundColor;
 +
nachzeilen[i].style.borderRight                            = "#00b050";
 +
nachzeilen[i].nextSibling.nextSibling.style.borderRight    = "#00b050";
 +
nachzeilen[i].nextSibling.nextSibling.style.borderTop      = "solid 2px "+Postfarbe;
 +
nachzeilen[i].nextSibling.nextSibling.style.backgroundColor = Postfarbe;
 
}
 
}
 
}
 
}

Aktuelle Version vom 23. Juni 2023, 09:37 Uhr

/* ┌──────────────────────────────────────────────┐
   │ Das folgende JavaScript wird nur für mich    │
   │ (auch zum Testen) geladen.                   │
   │ Für alle Benutzer gilt MediaWiki:Common.js   │
   ├──────────────────────────────────────────────┤
   │ Tabstop zum Kopieren: "	"                 │
   └──────────────────────────────────────────────┘ */
/* ╔═════════════════════════════╗
   ║                             ║
   ║          TEST-ZONE          ║
   ║                             ║
   ╚═════════════════════════════╝ */
if (1 == 0) {

}

/* ╔═════════════════════════════╗
   ║                             ║
   ║          REAL-ZONE          ║
   ║                             ║
   ╚═════════════════════════════╝ */
/* ┌──────────────────────────────────────────────┐
   │ [[Tagebuch-Chronik]]                         │
   │ 1. Anzeige der Chronik-Zeilen                │
   │    (~Anzahl d. Artikel d. Tag-für-Tag-Ausg.) │
   │ 2. Farbmarkierung "heute" + 80 bzw. 75 Jahre │
   │    mit Link zum Tag, zwecks Blog-post        │
   └──────────────────────────────────────────────┘ */
if (document.getElementById("anzahlzeilen")) {
	document.getElementById( "anzahlzeilen" ).insertBefore( document.createTextNode( document.getElementsByTagName( 'tr' ).length ), document.getElementById( "anzahlzeilen" ).lastChild );

	// das aktuelle Datum gem. https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Date/Einführung:
	heute = new Date(); 
 	monat = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];
	ersteMarke = true;
	taglink = document.getElementsByClassName("ktbchronik")[2].getElementsByTagName("a");
	function post(postdatum, faerbung) {
		if (postdatum.getTime() < test00.getTime()) {
			taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = faerbung;
		} else {
			if (postdatum.getTime() == test00.getTime()) {
				if (ersteMarke) {
					taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "gold";
					taglink[i].id = "YA";
					document.getElementById("YearsAgo").style.display = "block";
				// falls ausnahmsweise 2 posts an einem Tag fällig werden:
				} else {
					taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "yellow";
					taglink[i].id = "YA2";
					document.getElementById("YearsAgo2").style.display = "block";
				}
				ersteMarke = false;
			}
		}
	}

	// Vorlauf für die ersten beiden Zeilen:
	for (i=0; i<taglink.length; i++) {
		if (taglink[i].innerHTML.startsWith("193")) { 
			taglink[i].parentNode.nextSibling.nextSibling.style.backgroundColor = "lightsteelblue";
		}
	}

	// Haupt-Durchlauf für die übrigen Zeilen:
	for (i=0; i<taglink.length; i++) {
		// nur zur Beschleunigung, trotzdem gibt es invalid:
		if (taglink[i].innerHTML.startsWith("194")) { 
			datum = taglink[i].innerHTML.split("/");
			test80j = String(Number(datum[0]) + 80);
			test75j = String(Number(datum[0]) + 75);
			testmon = (datum[1]) ? monat.indexOf(datum[1]) : "0";
			testtag = (datum[2]) ? datum[2] : "0";
			test80 = new Date(test80j, testmon, testtag);
			test75 = new Date(test75j, testmon, testtag);
			test00 = new Date(heute.getFullYear(), heute.getMonth(), heute.getDate());
			post(test75, "lavender");
			post(test80, "lightsteelblue");
		}
	}

	//
	// zweite Zeilen (Geooc2) nachträglich auch färben:
	//
	nachzeilen = document.getElementsByClassName("Geooc2");
	for (i=0; i<nachzeilen.length; i++) {
// Der erste previousSibling sowie childNode[0] und [2] sind Textknoten!? Vielleicht Zeilenumbrüche??
		Postfarbe = nachzeilen[i].parentNode.previousSibling.previousSibling.childNodes[3].style.backgroundColor;
		nachzeilen[i].style.borderRight                             = "#00b050";
		nachzeilen[i].nextSibling.nextSibling.style.borderRight     = "#00b050";
		nachzeilen[i].nextSibling.nextSibling.style.borderTop       = "solid 2px "+Postfarbe;
		nachzeilen[i].nextSibling.nextSibling.style.backgroundColor = Postfarbe;
	}
}