// 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];
}