User:Jackmcbarn/advancedtemplatesandbox.js: Difference between revisions

Content deleted Content added
Jackmcbarn (talk | contribs)
Created page with '/* Enables TemplateSandbox on all pages, and allows previewing with a template other than the current page being edited (e.g. preview as Template:Foo when actual...'
 
Jackmcbarn (talk | contribs)
make the page box have autocomplete like the real thing does
 
(9 intermediate revisions by the same user not shown)
Line 4:
importScript('User:Jackmcbarn/advancedtemplatesandbox.js'); // Linkback: [[User:Jackmcbarn/advancedtemplatesandbox.js]]
The linkback allows easier tracking of who uses this script.
 
Known issues:
This hardcodes contents of messages, rather than fetching them.
The span is left as a span, rather than being changed to a fieldset.
Tab indexes assume that we're the first thing after "Show changes". If we're not (or if any other code does this trick), tab order will be wrong. Also, it relies on non-integer tab indexes working.
*/
 
if($('#wpTemplateSandboxPage').attr('type') == 'hidden') {
(function() { // Begin wrapper to keep variables out of global scope
mw.loader.using('jquery.makeCollapsible', function() {
 
var editform = $('#templatesandbox-editform').makeCollapsible({collapsed: !$('#wpTemplateSandboxPage').attr('value') });
});
if(editform.is("fieldset"))
$('#templatesandbox-editform').prepend('<legend>Preview page with this template</legend>');
{
$('#wpTemplateSandboxPage').before('<span class="mw-templatesandbox-page" id="wpTemplateSandboxPageLabel"><label for="wpTemplateSandboxPage">Page title:</label></span> ').after('<input id="wpTemplateSandboxPreview" name="wpTemplateSandboxPreview" tabindex="' + (+($('#wpDiff').attr('tabIndex')) + 0.75) + '" value="Show preview" type="submit" />').replaceWith($('#wpTemplateSandboxPage').clone().attr({type: 'text', tabindex: +($('#wpDiff').attr('tabIndex')) + 0.5, size: 60, spellcheck: true, 'data-mw-searchsuggest': '{"wrapAsLink":false}'}).addClass('mw-searchInput'));
// The full form is already loaded; just add the template name option
}
$('#wpTemplateSandboxTemplate').before("<span class=\"mw-templatesandbox-template\" id=\"wpTemplateSandboxTemplateLabel\"><label for=\"wpTemplateSandboxTemplate\">Template name:</label></span> ").after("<br />").replaceWith($('#wpTemplateSandboxTemplate').clone().attr({type: 'text', tabindex: $('#wpTemplateSandboxPage').attr('tabindex') - 0.5, size: 60, spellcheck: true}));
if($('#wpTemplateSandboxTemplate').attr('type') == 'hidden') {
} else {
$('#wpTemplateSandboxTemplate').before("'<span class=\"mw-templatesandbox-template\" id=\"wpTemplateSandboxTemplateLabel\"><label for=\"wpTemplateSandboxTemplate\">Template name:</label></span> "').after("'<br />"').replaceWith($('#wpTemplateSandboxTemplate').clone().attr({type: 'text', tabindex: +($('#wpTemplateSandboxPagewpDiff').attr('tabindextabIndex')) -+ 0.525, size: 60, spellcheck: true}));
// Only a skeleton loaded; reinitialize the whole form
// XXX TODO
}
 
})(); // End wrapper to keep variables out of global scope