Difference between revisions of "User:Xenocidic/monobook.js"
From PinataIsland.info, the Viva Piñata wiki
(// this moves the toolbox and search box to the top of the left sidebar) |
(// the following should force edit section links even when NOEDITSECTION is being used) |
||
Line 122: | Line 122: | ||
} | } | ||
}); | }); | ||
+ | |||
+ | // the following should force edit section links even when NOEDITSECTION is being used | ||
+ | |||
+ | function naive_section_edit(){ | ||
+ | a = getElementsByClassName(document, "*", "mw-headline"); | ||
+ | for(i = 0; i < a.length; i++) a[i].insertBefore(document.createElement( | ||
+ | '<span class="editsection">[<a href="' + wgScript + 'title=' + | ||
+ | wgPageName + '&action=edit§ion=' + (i + 1) + '" title="Edit section: ' | ||
+ | + a[i].innerHTML + '">edit</a>]</span>')); | ||
+ | } | ||
+ | |||
+ | addOnloadHook(naive_section_edit); |
Revision as of 18:04, 26 August 2008
/* javascript quick preview, via AJAX * Originally by Alex Smotrov, User:Alex Smotrov/qpreview.js * Minor tweaks by CBM: * - default location of button changed * - change button title * - scroll to top of preview automatically * <pre> */ if (wgAction == 'edit' || wgAction == 'submit') addOnloadHook(addQPreviewButton); function addQPreviewButton(){ if (!window.qPreviewName) qPreviewName = 'Quick Preview'; var accesskey = window.qPreviewKey || ''; if ((!window.qPreviewAtBottom) || (window.qPreviewAtBottom != 1) ) addQPSystemButton(qPreviewName, qPreview, 'btnQPreview', 'Quick Preview', accesskey); else addQPToolbarButton(qPreviewName, qPreview, 'btnQPreview', 'Quick Preview', accesskey); } function qPreview(){ var divPreview = document.getElementById('wikiPreview'); if (!divPreview) return; var btnQPreview = document.getElementById('btnQPreview'); var btnWidth = Math.max(btnQPreview.scrollWidth, btnQPreview.offsetWidth); if (btnQPreview) btnQPreview.value = window.qPreviewWait || 'Please wait...'; btnQPreview.style.width = btnWidth + 'px'; a = sajax_init_object(); a.open('POST', document.editform.action+'&live', true); var Boundary = '--------p1415'; a.setRequestHeader('Content-Type', 'multipart/form-data; boundary='+Boundary); var txt = document.getElementById('wpTextbox1').value ; if(txt.indexOf('<ref')>=0 && txt.indexOf('<references')<0 && txt.indexOf('{{reflist')<0) txt+='\n<hr />\n==Reference preview ==\n{{reflist|2}}'; var PostData = '--' + Boundary + '\nContent-Disposition: form-data; name="wpTextbox1"\n\n' + txt + '\n--'+Boundary; if (a.overrideMimeType) a.overrideMimeType('text/html'); a.send(PostData); a.onreadystatechange = function(){ if (a.readyState != 4) return; var html = a.responseText; html = html.replace(/>/g,'>').replace(/</g,'<').replace(/"/g,'"').replace(/&/g,'&').replace(/'/g,"'"); divPreview.innerHTML = html; var coords = findQPPos(divPreview); window.scrollTo(0, coords[1]); // hard left, only scroll vertically if (btnQPreview) btnQPreview.value = qPreviewName; }; } function addQPSystemButton(name, onclick, id, tooltip, accesskey){ var wpPreview = document.getElementById('wpPreview'); if (!wpPreview) { return; } var btn = document.createElement('input'); btn.type = 'button'; if (name) btn.value = name; if (onclick) btn.onclick = onclick; if (id) btn.id = id; if (tooltip) btn.title = tooltip; if (accesskey) { btn.accessKey = accesskey; btn.title += ' [' + tooltipAccessKeyPrefix + btn.accessKey + ']'; } wpPreview.parentNode.insertBefore(btn, wpPreview); return btn; } function addQPToolbarButton(name, onclick, id, tooltip, accesskey){ var toolbar = document.getElementById('toolbar'); if (!toolbar) return; var btn = document.createElement('input'); btn.type = 'button'; btn.style.background = '#adbede'; btn.style.height = '22px'; btn.style.verticalAlign = 'middle'; if (name) btn.value = name; if (onclick) btn.onclick = onclick; if (id) btn.id = id; if (tooltip) btn.title = tooltip; if (accesskey) btn.accessKey = accesskey; toolbar.appendChild(btn); return btn; } function findQPPos(obj) { var curleft = curtop = 0; if (obj.offsetParent) { do { curleft += obj.offsetLeft; curtop += obj.offsetTop; } while (obj = obj.offsetParent); } return [curleft,curtop]; } // </pre> // this moves the toolbox and search box to the top of the left sidebar function menu_move_to_top(menu_name) { menu = document.getElementById(menu_name); if (menu) { p = menu.parentNode; p.removeChild(menu); p.insertBefore( menu, p.firstChild ); } } addOnloadHook(function (){ menu_names = [ "p-tb", // toolbox "p-search", // search box "p-interaction", // interaction "p-navigation", // navigation ]; while ( menu_name = menu_names.pop() ) { menu_move_to_top(menu_name); } }); // the following should force edit section links even when NOEDITSECTION is being used function naive_section_edit(){ a = getElementsByClassName(document, "*", "mw-headline"); for(i = 0; i < a.length; i++) a[i].insertBefore(document.createElement( '<span class="editsection">[<a href="' + wgScript + 'title=' + wgPageName + '&action=edit§ion=' + (i + 1) + '" title="Edit section: ' + a[i].innerHTML + '">edit</a>]</span>')); } addOnloadHook(naive_section_edit);