MediaWiki:Common.js: Difference between revisions
Appearance
No edit summary Tag: Reverted |
No edit summary Tag: Reverted |
||
| Line 1: | Line 1: | ||
mw.loader.using(['mediawiki.api','mediawiki.util']).then(function(){ | |||
mw.loader.using(['mediawiki.api', 'mediawiki.util']).then(function () { | |||
var api = new mw.Api(); | var api = new mw.Api(); | ||
function togglePanel($btn){ | |||
function togglePanel($btn) { | var targetId = $btn.attr('data-target'); | ||
var targetId = $btn.attr('data-target'); | var $panel = $('#'+targetId); | ||
var $panel = $('#' + targetId); | var $panelRow = $panel.closest('tr'); | ||
var | |||
var $content = $panel.find('.build-content'); | var $content = $panel.find('.build-content'); | ||
var $loading = $panel.find('.build-loading'); | var $loading = $panel.find('.build-loading'); | ||
if ($panelRow.is(':visible')) { $panelRow.hide(); $btn.text('Show'); return; } | |||
$panelRow.show(); $btn.text('Hide'); | |||
if ($content.data('loaded')===1) return; | |||
api.get({ | $loading.show(); | ||
api.get({action:'parse',page:$panel.data('title'),prop:'text',disableeditsection:1,formatversion:2}) | |||
.then(function(data){ | |||
var html=(data && data.parse && data.parse.text)?data.parse.text:'<em>Could not load content.</em>'; | |||
$content.html(html); | |||
$content.data('loaded',1); | |||
}) | |||
.catch(function(){ $content.html('<em>Error while loading content.</em>'); }) | |||
.always(function(){ $loading.hide(); }); | |||
} | } | ||
$(document).on('click','a.build-toggle',function(e){ e.preventDefault(); togglePanel($(this)); }); | |||
$(document).on('click', '.build-toggle', function () { togglePanel($(this)); }); | |||
}); | }); | ||
Revision as of 21:42, 4 October 2025
mw.loader.using(['mediawiki.api','mediawiki.util']).then(function(){
var api = new mw.Api();
function togglePanel($btn){
var targetId = $btn.attr('data-target');
var $panel = $('#'+targetId);
var $panelRow = $panel.closest('tr');
var $content = $panel.find('.build-content');
var $loading = $panel.find('.build-loading');
if ($panelRow.is(':visible')) { $panelRow.hide(); $btn.text('Show'); return; }
$panelRow.show(); $btn.text('Hide');
if ($content.data('loaded')===1) return;
$loading.show();
api.get({action:'parse',page:$panel.data('title'),prop:'text',disableeditsection:1,formatversion:2})
.then(function(data){
var html=(data && data.parse && data.parse.text)?data.parse.text:'<em>Could not load content.</em>';
$content.html(html);
$content.data('loaded',1);
})
.catch(function(){ $content.html('<em>Error while loading content.</em>'); })
.always(function(){ $loading.hide(); });
}
$(document).on('click','a.build-toggle',function(e){ e.preventDefault(); togglePanel($(this)); });
});