User:Svick/SectionInput.js

// This script creates new text box for the name of the edited section.// This way, the browser's autocomplete for edit summary doesn't contain section name and becomes much more useful.// Tested in Firefox.$(function(){if (mw.config.get('wgAction') == 'edit' || mw.config.get('wgAction') == 'submit'){var summary = document.getElementById('wpSummary');var sectionIdInput = where(summary.form.elements, function(el) { return el.name == 'wpSection' });if (sectionIdInput){if (sectionIdInput.value == 'new')return;}summary.style.width = '74%';var section = document.createElement('input');section.id = section.name = 'section';section.style.width = '23.7%';section.style.setProperty('margin-right', '1%', '');section.tabIndex = 1;summary.parentNode.insertBefore(document.createElement('br'), summary);summary.parentNode.insertBefore(section, summary);var re = RegExp('/\\*\\s*(.*?)\\s*\\*/\\s*');var result = re.exec(summary.value);if (result)section.value = result[1];summary.value = summary.value.replace(re, '');summary.form.onsubmit = function(){if (section.value)summary.value = '/* ' + section.value + ' */ ' + summary.value;};}});function where(array, predicate){for (var i = 0; i < array.length; i++)if (predicate(array[i]))return array[i];}