Benutzer:Wiegels/js/chess.js

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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');
    };
})()();