Benutzer:Flominator/js/Grabsteine: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
(Update) |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[https://addons.mozilla.org/de/firefox/addon/greasemonkey/ Greasemonkey]-Skript zum optimierten Dateneingabe im [[Grabstein-Projekt]]: | [https://addons.mozilla.org/de/firefox/addon/greasemonkey/ 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 | |||
* Direkter Link auf 79xxx-Friedhöfe auf der Hauptseite | |||
== Quellcode == | |||
<source lang="javascript"> | <source lang="javascript"> | ||
// ==UserScript== | // ==UserScript== | ||
// @name Gravestone input | // @name Gravestone input | ||
// @namespace http://grabsteine.genealogy.net | // @namespace http://grabsteine.genealogy.net | ||
// @description | // @description adding some shortcuts and changing some links | ||
// @match | // @match https://grabsteine.genealogy.net/* | ||
// @include http://grabsteine.genealogy.net/ | // @include http://grabsteine.genealogy.net/ | ||
// ==/UserScript== | // ==/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 | //add "copy surname" links | ||
if(document.getElementById('sur1')!=null) | if(document.getElementById('sur1')!=null) | ||
Zeile 20: | Zeile 47: | ||
}while(document.getElementById('sur'+i)!=null) | }while(document.getElementById('sur'+i)!=null) | ||
} | } | ||
killLinkNodes = new Array(); | killLinkNodes = new Array(); | ||
Zeile 26: | Zeile 56: | ||
for (var i=0; aNode = document.getElementsByTagName("a")[i]; i++) | for (var i=0; aNode = document.getElementsByTagName("a")[i]; i++) | ||
{ | { | ||
if(aNode.href.search(/plzlist/) != -1) | |||
{ | |||
//direct link to 79... cemeteries on main page | |||
var ins_li = document.createElement("a"); | |||
ins_li.innerHTML=' =><a href="cemlist.php?p=79&lang=de">79</a>'; | |||
aNode.parentNode.insertBefore(ins_li, aNode.nextSibling); | |||
} | |||
//change arrow link to first grave that actually contains data | //change arrow link to first grave that actually contains data | ||
if(aNode.accessKey=="v") | if(aNode.accessKey=="v") | ||
Zeile 32: | Zeile 72: | ||
continue; | continue; | ||
} | } | ||
//change arrow link to first grave that actually contains data | //change arrow link to first grave that actually contains data | ||
if(aNode.accessKey=="n") | if(aNode.accessKey=="n") | ||
Zeile 39: | Zeile 79: | ||
continue; | continue; | ||
} | } | ||
//do not ask again when deleting datasets | //do not ask again when deleting datasets | ||
if(aNode.href.search(/action=drop/) != -1) | if(aNode.href.search(/action=drop/) != -1) | ||
Zeile 51: | Zeile 91: | ||
continue; | continue; | ||
} | } | ||
//collect edit links for shortcuts | //collect edit links for shortcuts | ||
if(aNode.href.search(/action=edit/) != -1) | if(aNode.href.search(/action=edit/) != -1) | ||
Zeile 66: | Zeile 106: | ||
continue; | continue; | ||
} | } | ||
//add shortcut for updating pictures | //add shortcut for updating pictures | ||
if(aNode.href.search(/update_form/) != -1) | if(aNode.href.search(/update_form/) != -1) | ||
Zeile 73: | Zeile 113: | ||
continue; | continue; | ||
} | } | ||
} | } | ||
if(killLinkNodes.length > 1) | if(killLinkNodes.length > 1) | ||
{ | { | ||
Zeile 85: | Zeile 125: | ||
editLinkNodes[i].accessKey="" + (i+1); | editLinkNodes[i].accessKey="" + (i+1); | ||
} | } | ||
if(document.getElementsByName('ziel_tomb')[0]!=null) | if(document.getElementsByName('ziel_tomb')[0]!=null) | ||
{ | { | ||
document.getElementsByName('ziel_tomb')[0].focus(); | document.getElementsByName('ziel_tomb')[0].focus(); | ||
} | } | ||
if(document.getElementsByName('userfile')[0]!=null) | if(document.getElementsByName('userfile')[0]!=null) | ||
{ | { | ||
document.getElementsByName('userfile')[0].focus(); | document.getElementsByName('userfile')[0].focus(); | ||
} | } | ||
//Insert any tag before any element with an id | //Insert any tag before any element with an id | ||
function insert_link_before(tagname, previous_element, linkcode) | function insert_link_before(tagname, previous_element, linkcode) | ||
Zeile 106: | Zeile 146: | ||
vl_logout.parentNode.insertBefore(ins_li, vl_logout); | vl_logout.parentNode.insertBefore(ins_li, vl_logout); | ||
} | } | ||
} | }</source> | ||
</source> |
Aktuelle Version vom 25. August 2022, 08:54 Uhr
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
- Direkter Link auf 79xxx-Friedhöfe auf der Hauptseite
Quellcode
// ==UserScript==
// @name Gravestone input
// @namespace http://grabsteine.genealogy.net
// @description adding some shortcuts and changing some links
// @match https://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++)
{
if(aNode.href.search(/plzlist/) != -1)
{
//direct link to 79... cemeteries on main page
var ins_li = document.createElement("a");
ins_li.innerHTML=' =><a href="cemlist.php?p=79&lang=de">79</a>';
aNode.parentNode.insertBefore(ins_li, aNode.nextSibling);
}
//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);
}
}