Kopie des alten Systems

Dies ist eine alte Kopie des GenWiki und spiegelt den Stand vom 8. Mai 2022 wider.

This is an old copy of the GenWiki and reflects the status as of May 8, 2022. Please visit us at wiki.genealogy.net

Benutzer:Flominator/js/Grabsteine

aus GenWiki, dem genealogischen Lexikon zum Mitmachen.

Wechseln zu: Navigation, Suche

Greasemonkey-Skript zum optimierten Dateneingabe im Grabstein-Projekt:

Features

  • Pfeil-Button beim Hinzufügen zusätzlicher Personen, damit der Familienname der ersten Person übernommen werden kann
  • Umbiegen der Links auf die vorherige bzw. nächste Grabstelle, die tatsächlich Bilder enthält (standardmäßig wird auf die nächst höhere Nummer verlinkt)
  • Shortcut K löscht oberste Person ohne Rückfrage (sehr vorsichtig verwenden)
  • Shortcut - löscht letzte Person ohne Rückfrage (sehr vorsichtig verwenden)
  • Shortcuts 2-9 zum direkten Bearbeiten von Personen
  • Shortcut U zum Austauschen des ersten (?) Bildes
  • Fokus auf Feld zur Auswahl der Datei beim Austauschen von Bildern (nachdem die Funktion mit Shortcut U ausgelöst wurde)
  • Fokus auf Feld zur Auswahl der Ziel-Grabstelle beim Verschieben von Bildern
  • Footer ausblenden
  • Scrollbox von 600px auf 700px vergrößern

Quellcode

// ==UserScript==
// @name          Gravestone input
// @namespace     http://grabsteine.genealogy.net
// @description   adding some shortcuts and changing some links
// @match http://grabsteine.genealogy.net/*
// @include   http://grabsteine.genealogy.net/
// ==/UserScript==
 
 
for (var i=0; divNode = document.getElementsByTagName("div")[i]; i++)
{
  if(divNode.className=="footer")
  {
    divNode.style="display: none;";
  }
 
  if(divNode.style.height=="600px")
  {
    divNode.style.height="700px";
  }
}
 
//add "copy surname" links
if(document.getElementById('sur1')!=null)
{
  i=0;
  do
  {
    insert_link_before('span', 'sur'+i, "<a href=\"#\" onClick=\"document.getElementById('sur"+i+"').value=document.getElementsByTagName('table')[5].getElementsByTagName('b')[0].innerHTML + ''\">↳</a>");
    i++;
  }while(document.getElementById('sur'+i)!=null)
}
 
 
 
 
killLinkNodes = new Array();
editLinkNodes = new Array();
 
for (var i=0; aNode = document.getElementsByTagName("a")[i]; i++)
{
  	//change arrow link to first grave that actually contains data
  	if(aNode.accessKey=="v")
    {
      aNode.href = document.getElementsByName("tomb")[0].value;
      continue;
    }
 
  	//change arrow link to first grave that actually contains data
    if(aNode.accessKey=="n")
    {
      aNode.href = document.getElementsByName("tomb")[1].value;
      continue;
    }
 
    //do not ask again when deleting datasets
    if(aNode.href.search(/action=drop/) != -1)
  	{
      killLinkNodes.push(aNode);
      aNode.href = aNode.href.replace(/action=drop/, "drop=ok");      
      if(killLinkNodes.length == 1)
      {
        aNode.accessKey="k";
      }
      continue;
  	}
 
    //collect edit links for shortcuts
    if(aNode.href.search(/action=edit/) != -1)
  	{
      editLinkNodes.push(aNode);
      if(editLinkNodes.length > 1 && editLinkNodes.length <= 10)
      {
      	aNode.innerHTML = aNode.innerHTML + editLinkNodes.length;
      }
      if(editLinkNodes.length==1)
      {
        aNode.accessKey="e";
      }
      continue;
  	}  
 
    //add shortcut for updating pictures
   	if(aNode.href.search(/update_form/) != -1)
  	{
      aNode.accessKey="u";
      continue;
  	}
 
}
 
if(killLinkNodes.length > 1)
{
	killLinkNodes[killLinkNodes.length-1].accessKey="-";  
}
 
for (var i=1; i<=10 && i< editLinkNodes.length; i++)
{
  editLinkNodes[i].accessKey="" + (i+1);
}
 
if(document.getElementsByName('ziel_tomb')[0]!=null)
{
  document.getElementsByName('ziel_tomb')[0].focus();
}
 
if(document.getElementsByName('userfile')[0]!=null)
{
  document.getElementsByName('userfile')[0].focus();
}
 
//Insert any tag before any element with an id
function insert_link_before(tagname, previous_element, linkcode)
{
	var vl_logout = document.getElementById(previous_element);
 	if (vl_logout) 
 	{
 		var ins_li = document.createElement(tagname);
 		ins_li.innerHTML=/* */linkcode;/* */
 		 vl_logout.parentNode.insertBefore(ins_li, vl_logout);
 	}
}
Persönliche Werkzeuge