User:Iceblock/prefixindexonecolumn.js

/* * This script adds a tab to Special:Prefixindex and Special:Allpages * to reformat the list into one column. It also adds a tab to create * a numbered list. * * Made by User:Iceblock */

function reorganizePrefixIndexTable { var listTable = document.getElementById('mw-prefixindex-list-table'); if (!listTable) var listTable = document.getElementsByClassName('mw-allpages-table-chunk')[0]; if (!listTable) return; var tableRows = listTable.children[0].children; var len = tableRows.length; for (x = 0; x < len; x++) { var tableRows = listTable.children[0].children; var len2 = tableRows[0].children.length; for (y = 0; y < len2; y++) { var trNode = document.createElement('tr'); var tdNode = document.createElement('td'); tdNode.innerHTML = tableRows[0].children[y].innerHTML; trNode.appendChild(tdNode); listTable.children[0].appendChild(trNode); }   listTable.children[0].removeChild(tableRows[0]); } } function makeNumberedPrefixIndexTable { var listTable = document.getElementById('mw-prefixindex-list-table'); if (!listTable) var listTable = document.getElementsByClassName('mw-allpages-table-chunk')[0]; if (!listTable) return; var tableRows = listTable.children[0].children; var len = tableRows.length; if (/\/i.test(tableRows[0].innerHTML)) return; var trNode = document.createElement('tr'); var tdNode = document.createElement('td'); var olNode = document.createElement('ol'); tdNode.appendChild(olNode); trNode.appendChild(tdNode); listTable.children[0].appendChild(trNode);

for (x = 0; x < len; x++) { var tableRows = listTable.children[0].children; var len2 = tableRows[0].children.length; for (y = 0; y < len2; y++) { var liNode = document.createElement('li'); liNode.innerHTML = tableRows[0].children[y].innerHTML; olNode.appendChild(liNode); }   listTable.children[0].removeChild(tableRows[0]); } }

$ ( function {  if (wgCanonicalSpecialPageName == 'Prefixindex' || wgCanonicalSpecialPageName == 'Allpages') {    mw.util.addPortletLink('p-cactions', 'javascript:reorganizePrefixIndexTable;', '1 column', null, 'Change the results list into one column');    mw.util.addPortletLink('p-cactions', 'javascript:makeNumberedPrefixIndexTable;', 'Numbered list', null, 'Change the results list into a numbered list');  } } );