Перайсці да зместу

Удзельнік:Ssvb/Gadget-presenceLatinLetter.js

З пляцоўкі Вікікрыніцы

Заўвага: Пасля апублікавання, вам можа спатрэбіцца ачыстка кэшу браўзера, каб убачыць унесеныя змены.

  • Firefox / Safari: націсніце Reload, утрымліваючы Shift, або націсніце Ctrl-F5 ці Ctrl-R (⌘-R на Макінтошах)
  • Google Chrome: Націсніце Ctrl-Shift-R (⌘-Shift-R на Mac)
  • Edge: націсніце Refresh, утрымліваючы Ctrl, або націсніце Ctrl-F5.
// https://uk.wikisource.org/w/index.php?title=MediaWiki:Gadget-presenceLatinLetter.js

$( document ).ready( function() {
	if( ! [0, 4, 102, 250].includes( mw.config.get( 'wgNamespaceNumber' ) ) ||
		! [ 'edit', 'submit', 'view' ].includes( mw.config.get( 'wgAction' ) ) ) {
		return;
	}

	mw.loader.using(['mediawiki.util']).done(function () {
	jQuery.fn.highlight = function() {
        var reg = /[A-Za-zÁáÀàÄäÉéÈèÊêËëÍíÌìÎîÏïÓóÒòÔôÖöÚúÙùÛûÜüҢңҚқӘәҮү]/g;
		var rep = '<span class="gadget-latin-letter">$&</span>';

        this.each(function() {
        $(this).contents().each(function() {
	            if(this.nodeType === 3 && this.parentElement.localName !== 'style' && reg.test(this.nodeValue)) {
	                	$(this).replaceWith(this.nodeValue.replace(reg, rep));
				}
	            else if(!$(this).hasClass('gadget-latin-letter') && this.type !== 'textarea') {
	                $(this).highlight();
	            }
        	});
		 });
    };
    var highlightLatinLetter = function () {
    	$('body').highlight();
    };
    
    highlightLatinLetter();
    
    // Qpreview gadget compatibility
    $('body').on('DOMSubtreeModified', '#wikiPreview', function(){
	  highlightLatinLetter();
	});
	});

});