![]() |
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.
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); } }