User:Alex6122/global.js

// Test (function(window, $, mw) {

/* Demo data: */

let demo_answer = '{"continue":{"gucontinue":"Example.jpg|amwiki|11715","continue":"||"},"query":{"pages":{"1601":{"pageid":1601,"ns":6,"title":"File:Example.jpg","globalusage":[{"title":"Ашаблон:Ацқьа","wiki":"ab.wikipedia.org","url":"https://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D1%86%D2%9B%D1%8C%D0%B0"},{"title":"Ашаблон:Navbox","wiki":"ab.wikipedia.org","url":"https://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Navbox"},{"title":"Ашаблон:Navbox/doc","wiki":"ab.wikipedia.org","url":"https://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Navbox/doc"},{"title":"Ашаблон:Акарточка","wiki":"ab.wikipedia.org","url":"https://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D0%BA%D0%B0%D1%80%D1%82%D0%BE%D1%87%D0%BA%D0%B0"},{"title":"Ашаблон:Акарточка/doc","wiki":"ab.wikipedia.org","url":"https://ab.wikipedia.org/wiki/%D0%90%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:%D0%90%D0%BA%D0%B0%D1%80%D1%82%D0%BE%D1%87%D0%BA%D0%B0/doc"},{"title":"Ureuëng_Ngui:Rachmat04/common.js","wiki":"ace.wikipedia.org","url":"https://ace.wikipedia.org/wiki/Ureu%C3%ABng_Ngui:Rachmat04/common.js"},{"title":"Benutzer_Diskussion:Acha45","wiki":"als.wikipedia.org","url":"https://als.wikipedia.org/wiki/Benutzer_Diskussion:Acha45"},{"title":"Wikipedia_ውይይት:Can\'t_see_the_font?","wiki":"am.wikipedia.org","url":"https://am.wikipedia.org/wiki/Wikipedia_%E1%8B%8D%E1%8B%AD%E1%8B%AD%E1%89%B5:Can%27t_see_the_font%3F"},{"title":"መልዕክት:Gadget-popups.js","wiki":"am.wikipedia.org","url":"https://am.wikipedia.org/wiki/%E1%88%98%E1%88%8D%E1%8B%95%E1%8A%AD%E1%89%B5:Gadget-popups.js"},{"title":"አባል:Blockinblox","wiki":"am.wikipedia.org","url":"https://am.wikipedia.org/wiki/%E1%8A%A0%E1%89%A3%E1%88%8D:Blockinblox"}]}}}}';

/**/

if (mw.config.values.wgCanonicalNamespace == 'File' && (mw.config.values.wgAction == 'view' || mw.config.values.wgAction == 'delete')) {

function show_global_usage_table(filename) {

function get_loader(table) { let loader_html = ` `;

$(table).append(loader_html);

}

function remove_loader(table) { $(table).find('.loader').detach; }

function section_init(after_elem) {

switch (mw.config.values.wgAction) {

case 'delete': after_elem = '#mw-img-deleteconfirm'; // Old // after_elem = '.mw-filedelete-editreasons'; // Use this line for new Fandom Platform! break;

default: after_elem = '#mw-imagepage-section-linkstoimage';

}

$('#global-usage-section').detach;

$(after_elem).after(` Search / About `);

}

function set_table_rows(table, data) {

remove_loader(table); const max_length = 25;

let html_output = '';

for (elem in data) {

if (elem > max_length-1) { html_output += ` And more. Now show only ${max_length} elem of ${Object.keys(data).length} `; break; }               html_output += `  ${data[elem].title}  ${data[elem].wiki}  `; }

$(table).append(html_output);

}

section_init; get_loader('#global-usage-table');

get_file_global_usage(filename)

.done(function(result){

/* DEMO. Simulate Extension:GlobalUsage answer:*/ result = JSON.parse(demo_answer); let pages = result.query.pages; let global_usage = pages[Object.keys(pages)[0]].globalusage;

set_table_rows('#global-usage-table', global_usage);

})

.fail(function {

console.error('Error: Request failed');

});   }

function get_file_global_usage(filename) { return $.ajax({           url: mw.util.wikiScript('api'),            data: {                format: 'json',                action: 'query',                prop:   'globalusage',                titles: 'File:' + filename            },            dataType: 'json',            type: 'POST'        }); }

show_global_usage_table(mw.config.values.wgTitle);

}

}(this, jQuery, mediaWiki));

// Параметры JS-скриптов: window.ajaxPages = ['Special:RecentChanges','Special:Watchlist','Special:Log','Special:Contributions','Служебная:RecentChanges','Служебная:Watchlist','Служебная:Log','Служебная:Contributions']; window.AjaxRCRefreshText = 'Автообновление'; window.AjaxRCRefreshHoverText = 'Включить автоматическое обновление страницы'; window.oasisText = 'wikia'; window.lastEdited = { avatar: true, size: true, diff: true, comment: true, time: 'timeago', lang: 'en', namespaces: { include: [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,110,111,400,401,500,502,503,828,829,1202,2000], exclude: [] },	pages: [] };

// // Импорт JS-скриптов:

importArticles({	type: 'script',	articles: [		'u:dev:MediaWiki:AjaxBatchDelete/code.2.js', // Массовое удаление		'u:dev:Mediawiki:AjaxRC/code.js',           // Авто-обновление служебных страниц		'u:dev:MediaWiki:LastEdited/code.js ',       // Информация о последней правке		'u:dev:MediaWiki:NoImageLightbox/code.js',   // Переход на страницу файла вместо открытия во всплывающем окне		'u:dev:MediaWiki:TopEditors/code.js',        // Рейтинг участников		'u:dev:MediaWiki:ViewRemoved/code.js',       // Просмотр удалённых комментариев (только при открытие темы на отдельной странице).		'u:dev:MediaWiki:GlobalEditcount/code.js',   // Правок всего        'u:dev:MediaWiki:ContribsLink/code.js',      // Ссылка на вклад        'u:dev:MediaWiki:ShowUserGroups.js',         // Статусы        'u:dev:MediaWiki:RCStats.js',                // Статистика        'u:dev:MediaWiki:UserRightsRecord/code.js',         'u:dev:MediaWiki:RandomPageShortcut/code.js',

//'u:dev:MediaWiki:BotoneraPopups/BotoneraPopups.js', //'u:dev:MediaWiki:BotoneraPopups/WikiArticle.js', //'u:dev:MediaWiki:BotoneraPopups/UILang/en.js', //'u:dev:MediaWiki:BotoneraPopups/code.js',           //Всплывающие окошко со ссылками.

//	'u:dev:MediaWiki:Tooltips.js',                        // Всплывающие подсказки. //	'u:dev:MediaWiki:RecentChangesMultiple/code.2.js',    // Гибридные свежие правки. ] });

// // Импорт CSS-стилей:

importArticles({	type: 'style',	articles: [		'u:dev:BotoneraPopups/code.css',	] });

// // Викификатор $('[title = "викификатор"]').remove;

function addWikifButton { var toolbar = document.getElementById('toolbar'); if (!toolbar) return; var i = document.createElement('img'); i.src = 'http://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png'; i.alt = i.title = 'викификатор'; i.onclick = Wikify; i.style.cursor = 'pointer'; toolbar.appendChild(i); i.id = 'Button-wikifikator'; } if (wgAction == 'edit' || wgAction == 'submit') { importScriptURI('http://ru.wikipedia.org/w/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript'); addOnloadHook(addWikifButton); } $('[title = "викификатор"]').remove;