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

Aus ConanWiki
Zur Navigation springen Zur Suche springen
Inhalt hinzugefügt Inhalt gelöscht
KKeine Bearbeitungszusammenfassung
K (updated, kategorien anzeigen bei bildern, brauche ich oft :))
Zeile 1: Zeile 1:
   
  +
var id=null;
   
 
function mainTotto(){
 
function mainTotto(){
Zeile 22: Zeile 23:
 
var container4 = document.createElement("li");
 
var container4 = document.createElement("li");
 
container4.setAttribute("class","TottoCustomContainer");
 
container4.setAttribute("class","TottoCustomContainer");
container4.innerHTML='<a onclick="onlinecounter()" dir="auto" title="Online Counter">0</a>';
+
container4.innerHTML='<a onclick="refresh()" dir="auto" title="Online Counter">0</a>';
 
container4.setAttribute("id","TottoOnlineCounter");
 
container4.setAttribute("id","TottoOnlineCounter");
 
containerQuickJump.prepend(container4);
 
containerQuickJump.prepend(container4);
Zeile 30: Zeile 31:
 
//AddAcessKeys();
 
//AddAcessKeys();
 
onlinecounter();
 
onlinecounter();
  +
id=setInterval(onlinecounter,60*1000)
  +
alertinit()
  +
isDatei()
 
}
 
}
 
 
Zeile 112: Zeile 116:
 
function refresh(){
 
function refresh(){
 
onlinecounter();
 
onlinecounter();
  +
var url="https://conanwiki.org/wiki/Spezial:Wer_ist_gerade_online"
  +
window.open(url,"_blank")
 
}
 
}
   
Zeile 129: Zeile 135:
 
num=c.getElementsByTagName("ul")[0].getElementsByTagName("li").length;
 
num=c.getElementsByTagName("ul")[0].getElementsByTagName("li").length;
 
cont.innerHTML=num;
 
cont.innerHTML=num;
console.log(num);
+
//console.log(num);
 
}catch(err) {
 
}catch(err) {
 
// There was an error
 
// There was an error
Zeile 137: Zeile 143:
 
});
 
});
   
+
   
  +
}
  +
  +
function isDatei(){
  +
var is=window.location.pathname.split("/").map((a)=>{return a.startsWith("Datei:")}).reduce((a,b)=>a||b)
  +
if(is){
  +
document.getElementById("file").addEventListener('contextmenu',getText,false)
  +
}
  +
  +
}
  +
function getText(){
  +
// ev.preventDefault();
  +
// alert('success!');
  +
// return false;
  +
var url=`https://conanwiki.org/index.php?title=${window.location.pathname.split("/").reduce((a,b)=>{return b})}&action=edit`
  +
fetch(url).then(function (response) {
  +
// The API call was successful!
  +
return response.text();
  +
}).then(function (html) {
  +
try{
  +
var num=0;
  +
// Convert the HTML string into a document object
  +
var parser = new DOMParser();
  +
var doc = parser.parseFromString(html, 'text/html');
  +
var text=doc.getElementById("wpTextbox1").innerHTML;
  +
navigator.clipboard.writeText(text);
  +
alertSucess("Inhalt kopiert");
  +
}catch(err) {
  +
// There was an error
  +
console.warn('Something went wrong.', err);
  +
document.getElementById("TottoOnlineCounter").getElementsByTagName("a")[0].innerHTML=0;
  +
}
  +
});
  +
}
  +
  +
function alertinit(){
  +
var div = document.createElement('div');
  +
var style = document.createElement('style');
  +
style.innerHTML = '.alert { padding: 20px; background-color: #4bac4f; color: white; margin-bottom: 15px;}.closebtn { margin-left: 15px; color: white; font-weight: bold; float: right; font-size: 22px; line-height: 20px; cursor: pointer; transition: 0.3s;} .closebtn:hover { color: black;} .fade-out-20 { animation: fadeOut ease 20s; -moz-animation: fadeOut ease 20s; } .fade-out-5 { animation: fadeOut ease 5s; -moz-animation: fadeOut ease 5s; } @keyframes fadeOut { 0% { opacity:1; } 100% { opacity:0; } } @-moz-keyframes fadeOut { 0% { opacity:1; } 100% { opacity:0; } } ';
  +
div.innerHTML = ' <div id="alert-box" class="alert" style="display:none;position: fixed;top: 50%;z-index: 100;left: 25%;width: 50%;text-align: center;font-size: 49px;"><span onclick="this.parentElement.style.display=\'none\'" class="closebtn" style="font-size: 63px;">×</span><span id="alert-text">Alert</span></div>';
  +
document.head.appendChild(style);
  +
document.body.appendChild(div);
  +
}
  +
  +
function alertSucess(text){
  +
alert(text,"#4bac4f");
  +
}
   
  +
function alert(text,color){
  +
var d=document.getElementById("alert-box") ;
  +
d.classList.remove("fade-out-20");
  +
d.style.display="block";
  +
d.style.opacity=1;
  +
d.style["background-color"]=color;
  +
d.classList.add("fade-out-20");
  +
var t=document.getElementById("alert-text");
  +
t.innerHTML=text;
  +
setTimeout(()=>{
  +
var d=document.getElementById("alert-box") ;
  +
d.style.display="none";
  +
d.classList.remove("fade-out-20");
  +
},20*1000);
   
 
}
 
}

Version vom 19. April 2021, 14:50 Uhr


var id=null;

function mainTotto(){

var tf=document.getElementById("p-personal");
var containerQuickJump= tf.getElementsByTagName("ul")[0];
var container = document.createElement("li");	
	container.setAttribute("class","TottoCustomContainer");
    container.innerHTML='<a href="/wiki/ConanWiki:NextHints" dir="auto" title="Quick Acess Hints" >Hints</a>';
    container.setAttribute("id","TottoHints");
    containerQuickJump.prepend(container);
var container2 = document.createElement("li");	
	container2.setAttribute("class","TottoCustomContainer");
    container2.innerHTML='<a href="/wiki/Vorlage:Anime-JP" dir="auto" title="Quick Acess Vorlage JP" >Vorlage JP</a>';
    container2.setAttribute("id","TottoVorlageJP");
    containerQuickJump.prepend(container2);
var container3 = document.createElement("li");	
	container3.setAttribute("class","TottoCustomContainer");
    container3.innerHTML='<a onclick="scrollToBottom();" dir="auto" title="Quick Acess Down" >Downscroll</a>';
    container3.setAttribute("id","TottoScrollDown");
    containerQuickJump.prepend(container3);		
var container4 = document.createElement("li");	
	container4.setAttribute("class","TottoCustomContainer");
    container4.innerHTML='<a onclick="refresh()" dir="auto" title="Online Counter">0</a>';
    container4.setAttribute("id","TottoOnlineCounter");
    containerQuickJump.prepend(container4);		
	//addHotkey("s","scrollToBottom");
    //addHotkey("u","scrollToTop");
	//addHotkey("p","preview");
	//AddAcessKeys();
	onlinecounter();
	id=setInterval(onlinecounter,60*1000)
	alertinit()
	isDatei()
	}
	
function preview(){
var ed= document.getElementsByClassName("editButtons");
if(ed.length>=1){
	///Auto HotkeyPreview Preview :yum:
	var previewbt=document.getElementById("wpPreview");
	previewbt.click();
	
}
}
	
	
function addToQuicklink(title,link){
var tf=document.getElementById("p-personal");
var containerQuickJump= tf.getElementsByTagName("ul")[0];
var container = document.createElement("li");	
	container.setAttribute("class","TottoCustomContainer");
    container.innerHTML='<a href="'+link+'" dir="auto" title="Quick Acess '+title+'" >'+title+'</a>';
    container.setAttribute("id","TottoHints");
    containerQuickJump.prepend(container);

	




}	
	
function scrollToBottom(){
	
	window.scrollTo(0,document.body.scrollHeight);
}
function scrollToTop(){
	window.scrollTo(0,document,0)
	
}
function addHotkey(hotkey,function_to_call){
	var num= hotkey.toUpperCase().charCodeAt(0);

 document.addEventListener("keydown", function(event) {  const key = event.keyCode; if(key===num&&event.altKey&&event.shiftKey){ window[function_to_call](); } }   );

}



function addHotkeyF(hotkey,function_to_call){	
var num= hotkey.toUpperCase().charCodeAt(0); 
 document.addEventListener("keydown", function(event) { const key = event.keyCode; if(key===num&&event.altKey&&event.shiftKey){ function_to_call(); } }   );
}


function getAllElementsWithAttribute(attribute){
  var matchingElements = [];
  var allElements = document.getElementsByTagName('*');
  for (var i = 0, n = allElements.length; i < n; i++){
    if (allElements[i].getAttribute(attribute) !== null) {
      // Element exists with attribute. Add to array.
      matchingElements.push(allElements[i]);
    }
  }
  return matchingElements;
}

function clickf(elementr){
	elementr.click();
}

function AddAcessKeys(){
	var t= getAllElementsWithAttribute("accesskey");
	for(var i=0;i<t.length;i++){
		var key=t[i].getAttribute("accesskey");
		if(key!="."&&key!=""){
			addHotkeyF(key,clickf(t[i]));
		}
		
	}
	
	
}
function refresh(){
onlinecounter();
var url="https://conanwiki.org/wiki/Spezial:Wer_ist_gerade_online"
window.open(url,"_blank")
}

function onlinecounter(){
var url="https://conanwiki.org/wiki/Spezial:Wer_ist_gerade_online"
 fetch(url).then(function (response) {
	// The API call was successful!
	return response.text();
}).then(function (html) {
	try{
		var num=0;
		// Convert the HTML string into a document object
		var parser = new DOMParser();
		var doc = parser.parseFromString(html, 'text/html');
		var cont=document.getElementById("TottoOnlineCounter").getElementsByTagName("a")[0];
		var c=doc.getElementById("mw-content-text");
		num=c.getElementsByTagName("ul")[0].getElementsByTagName("li").length;
		cont.innerHTML=num;
		//console.log(num);
		}catch(err) {
		// There was an error
		console.warn('Something went wrong.', err);
		document.getElementById("TottoOnlineCounter").getElementsByTagName("a")[0].innerHTML=0;
	}
});

		

}

function isDatei(){
var is=window.location.pathname.split("/").map((a)=>{return a.startsWith("Datei:")}).reduce((a,b)=>a||b)
	if(is){
		document.getElementById("file").addEventListener('contextmenu',getText,false)
	}

}
function getText(){
	 // ev.preventDefault();
    // alert('success!');
    // return false;
	var url=`https://conanwiki.org/index.php?title=${window.location.pathname.split("/").reduce((a,b)=>{return b})}&action=edit`
		 fetch(url).then(function (response) {
		// The API call was successful!
		return response.text();
	}).then(function (html) {
		try{
			var num=0;
			// Convert the HTML string into a document object
			var parser = new DOMParser();
			var doc = parser.parseFromString(html, 'text/html');
			var text=doc.getElementById("wpTextbox1").innerHTML;
			navigator.clipboard.writeText(text);
			alertSucess("Inhalt kopiert");
			}catch(err) {
			// There was an error
			console.warn('Something went wrong.', err);
			document.getElementById("TottoOnlineCounter").getElementsByTagName("a")[0].innerHTML=0;
		}
	});
}

function alertinit(){
var div = document.createElement('div');
var style = document.createElement('style');
style.innerHTML = '.alert { padding: 20px; background-color: #4bac4f;  color: white; margin-bottom: 15px;}.closebtn {  margin-left: 15px;  color: white;  font-weight: bold;  float: right;  font-size: 22px;  line-height: 20px;  cursor: pointer;  transition: 0.3s;} .closebtn:hover {  color: black;}   .fade-out-20 {  animation: fadeOut ease 20s; -moz-animation: fadeOut ease 20s; }  .fade-out-5 {  animation: fadeOut ease 5s; -moz-animation: fadeOut ease 5s; } @keyframes fadeOut {  0% {    opacity:1;  }  100% {  opacity:0; } } @-moz-keyframes fadeOut {  0% {    opacity:1;  } 100% { opacity:0; } }  ';
div.innerHTML = ' <div id="alert-box" class="alert" style="display:none;position: fixed;top: 50%;z-index: 100;left: 25%;width: 50%;text-align: center;font-size: 49px;"><span onclick="this.parentElement.style.display=\'none\'" class="closebtn" style="font-size: 63px;">×</span><span id="alert-text">Alert</span></div>';
document.head.appendChild(style);
document.body.appendChild(div);
}

function alertSucess(text){
	alert(text,"#4bac4f");
}

function alert(text,color){
	var d=document.getElementById("alert-box")  ;
	d.classList.remove("fade-out-20");
	d.style.display="block";
	d.style.opacity=1;
	d.style["background-color"]=color;
	d.classList.add("fade-out-20");
	var t=document.getElementById("alert-text");
	t.innerHTML=text;
	setTimeout(()=>{ 
		var d=document.getElementById("alert-box")  ;
		d.style.display="none";
		d.classList.remove("fade-out-20");
	},20*1000);

}



mainTotto();