Benutzer:Wiegels/js/chess.js
< Benutzer:Wiegels | js
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
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
// Schachbrett besetzen
(function() {
var figures = '-prnbqk'.split(''),
paths = '1e;45,72,70,b1,15,42;1e;c7,ff,ef,98,47,f0'.split(/[,;]/),
black = false;
return function() {
$('#wikiPreview img[alt="Chess --t45.svg"]').closest('table').addClass('jw-chess');
$('#wikiPreview table.jw-chess').on('mouseenter mouseleave', function(event) {
$(this).css('outline', (event.type=='mouseenter' ? '2px solid orange' : ''));
});
$('#wikiPreview table.jw-chess td:has(img)').on('mouseenter mouseleave', function(event) {
$(this).css('outline', (event.type=='mouseenter' ? '2px solid '+(black ? '#000' : '#fff') : ''));
}).on('click', function() {
var index = (figures.indexOf($(this).html().match(/"Chess (.).t45\.svg"/)[1])+1)%7;
black = black == (index>0);
var figure = (index>0 ? figures[index]+(black ? 'd' : 'l') : '--');
$(this).html($(this).html().
replace(/(Chess[ _])..(t45)/g, '$1'+figure+'$2').
replace(/(thumb\/)\w\/\w\w/g, '$1'+paths[index+(black ? 7 : 0)].replace(/^((.).)$/, '$2/$1')));
var z = $(this).closest('table').index('#wikiPreview table.jw-chess'),
y = $(this).parent().index()-1,
x = $(this).index()-1;
$('#wpTextbox1').val($('#wpTextbox1').val().
replace(RegExp('^((?:[^]*?\{\{Schachbrett[^]+?\}\}){'+z+'}[^]*?'+
'\{\{Schachbrett[^]+?Brett=\n\n?(?: [1-8] [^=]+? [1-8]_=\n){'+y+'} [1-8] .(?:...){'+x+'})..([^]+?\}\}'+
'[^]*)$'.replace(/\\/g, '\\')), '$1'+figure.replace('--', ' ')+'$2'). // alte Notation
replace(RegExp('^((?:[^]*?\{\{Schachbrett[^]+?\}\}){'+z+'}[^]*?'+
'\{\{Schachbrett[^]*?\n(?:. Z[1-8]=[^\n]{24}\n){'+y+'}. Z[1-8]=(?:...){'+x+'})..(\/[^]+?\}\}'+
'[^]*)$'.replace(/\\/g, '\\')), '$1'+figure+'$2')); // neue Notation
}).attr('title', 'Klicken, um Figur zu setzen');
};
})()();