User:919dd/global.js

// Standard Summaries window.dev = window.dev || {};

window.dev.editSummaries = { css: '#stdSummaries { ... }',    select: 'User:919dd/Standard Edit Summary' }; // Personal importArticles({   type: 'script',    articles: [    	'u:dev:MediaWiki:MassRename/code.js',        'u:dev:MediaWiki:Standard Edit Summary/code.js',        'u:dev:MediaWiki:FileUsageAuto-update/code.js',        'u:dev:MediaWiki:PageRenameAuto-update/code.js',        'u:dev:MediaWiki:LastEdited/code.js',        //'u:dev:MediaWiki:JWB/load.js',//        'u:dev:MediaWiki:ListFiles/code.js',        'u:dev:MediaWiki:AjaxBatchDelete.js',        'u:dev:MediaWiki:AjaxDelete/code.js',        'u:dev:MediaWiki:DupeArgs.js',        'u:dev:MediaWiki:MassNullEdit/code.js',        'u:dev:MediaWiki:DiscussionsActivity.js',        'u:dev:MediaWiki:QuickPurge.js',        'u:dev:MediaWiki:ScrollUpButton.js',        'u:dev:MediaWiki:Discussions Delete All/code.js',        'u:dev:MediaWiki:EditLeaderboard.js',        'u:dev:MediaWiki:RedirectManagement/code.js',        'u:dev:MediaWiki:MassProtect/code.js',        ] });

// Make RC properly give links on diffs that include page creations function properLink { document.querySelectorAll('.mw-changeslist-links > span:first-child').forEach(		function(el) {			if (el.childNodes.length === 1 && el.childElementCount === 0){				var row = el.parentNode.parentNode.parentNode.parentNode.parentNode;				if (row.nodeName == 'TBODY') { row = row.parentNode; }				var pageName = row.querySelectorAll('.mw-changeslist-title')[0].attributes.title.nodeValue;				el.removeChild(el.firstChild); // delete plain text				var row_revid = row.getAttributeNode('data-mw-revid');				if (row_revid && row_revid.value) {					// single edit diff					el.appendChild(buildLink([row_revid.value, 0], pageName));				}else{					// multiple edit diff					var revisions = [];					row.querySelectorAll('tr.mw-rcfilters-ui-highlights-enhanced-nested.mw-changeslist-edit').forEach(function(edit) { // console.log(edit); //debug var edit_revid = edit.getAttributeNode('data-mw-revid'); if (edit_revid && edit_revid.value) { revisions[revisions.length] = edit_revid.value; }					});					// console.log(revisions); //debug					el.appendChild(buildLink(revisions, pageName));				}			}		}	); function buildLink(revisions, page) { // console.log(revisions); //debug var link = document.createElement('a'); var from = revisions[revisions.length-1]; var to = revisions[0]; var label = 'diff'; if (from == 0) { link.classList.add('mw-changeslist-diff'); } else { label = revisions.length + ' changes'; link.classList.add('mw-changeslist-groupdiff'); }		link.href = '/wiki/' + page + '?diff=' + to + '&oldid=' + from; link.title = page; link.innerHTML = label; return link; } }

// Properly display diff for page creation edits function properDiff { var table = document.getElementsByClassName('diff')[0]; var api = new mw.Api; var revid = document.querySelectorAll('#mw-diff-ntitle1 > strong > a')[0].href.replace(/^.+\?oldid=/g, ''); var api_opt = { action: 'compare', torev: revid, fromslots: 'main', 'fromtext-main': '', prop: 'diff|ids', formatversion: 2 };	if ( revid && document.querySelectorAll('#mw-diff-otitle1 > strong > a').item(0) && !document.querySelectorAll('#differences-prevlink').item(0) ) { //Add edit link to page creation diff table.querySelectorAll('#mw-diff-otitle4')[0].innerHTML = ' strong > a')[0].title + 		'?diff=' + 		document.querySelectorAll('#mw-diff-otitle1 > strong > a')[0].href.replace(/^.+\?oldid=/g, '') + 		'&oldid=0" title="' + 		document.querySelectorAll('#mw-diff-otitle1 > strong > a')[0].title + 		'" id="differences-prevlink">← Older edit'; }else if (revid && !document.querySelectorAll('#differences-prevlink').item(0)) { //Render proper diff table.getElementsByClassName('diff-ntitle')[0].colSpan = 4; table.getElementsByClassName('diff-notice')[0].parentNode.remove; api.get(api_opt).then(function(data) {			table.innerHTML = '  ' + table.innerHTML;			table.querySelectorAll('tbody')[0].innerHTML = table.querySelectorAll('tbody')[0].innerHTML + data.compare.body;		}); } }