User:Fngplg/global.js

mw.hook('wikipage.content').add(function ($c) {   console.log('global.js content', (new Date).getTime, $c); }); //redirect mw.log to debug window.fngconsole = window.fngconsole || window.console.log; window.console.log = function { var a = Array.prototype.slice.call(arguments); if (a[0] === '') { window.console.debug.apply(window.console, a); } else { window.fngconsole.apply(window.console, a); } }; (function($) {   //importScriptPage('MediaWiki:View Source/code.js', 'dev');    //mw.hook('ppreview.ready').add(function(s){console.log('g', s)});    window.pPreview = window.pPreview || {};    //window.pPreview.debug = 1;    /*    window.pPreview = $.extend(true, window.pPreview, { tlen: 450, delay: 30, RegExp: {iparents: ['#IgnorePreview', 'div[data-ignore-me=1]', '.tabs'], onlyinclude : ['.LinkPreviewText', '[data-include-me=1]'],},});   */    var debug = $.getUrlVar('debug');    var scriptUrl = '//dev.wikia.com/load.php?mode=articles&only=scripts&articles=w:c:dev:MediaWiki:ViewRemoved/code.js|w:c:dev:MediaWiki:AjaxRC/code.js|w:c:dev:MediaWiki:CodeQuickLinks/code.js|w:c:dev:MediaWiki:View Source/code.js';    var sitename = (/\/{2}(.*)\.wikia\.com/.exec(window.wgServer)||[])[1];    if (sitename !== 'ru.borderlands') {        window.log = window.log ? window.log : function{return console.log.apply(this, arguments);};        window.nQuoteSettings = $.extend(true, window.nQuoteSettings, { //debug: false, useQuoteTemplate: false, quoteStyle: 'border-width:1px;border-style:ridge;', });       //mw.loader.load('//ru.borderlands.wikia.com/index.php?title=MediaWiki:Common.js/Quotes.js&action=raw&ctype=text/javascript');        //mw.loader.load('http://dev.wikia.com/index.php?title=MediaWiki:LinkPreview/code.js&action=raw&ctype=text/javascript');        scriptUrl = scriptUrl + '|w:c:dev:MediaWiki:LinkPreview/code.js|w:c:dev:MediaWiki:CommentPreview/code.js' +            '|w:c:dev:MediaWiki:Quotes.js';//'|w:c:ru.borderlands:mediawiki:Common.js/Quotes.js';        //mw.hook('wikipage.content').add(function($c){log('mwh.wp.c:',$c,$c.find('.DiscordIntegrator:not(.loaded)').length)});    }    mw.loader.load(scriptUrl + (debug ? '&debug=1' : ''));    $(function { //replace /message_wall: to /user: for avatars $('.speech-bubble-avatar a').each(function(i,v){v.href = v.href.replace(/(.*\/).*?:/, '$1User:')}); });   //remove lightbox keydown handler when lightbox is closed    /*    $(window).on('lightboxOpened', function { if (window.lightbox_keydown_fix_timer) clearInterval(window.lightbox_keydown_fix_timer); window.lightbox_keydown_fix_timer = setInterval(function {           if (!$('#LightboxModal').length) {                $(document).off('keydown.Lightbox');                clearInterval(window.lightbox_keydown_fix_timer);                delete(window.lightbox_keydown_fix_timer);            }        }, 1000); });*/   //add encode/decode button to diffs    $('.diff-ntitle').append($(' ', {class: 'wds-button wds-is-secondary wds-is-squished', text: 'euc', style: 'position:absolute;right:0;'}).on('click', function(e){$('.diffchange').each(function{var $this=$(this);$this.text($this.data('encoded')?decodeURIComponent($this.text):encodeURIComponent($this.text));$this.data('encoded', !$this.data('encoded'));});}));    //scriptUrl = scriptUrl + '|MediaWiki:VKLikeButton/code.js';    //window.vklikeapiid = 6265945;    //window.UserTagsJS = $.extend(true, window.UserTagsJS, {modules:{mwGroups: ['blocked', 'bot', 'bureaucrat', 'chatmoderator', 'checkuser', 'content-moderator', 'council', 'helper', 'rollback', 'staff', 'sysop', 'threadmoderator', 'vanguard', 'vstf', 'global-discussions-moderator']}});    //window.pPreview = window.pPreview || {};    //pPreview.RegExp = pPreview.RegExp || {};    //pPreview.RegExp.dtag = new RegExp('(.*)','gm'); //window.pPreview.debug = true; if (wgNamespaceNumber === 2000) $('.thread-left a').each(function(i,v) {v.title = v.innerText}); /*   window.importScriptPage = function (page, server) { var url = '/index.php?title=' + encodeURIComponent(page.replace(/ /g, '_')).replace('%2F', '/').replace('%3A', ':') + '&action=raw&ctype=text/javascript'; if (typeof server == "string") { if (server.indexOf('://') == -1 && server.indexOf('//') !== 0) url = 'http://' + server + '.wikia.com' + url; else url = server + url; }       return importScriptURI(url); };   (function  {    //https://stackoverflow.com/a/26596324        if ( typeof window.CustomEvent === "function" ) return false; //If not IE        function CustomEvent ( event, params ) {            params = params || { bubbles: false, cancelable: false, detail: undefined };            var evt = document.createEvent( 'CustomEvent' );            evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );            return evt;        }        CustomEvent.prototype = window.Event.prototype;        window.CustomEvent = CustomEvent;    }); //*/   $.fn.filterByData = function(prop, val) { return this.filter(           function {                 if (!!val) {                    return $(this).data(prop) == val;                }                return !!$(this).data(prop);            }        ); };   /*,{        type: "script", articles:["u:dev:LinkPreview/code.js"] });*/   //$.getScript('http://ru.borderlands.wikia.com/index.php?title=MediaWiki:Common.js/pagePreview.js&action=raw&ctype=text/javascript');    //mw.loader.load('http://ru.borderlands.wikia.com/index.php?title=MediaWiki:Common.js/pagePreview.js&action=raw&ctype=text/javascript');    //mw.loader.load('http://ru.borderlands.wikia.com/index.php?title=MediaWiki:Common.js/emo.js&action=raw&ctype=text/javascript');    //mw.loader.load('https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-popups.js&action=raw&ctype=text/javascript');    //mw.loader.load('https://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-navpop.css&action=raw&ctype=text/css', 'text/css');    /* importScriptPage('BackToTopButton/code.js', 'dev');    */    //console.log('global');    //switch code editor to classic mode    /*    importArticles({ type: 'script', articles: [ 'u:dev:MediaWiki:CodeEditorSwitch/code.js' ]   });    */    /*    (function{ //test mode everywhere var hs = '.wds-community-header__top-container .wds-community-header__wiki-buttons'; var btn = $('', {class: 'wds-button wds-is-squished wds-is-secondary', text: 'T', href: '#', id: 'nbtntestmode'}); if ($(hs).length) { //oasis $(hs).append(btn); } else { //monobook $('#p-personal .pBody ul').append(btn); }//append js button $('body').on('click', '.content-review-module-test-mode-enable, #nbtntestmode', function(e) {           e.preventDefault;            e.stopPropagation;            var data = {pageId: wgArticleId, wikiId: wgCityId, editToken: mw.user.tokens.get('editToken')};            $.nirvana.sendRequest({controller: 'ContentReviewApiController', method: 'enableTestMode', data: data, callback: function { var qs = new Wikia.Querystring; qs.addCb.goTo; },               onErrorCallback: function { console.error('test mode enabler error', arguments); }           });//sendrequest        });//onclick });//test mode everywhere   */    $(function  { //another jspad //https://stackoverflow.com/a/19961519 HTMLTextAreaElement.prototype.insertAtCaret = function (text) { text = text || ''; if (document.selection) { // IE           this.focus; var sel = document.selection.createRange; sel.text = text; } else if (this.selectionStart || this.selectionStart === 0) { // Others var startPos = this.selectionStart; var endPos = this.selectionEnd; this.value = this.value.substring(0, startPos) + text + this.value.substring(endPos, this.value.length); this.selectionStart = startPos + text.length; this.selectionEnd = startPos + text.length; } else { this.value += text; }       };//insertatcaret function btnClick (e) { if (e && e.preventDefault) e.preventDefault; gui.find('textarea').val(previousText); $('body').prepend(gui); gui.show.find('textarea').focus; }//btnclick function btnBClick (e) { $(' ', {type: 'text/javascript', text: gui.find('textarea').val}).prependTo($('head')); $(myname).remove; }//btnbclick var myname = '#ngui'; var previousText = ''; var hs = '.wds-community-header__top-container .wds-community-header__wiki-buttons'; var btn = $('', {class: 'wds-button wds-is-squished wds-is-secondary', text: 'JS', href: '#', id: 'nbtnshowgui'}); var gui = $(' ', {id: myname.slice(1), style: 'position:absolute;left:0;top:100px;width:100%;height:90%;z-index:10000;visibility:visible;'}); var guib = $(' ', {type: 'button', class: 'wikia-button', value: 'start', id: 'nbtnstart'}); var guit = $(' ', {id: 'ntxtscript', style: 'display:block;margin: 0 5%;width:80%;height:auto;min-height:100px;max-height:80%;'}); gui.append(guib).append(guit); if ($(hs).length) { //oasis $(hs).append(btn); } else { //monobook $('#p-personal .pBody ul').append(btn); }//append js button $('body').on('keydown', function (e) {           if (e.ctrlKey && e.keyCode === 8) { //ctrl+bckspc                btnClick;                return false;            }        });//body keydown $('body').on('click', '#nbtnshowgui', btnClick); $('body').on('click', myname + ' #nbtnstart', btnBClick); $('body').on('keydown', myname + ' #ntxtscript', function (e) {           if (e.keyCode >= 37 && e.keyCode <= 40) return true; //arrows            var $this = $(myname + ' #ntxtscript');            switch (e.keyCode) {                case 9:                    $this.focus;                    $this.get(0).insertAtCaret('    ');                    return false;                case 13:                    if (e.shiftKey || e.ctrlKey) {                        previousText = $this.val;                        btnBClick;                        return false;                    }                    break;                case 27:                    previousText = $this.val;                    $(myname).remove;                    return false;            }            if ($this.val && $this.val.length > 100) $this.height($this.get(0).scrollHeight);        });//txt keydown });//js pad   /*    (function ($) { //promise polyfill for ie       if (typeof Promise === 'function') return; function Promis (f) { var p = new $.Deferred; f(p.resolve, p.reject); return p;       }//promise window.Promise = Promis; }(jQuery));   */ })(jQuery);