Zum Inhalt springen

Benutzer:Codeispoetry/quickbar.js

aus Wikipedia, der freien Enzyklopädie

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
  • Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
 if (typeof zeigeversion == 'undefined') var zeigeversion = false;        // monobook-Version anzeigen?
 if (typeof zeigehilfe == 'undefined') var zeigehilfe = false;          // kurze Hilfetexte beim überfahren mit der Maus anzeigen?

 var trenner='<hr />';
 var br     ='<br />';
 var showquickbar = true;
 var showcompletebar = true;
 var qbtarget = '_self';
 if (typeof qbnewpage != 'undefined' && qbnewpage) qbtarget = '_blank';
 var dropdown = false;
 if (typeof usedropdown != 'undefined' && usedropdown) dropdown = true;
 var scrpt    = '';
 var scrptn   = 0;
 var indropdown;
 var ind;

 var bar;
 var lastSection;

 function createBar() {
	bar = document.createElement('div');
	bar.className = 'portlet';
	bar.id = 'p-quickbar';
	var head = document.createElement('h5');
	head.innerHTML = 'Quickbar';
	bar.appendChild(head);
	var pbody = document.createElement('div');
	pbody.className = "pBody noprint";
	if (typeof qbfontsize != 'undefined')
		pbody.setAttribute('style', 'font-size:' + qbfontsize + '%;');
	bar.appendChild(pbody);
	document.getElementById('p-navigation').parentNode.insertBefore(bar, document.getElementById('p-navigation'));
 }

 function addNewBarSection(title, content) {
	var section = document.createElement('div');
	section.id = 'qb-' + title;
	if (dropdown) {
		closedropdown();
		var drop = document.createElement('select');
		drop.setAttribute('onchange', "dodropdown(this.value);");
		drop.setAttribute('style', 'width:135px;font-size:100%;');
		section.appendChild(drop);
		drop.innerHTML += '<option>'+title+'</option>';
		if (typeof content != 'undefined')
			drop.innerHTML += content;
		indropdown = true;
		ind=2;
		bar.lastChild.appendChild(section);
		lastSection = drop;
	} else {
		var head = document.createElement('h6');
		head.innerHTML = title;
		head.setAttribute('style', 'display: none;');
		section.appendChild(head);
		var secbody = document.createElement('div');
		section.appendChild(secbody);
		if (typeof content != 'undefined')
			secbody.innerHTML = content;
		if (bar.lastChild.lastChild != null)
			bar.lastChild.appendChild(document.createElement('hr'));
		bar.lastChild.appendChild(section);
		lastSection = secbody;
	}
 }

 function dodropdown (aktion) {
  var zutun = aktion.split('|');
  var was = Number(zutun[0]);
  var wie = zutun[1];

  switch (was) {
   case 1 : window.open (wie); break;
   case 2 : _doopt (Number(wie)); break;
   case 3 : _doopt (Number(wie)); break;
   case 4 : _doopt (Number(wie)); break;
  } //switch
 } //dodropdown

 function closedropdown () {
  if (indropdown) lastSection.innerHTML += '</select>';
  indropdown = false;
 }

 function w (was,lurl,linktext,targt,title) {
  if (!title) title=linktext;
  if (!zeigehilfe) title='';
  if (!dropdown) {
   switch (was) {
    case 0 : if (lurl==trenner) addNewBarSection(linktext); else lastSection.innerHTML += lurl; break;
    case 1 : lastSection.innerHTML += '<a href="'+lurl+'" target="'+targt+'" title="'+title+'">'+linktext+'</a>&nbsp; '; break;
    case 2 : lastSection.innerHTML += '<a href="#" onclick="newtext('+ lurl +')" title="'+title+'">'+linktext+'</a>&nbsp; '; break;
    case 3 : lastSection.innerHTML += '<a href="#" onclick="insertTagsWrapper('+ lurl +')" title="'+title+'">'+linktext+'</a>&nbsp; '; break;
    case 4 : lastSection.innerHTML += '<a href="#" onclick="'+ lurl +'" title="'+title+'">'+linktext+'</a>&nbsp; ';  break;
   }
  } //if
  else //todo: Hilfe bei Dropdowns. Benutzt die überhaupt jemand????
  {
   var ltext='__________'.substr(1,ind)+linktext;
   switch (was) {
    case 0 : if (lurl==br) { lastSection.innerHTML += '<option>'+linktext+'</option>';ind=2; }
             else
             if (lurl==trenner) newdropdown(linktext);
             break;
    case 1 : lastSection.innerHTML += '<option value="1|'+lurl+'">'+ltext+'</option>';break;
    case 2 : lastSection.innerHTML += '<option value="2|'+scrptn+'">'+ltext+'</option>';
             scrpt=scrpt+'case '+scrptn+':newtext('+lurl+');break;';scrptn++;break;
    case 3 : lastSection.innerHTML += '<option value="3|'+scrptn+'">'+ltext+'</option>';
             scrpt=scrpt+'case '+scrptn+':insertTagsWrapper('+lurl+');break;';scrptn++;break;
    case 4 : lastSection.innerHTML += '<option value="4|'+scrptn+'">'+ltext+'</option>';
             scrpt=scrpt+'case '+scrptn+':'+lurl+';break;';scrptn++;break;
   } //switch
  } //else
 } //w

  addOnloadHook (function () {createBar();  buildQuickbar();  if (scrpt > '') {
    document.write('<script> function _doopt (was) { switch (was) {', scrpt, '}}<\/script>');
    scrpt='';
 }});