Benutzer:RevoTest/tbwlPage.js
aus Wikipedia, der freien Enzyklopädie
< Benutzer:RevoTest
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 21. September 2007 um 20:22 Uhr durch imported>RevoTest(436589).
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
/*
tbwlPage.js
* Project: Toolbar Watchlist, Version: 0.1.1beta, Date: 2007-08-27
* Copyright (C) 2007 [[de:User:Revolus]] (revolus@web.de)
* http://www.gnu.org/copyleft/gpl.html
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR * PURPOSE.
* See the GNU General Public License for more details.
Licence:
You may redistribute this script either under the term of the GNU GPL
or GNU FDL with no invariant sections. But either way, you have to
accept the non-warranty clause as stated in the GNU GPL.
Uses
libTBWL.js
Consts:
cTBWL_Title_Page
Vars:
vTBWL_Watchlist
vTBWL_Page_Date
vTBWL_Page_Headline
Funcs:
TBWL_Page_Structure
TBWL_EntryWrapper
TBWL_ItemToHTML
TBWL_ItemsToHTML
TWBL_PageItem
TBWL_Watchlist_Status
TBWL_SetHeadline
TBWL_AjaxCallback_Page
TBWL_Initialize_Page
*/
var cTBWL_Title_Page = wgPageName+" - Wikipedia";
var vTBWL_Watchlist = false;
var vTBWL_Page_Date = "";
var vTBWL_Page_Headline = false;
var TBWL_Page_Structure = function(obj, p) {
var difflen = obj.newlen-obj.oldlen;
var aDate = p("Date") + '.' + p("Month") + '.' + p("FullYear");
var aTime = p("Hours") + ':' + p("Minutes") + ':' + p("Seconds");
var res = [
0, ["Text", aDate, "TBWL_date"+(vTBWL_Page_Date==aDate ?" TBWL_same_date" :'') ],
0, ["Space"],
0, ["Node", "span", "TBWL_entry"],
1, ["WPLink", "", "", obj.title, TBWL_LinkTitle(obj.ns, obj.title), "", "TBWL_title", ""],
1, ["Text", " .. ", "TBWL_delim"],
1, ["WPLink", "", "User", obj.user, TBWL_UserTitle(obj.user), "", "TBWL_user", ""],
1, ["Text", " .. ", "TBWL_delim"],
1, ["WPLink", "", "", obj.title, aTime, "diff=prev&oldid="+obj.revid, "TBWL_time", ""],
1, ["Text", " .. ", "TBWL_delim"],
1, ["Node", "span", "TBWL_len"],
2, ["Text", String(obj.oldlen)+" ", "TBWL_oldlen"],
2, ["Text", String(obj.newlen)+" ", "TBWL_newlen"],
2, (difflen> 0) && ["Text", "+"+String(difflen), "TBWL_difflen TBWL_diffplus"],
2, (difflen==0) && ["Text", String(difflen), "TBWL_difflen TBWL_diffequal"],
2, (difflen< 0) && ["Text", "−"+String(Math.abs(difflen)), "TBWL_difflen TBWL_diffminus"],
1, ["Space"],
1, ["Node", "span", "TBWL_flags"],
2, (typeof(obj.bot) != "undefined") && ["Text", "B", "TBWL_bot"],
2, (typeof(obj["new"]) != "undefined") && ["Text", "N", "TBWL_new"],
2, (typeof(obj.minor) != "undefined") && ["Text", "K", "TBWL_minor"],
1, ["Text", " .. ", "TBWL_delim"],
1, ["Node", "span", "TBWL_comment"]
];
TBWL_CommentTitle(2, res, obj.comment||"ohne Kommentar", obj.ns, obj.title);
vTBWL_Page_Date = aDate;
return res;
};
var TBWL_EntryWrapper = function(obj, index) {
var res = TBWL_CreateElement.Node("li", "TBWL_entry");
res.app("AddClass", "TBWL_entry_" + (index%2 == 0 ?"even" :"odd"));
res.app("AddClass", "TBWL_entry_"+ String(index%3) +"mod3");
res.app("AddClass", "TBWL_entry_"+ String(index));
return res
};
var TBWL_ItemToHTML = function(obj, index) {
var res = TBWL_EntryWrapper(obj, index);
if((typeof(obj.bot)=="undefined") && (typeof(obj["new"])=="undefined") && (typeof(obj.minor)=="undefined"))
res.app("AddClass", "TBWL_noflags");
if((typeof(obj.comment) == "undefined") || (obj.comment == ""))
res.app("AddClass", "TBWL_nocomment");
TBWL_StructureToHMTL(res, TWBL_PageItem(obj, index));
return res;
};
var TBWL_ItemsToHTML = function(obj) {
var res = TBWL_CreateElement.Node("ul", "");
res.id = "TBWL_entries";
for(var i=0; i<obj.length; i++)
res.appendChild(TBWL_ItemToHTML(obj[i], i));
return res;
};
var TWBL_PageItem = function(obj, index) {
var p = function(n) {
var i = obj.date["get"+n]();
return(i<10 ?"0"+String(i) :String(i));
};
var res = TBWL_Page_Structure(obj, p);
return res;
};
var TBWL_Watchlist_Status = function(obj, fin) {
vTBWL_Watchlist.parentNode.replaceChild(obj, vTBWL_Watchlist);
};
var TBWL_SetHeadline = function(str) {
vTBWL_Page_Headline.replaceChild(TBWL_CreateElement.Text(str, "TBWL_H1"), vTBWL_Page_Headline.firstChild);
};
var TBWL_AjaxCallback_Page = function(obj) {
switch(typeof obj) {
case "number" : switch(obj) {
case(1): TBWL_SetHeadline("(1) Anfrage wird gesendet…", "TBWL_H1"); break;
case(2): TBWL_SetHeadline("(2) Warte auf Antwort…", "TBWL_H1"); break;
case(3): TBWL_SetHeadline("(3) Erhalte Anwort…", "TBWL_H1"); break;
case(4): TBWL_SetHeadline("Verbesserte Beobachtungsliste", "TBWL_H1"); break;
case(0): TBWL_Watchlist_Status(TBWL_CreateElement.Text("Die Beobachtungsliste enthält keine Einträge")); break;
default: TBWL_Watchlist_Status(TBWL_CreateElement.Text("Fehler-Nummer: "+String(obj))); break;
}; break;
case "number" : if(obj>=100) TBWL_Watchlist_Status(TBWL_CreateElement.Text(obj, "TBWL_HTTP")); break;
case "boolean": TBWL_Watchlist_Status(TBWL_CreateElement.Text("Fehlerhafte Antwort", "TBWL_WrongAnswer")); break;
case "object" : TBWL_Watchlist_Status(TBWL_ItemsToHTML(obj)); break;
};
};
var TBWL_Initialize_Page = function() {
vTBWL_Page_Headline = document.getElementsByTagName("h1")[0];
TBWL_SetHeadline("(0) Initialisiere…", "TBWL_H1");
var e = document.getElementById("bodyContent");
var f = e.getElementsByTagName("p");
e.removeChild(f[1]);
vTBWL_Watchlist = f[0];
document.title = cTBWL_Title_Page;
};
if((wgNamespaceNumber == -1) && (wgTitle == "TBWL")) {
vTBWL_Addons.unshift("TBWL_Initialize_Page");
vTBWL_AjaxCallback.push("TBWL_AjaxCallback_Page");
cTBWL_Dorequest = true;
};
TBWL_RegisterAddon("Special:TBWL", "tbwlPage");