Content deleted Content added
No edit summary |
Amorymeltzer (talk | contribs) m Remove legacy globals per phab:T72470 (via WP:JWB) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 1:
/* <pre> [[User:DStoykov/defaultsort.js]] <nowiki> */
function defaultsort() {
//var apiurl = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?action=query&meta=siteinfo&siprop=namespaces&format=xml';
var txt = document.editform.wpTextbox1;▼
//var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : null;
//xmlhttp.open('GET',apiurl, false);
//xmlhttp.send(null);
//alert(xmlhttp.responseXML.getElementById('14').childNodes[0].nodeValue);
▲ var txt = document.editform.wpTextbox1.value;
var sortkey = '';
//
var scrollPosition = document.editform.wpTextbox1.scrollTop;
var catlinks = txt.value.match(/\[\[\s*((C|K}at(e|é)gor(y|i|ie|ia|ía|ija|io)|Кат(е|э)гори(я|ја|ія|ыя)|Luokka|Flokkur|Κατηγορία)\s*:.*\]\]/ig);▼
// Create an array of all category links
if (txt
alert('There\'s already a defaultsort statement!');
return;
}
▲ var catlinks = txt
if (!catlinks) {
alert('There are no category links!');
Line 15 ⟶ 23:
}
for (i=0; i< catlinks.length; i++) {
//
var catname = catlinks[i].replace(/.+\s*:\s*([^|]*[^|\s])\s*(\|.*)?\]\]/,"$1");
//
var match = /\|[^\]]+/.exec(catlinks[i]);
if (match == null) {
alert('Category '+catname+' doesn\'t include a sort key!');
return;
}
//
var sk = match[0].replace(/\|(.+)/, "$1").replace(/(\S) +$/,"$1");
if (i == 0) {
sortkey = sk;
Line 35 ⟶ 43:
}
// Now that we know that everything is OK, we can proceed with modifying the content of the editbox
txt
for (i=0; i< catlinks.length; i++) {
subst = catlinks[i].replace(/\|[^\]]+/,"");
}
document.editform.wpTextbox1.value=txt;
// Restore scroll position
document.editform.wpTextbox1.scrollTop = scrollPosition;
}
if(document.forms.editform) {
mw.util.addPortletLink('p-cactions', 'javascript:defaultsort()', 'defaultsort', 'ca-defaultsort', '', '', document.getElementById('ca-purge'));
}
});
|