Benutzer:RevoTest/tbwlButton.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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
	Benutzer:C-M/morebits2.js
	Benutzer:C-M/twinkleportlet.js
	
/*
	TBWL_StatusTitle
	TBWL_BtnClick
	TBWL_SetStatus
	TBWL_Initialize
*/
 
var vTBWL_Window = false;
var vTBWL_Button = false;
var vTBWL_Status = false;
var vTBWL_Entries = false;
var vTBWL_Settings = false;
 
var TBWL_StatusTitle = function(str, class) {
	if(str === true) return "Beobachtungsliste";
	switch(class) {
		case "TBWL_AjaxErr":  return "Ein Übertragungsfehler ist aufgetreten.";
		case "TBWL_AjaxNA":   return "Derzeit hast du keine neuen Einträge auf deiner Beobachtungsliste.";
		case "TBWL_AjaxScx":  return "Du hast " +String(str)+ " Einträge auf deiner Beobachtungsliste.";
		case "TBWL_AjaxWait": return "Anfrage gesendet, warte auf Daten.";
		};
	};
 
var TBWL_BtnClick = function(ev) {
	document.location = "/wiki/Special:TBWL";
	};
 
var TBWL_SetStatus = function(str, class) {
	if(str === true) {
		vTBWL_Status = vTBWL_Button.firstChild.appendChild(TBWL_CreateElement.Text("", ""));
		vTBWL_Status.app("AddClass", "TBWL_Status");
		var str = TBWL_StatusTitle(true);
		if(str) vTBWL_Button.setAttribute("title", str);
		}
	else {
		vTBWL_Status.replaceChild(TBWL_CreateElement.Text(String(str), class), vTBWL_Status.firstChild);
		var str = TBWL_StatusTitle(str, class);
		if(str) vTBWL_Button.setAttribute("title", str);
		};
	};

var TBWL_AjaxCallback_Button = function(obj) {
	switch(typeof obj) {
		case "number" : TBWL_SetStatus(obj, "TBWL_Ajax"+(obj<100?"Wait":"Err")); break;
		case "boolean": TBWL_SetStatus("", "TBWL_AjaxNA"); break;
		case "object" : TBWL_SetStatus(obj.length, "TBWL_AjaxScx");
		};
	};

var TBWL_Initialize_Button = function() {
	vTBWL_Button = mw.util.addPortletLink(chooseBox("tw-csd", TwinkleConfig.toolboxButtons), "#", "Beobachtungsliste", "TBWL_btn", "", "");
	vTBWL_Button.addEventListener("click", TBWL_BtnClick, false);
 
	vTBWL_Window = TBWL_CreateElement.Node("div", "TBWL_Window");
	vTBWL_Window.app("Node", "h2", "TBWL_header").app("Text", "Beobachtungsliste", "");
	vTBWL_Entries = vTBWL_Window.app("Node", "p", "TBWL_entries");
	vTBWL_Window.app("Node", "h2", "TBWL_settings");
	vTBWL_Settings = vTBWL_Window.app("Node", "p", "TBWL_settings").app("Text", "Einstellungen", "");
 
	TBWL_SetStatus(true);
	};

vTBWL_Addons.unshift("TBWL_Initialize_Button");
vTBWL_AjaxCallback.push("TBWL_AjaxCallback_Button");
cTBWL_Dorequest = (wgNamespaceNumber==0) && (wgAction=="view");

TBWL_RegisterAddon("Watchlist Counter", "tbwlButton");