Difference between revisions of "MediaWiki:Common.js"

m (Testing pinyin table audio)
 
(55 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
/* Any JavaScript here will be loaded for all users on every page load. */
 
/* Any JavaScript here will be loaded for all users on every page load. */
 +
var ggTopLink = 'https://store.allsetlearning.com?utm_source=wiki&utm_medium=wiki-ad&utm_campaign=pronwiki'
 +
var ggTopImg = '/pronwiki/skins/allset/assets/test/gg-top-PronPacks.png';
 +
var ggMidLink = 'https://store.allsetlearning.com?utm_source=wiki&utm_medium=wiki-ad&utm_campaign=pronwiki';
 +
var ggMidImg = '/pronwiki/skins/allset/assets/test/gg-mid-PronPacks.png';
 +
var ggBotLink = 'https://store.allsetlearning.com?utm_source=wiki&utm_medium=wiki-ad&utm_campaign=pronwiki';
 +
var ggBotImg = '/pronwiki/skins/allset/assets/test/gg-bot-PronPacks.png';
  
/*pinyin table scripts*/
+
var insertGg = function() {
$(document).ready( function() {
+
     console.log('inserting gg');
 
+
     if (ggTopLink && ggTopImg) {
     $('#table-settings').append('<p>Show IPA <input type="checkbox" id="table-toggle-ipa"/> Show zhuyin <input type="checkbox" id="table-toggle-zhuyin"/> Show Wade-Giles <input type="checkbox" id="table-toggle-wade-giles"/></p>');
+
         $('#gg-top').append('<a href="' + ggTopLink + '"><img src="' + ggTopImg + '" /></a>');
 
+
     }
    $('.table-ipa').hide();
+
     if (ggMidLink && ggMidImg) {
     $('.table-zhuyin').hide();
+
         $('#gg-mid').append('<a href="' + ggMidLink + '"><img src="' + ggMidImg + '" /></a>');
    $('.table-wade-giles').hide();
+
     }
    $('.col-placeholder').hide();
+
     if (ggBotLink && ggBotImg) {
 
+
         $('#gg-bot').append('<a href="' + ggBotLink + '"><img src="' + ggBotImg + '" /></a>');
    //highlight row and col of hovered cell
+
    }
    $('#pinyin-table td').hover( function() {
+
}
         if ($(this).children('div.table-pinyin').length) {
+
$(function() {
            $(this).addClass('table-highlight');
+
     insertGg();
            $(this).siblings().addClass('table-highlight');
 
            var rowIndex = $(this).prevAll().length+1;
 
            $('#pinyin-table tr :nth-child('+rowIndex+')').addClass('table-highlight');
 
        };
 
    }, function() {
 
        $('.table-highlight').removeClass('table-highlight');
 
    }).click( function() {
 
        if ($(this).children('div.table-pinyin').length) {
 
            var tones="1234"; //always use tone 1 for now
 
            var $player = $('#pinyin-table-audio');
 
            for (var i=0; i<tones.length; i++) {
 
                var sound_url = "http://resources.allsetlearning.com/pronwiki/resources/pinyin-audio/" + $(this).attr('id') + tones[i] + ".mp3"
 
                setTimeout( function() {
 
                    $player.empty();
 
                    $player.append("<source src=\"" + sound_url + "\" type=\"audio/mpeg\"></source>")
 
                    console.log(sound_url);
 
                    $player[0].pause();
 
                    $player[0].load();
 
                    $player[0].play();
 
                }, 1000);
 
            };
 
        };
 
     });
 
 
 
    //collapse column groups
 
     $('th.col-a, th.col-e, th.col-o, th.col-i, th.col-u, th.col-v').hover( function() {
 
        if ($(this).hasClass('col-a')) { var thClass='col-a'; } else
 
         if ($(this).hasClass('col-e')) { var thClass='col-e'; } else
 
        if ($(this).hasClass('col-o')) { var thClass='col-o'; } else
 
        if ($(this).hasClass('col-i')) { var thClass='col-i'; } else
 
        if ($(this).hasClass('col-u')) { var thClass='col-u'; } else
 
        if ($(this).hasClass('col-v')) { var thClass='col-v'; };
 
        $('th.'+thClass).addClass('table-selected');
 
     }, function() {
 
        $('.table-selected').removeClass('table-selected');
 
     }).click( function() {
 
        if ($(this).hasClass('col-a')) { var thClass='col-a'; } else
 
         if ($(this).hasClass('col-e')) { var thClass='col-e'; } else
 
        if ($(this).hasClass('col-o')) { var thClass='col-o'; } else
 
        if ($(this).hasClass('col-i')) { var thClass='col-i'; } else
 
        if ($(this).hasClass('col-u')) { var thClass='col-u'; } else
 
        if ($(this).hasClass('col-v')) { var thClass='col-v'; };
 
        if ($(this).hasClass('col-placeholder')) {
 
            $('#pinyin-table .'+thClass).show();
 
            $('#pinyin-table .'+thClass+'.col-placeholder').hide();
 
        } else {
 
            $('#pinyin-table .'+thClass).hide();
 
            $('#pinyin-table .'+thClass+'.col-placeholder').show();
 
        };
 
    });
 
 
 
    //toggle showing ipa, zhuyin, wade-giles
 
    $('#table-toggle-ipa').click( function() {
 
        if ($(this).prop('checked')) {
 
            $('.table-ipa').show();
 
        } else {
 
            $('.table-ipa').hide();
 
        };
 
    });
 
    $('#table-toggle-zhuyin').click( function() {
 
        if ($(this).prop('checked')) {
 
            $('.table-zhuyin').show();
 
        } else {
 
            $('.table-zhuyin').hide();
 
        };
 
     });
 
    $('#table-toggle-wade-giles').click( function() {
 
        if ($(this).prop('checked')) {
 
            $('.table-wade-giles').show();
 
        } else {
 
            $('.table-wade-giles').hide();
 
        };
 
    });
 
 
});
 
});

Latest revision as of 01:05, 4 October 2019

/* Any JavaScript here will be loaded for all users on every page load. */
var ggTopLink = 'https://store.allsetlearning.com?utm_source=wiki&utm_medium=wiki-ad&utm_campaign=pronwiki'
var ggTopImg = '/pronwiki/skins/allset/assets/test/gg-top-PronPacks.png';
var ggMidLink = 'https://store.allsetlearning.com?utm_source=wiki&utm_medium=wiki-ad&utm_campaign=pronwiki';
var ggMidImg = '/pronwiki/skins/allset/assets/test/gg-mid-PronPacks.png';
var ggBotLink = 'https://store.allsetlearning.com?utm_source=wiki&utm_medium=wiki-ad&utm_campaign=pronwiki';
var ggBotImg = '/pronwiki/skins/allset/assets/test/gg-bot-PronPacks.png';

var insertGg = function() {
    console.log('inserting gg');
    if (ggTopLink && ggTopImg) {
        $('#gg-top').append('<a href="' + ggTopLink + '"><img src="' + ggTopImg + '" /></a>');
    }
    if (ggMidLink && ggMidImg) {
        $('#gg-mid').append('<a href="' + ggMidLink + '"><img src="' + ggMidImg + '" /></a>');
    }
    if (ggBotLink && ggBotImg) {
        $('#gg-bot').append('<a href="' + ggBotLink + '"><img src="' + ggBotImg + '" /></a>');
    }
}
$(function() {
    insertGg();
});