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

Aus Westmärker Wiki
Zur Navigation springen Zur Suche springen
 
(122 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 7: Zeile 11:
 
   ║                            ║
 
   ║                            ║
 
   ╚═════════════════════════════╝ */
 
   ╚═════════════════════════════╝ */
alert(document.getElementsByTagName('tr').length);
 
document.getElementById("anzahlzeilen").firstChild.innerText=document.getElementsByTagName('tr').length;
 
 
 
if (1 == 0) {
 
if (1 == 0) {
  
Zeile 19: Zeile 20:
 
   ║                            ║
 
   ║                            ║
 
   ╚═════════════════════════════╝ */
 
   ╚═════════════════════════════╝ */
/* ┌──────────────────────────────┐
+
/* ┌──────────────────────────────────────────────┐
   │ Personalisierung           
+
   │ [[Tagebuch-Chronik]]                       
   └──────────────────────────────┘ */
+
   │ 1. Anzeige der Chronik-Zeilen                │
/* anfangs in MediaWiki:Common.js, jetzt in Benutzer:Ahnenfan/common.CSS (statt .JS) */
+
  │    (~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;
 +
}
 +
}

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;
	}
}