User:Frietjes/addstatus.js

// jQuery(document).ready(function($) {

var myContent = document.getElementsByName('wpTextbox1')[0]; // //

if(mw.config.get('wgNamespaceNumber') != -1 && myContent && mw.config.get('wgUserName') == 'Frietjes') { mw.loader.using(['mediawiki.util']).done( function {	 var portletlink = mw.util.addPortletLink('p-tb', '#', 'Add status', 't-fas');	  $(portletlink).click(function(e) { e.preventDefault; wpAddStatus; });	 portletlink = mw.util.addPortletLink('p-tb', '#', 'Remove status', 't-frs');	  $(portletlink).click(function(e) { e.preventDefault; wpRemoveStatus; });	}); } // // function wpAddStatus {	myContent.value = myContent.value.replace(/(\|name)(_[^=]*=)((?:\{\{[^{}]*\}\}|\[\^\[\*\]\]|[^\[\]\|\{\}])*)\(([A-Z, ]+)\)[\t ]*([\r\n])/g, '$1$2$3|status$2$4$5'); myContent.value = myContent.value.replace(/(\|win_)([^=]*)(=[^\r\n]*)/g, '$1$2$3|status_$2=¶'); myContent.value = myContent.value.replace(/(\|adjust_points_)([^=]*)(=[^\r\n]*)/g, '$1$2$3|hth_$2=¶'); myContent.value = myContent.value.replace(/(\|status_[^=]*=)([^\r\n]*)\1¶/g, '$1$2'); myContent.value = myContent.value.replace(/(\|hth_[^=]*=)([^{}]*)\1¶/g, '$1$2'); myContent.value = myContent.value.replace(/(\|hth_[^=]*=)¶([^{}]*)\1/g, '$2$1'); myContent.value = myContent.value.replace(/(\|(?:status|hth)_[^=]*=)¶/g, '$1'); var lt = ''; while(myContent.value != lt) { lt = myContent.value; myContent.value = myContent.value.replace(/[\r\n]*(\|status_[^_=]*=[^\r\n]*[\r\n])(\|(?:team[0-9]+|name_[^=]*)[ ]*=[^\r\n]*[\r\n])/g, '\n$2$1'); myContent.value = myContent.value.replace(/[\r\n](\|status_[^_=]*=[^\r\n]*[\r\n])([\t ]*[\r\n])/g, '\n$2$1'); myContent.value = myContent.value.replace(/(\|win)(_[^=]*=)([^\r\n]*)[\r\n]([\t ]*[\r\n]?\|status)\2/g, '$1$2$3$4$2'); myContent.value = myContent.value.replace(/(\|status)(_[^_=]*=)([A-Z, ][A-Z, ]*)[\r\n]([^{}]*)\1\2/g, '$4$1$2$3'); } } // // function wpRemoveStatus {	myContent.value = myContent.value.replace(/\|(?:status|hth)_[^=]*=[\t ]*([\r\n]|\|)/g, '$1'); } // // }); //