<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.geministation.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-Preload.js</id>
	<title>MediaWiki:Gadget-Preload.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.geministation.com/index.php?action=history&amp;feed=atom&amp;title=MediaWiki%3AGadget-Preload.js"/>
	<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-Preload.js&amp;action=history"/>
	<updated>2026-06-04T04:45:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-Preload.js&amp;diff=6821&amp;oldid=prev</id>
		<title>Banri at 14:42, 14 August 2020</title>
		<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-Preload.js&amp;diff=6821&amp;oldid=prev"/>
		<updated>2020-08-14T14:42:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:42, 14 August 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l32&quot;&gt;Line 32:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 32:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         /**&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         /**&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          * Gets list of preload templates from Template:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Stdpreloads&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          * Gets list of preload templates from Template:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Gswpreloads&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          */&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          */&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         loadPreloads: function () {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;         loadPreloads: function () {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             $.get( mw.util.wikiScript(), { title: &#039;Template:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Stdpreloads&lt;/del&gt;&#039;, action: &#039;raw&#039;, ctype: &#039;text/plain&#039; }, function ( data ) {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;             $.get( mw.util.wikiScript(), { title: &#039;Template:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Gswpreloads&lt;/ins&gt;&#039;, action: &#039;raw&#039;, ctype: &#039;text/plain&#039; }, function ( data ) {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 var templates = data.split( &amp;#039;\n&amp;#039; ),&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;                 var templates = data.split( &amp;#039;\n&amp;#039; ),&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Banri</name></author>
	</entry>
	<entry>
		<id>https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-Preload.js&amp;diff=6810&amp;oldid=prev</id>
		<title>Banri: Created page with &quot;/** &lt;nowiki&gt;  * Replaces FANDOM&#039;s template preloads with a customisable dropdown list.  * Appends dropdown list to Monobook&#039;s edit summary area.  * Also adds an input for a cu...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.geministation.com/index.php?title=MediaWiki:Gadget-Preload.js&amp;diff=6810&amp;oldid=prev"/>
		<updated>2020-08-14T14:26:33Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;/** &amp;lt;nowiki&amp;gt;  * Replaces FANDOM&amp;#039;s template preloads with a customisable dropdown list.  * Appends dropdown list to Monobook&amp;#039;s edit summary area.  * Also adds an input for a cu...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/** &amp;lt;nowiki&amp;gt;&lt;br /&gt;
 * Replaces FANDOM&amp;#039;s template preloads with a customisable dropdown list.&lt;br /&gt;
 * Appends dropdown list to Monobook&amp;#039;s edit summary area.&lt;br /&gt;
 * Also adds an input for a custom template preload.&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
( function ( $, mw ) {&lt;br /&gt;
&lt;br /&gt;
    &amp;#039;use strict&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
    var conf = mw.config.get( [&lt;br /&gt;
            &amp;#039;wgAction&amp;#039;,&lt;br /&gt;
        ] ),&lt;br /&gt;
&lt;br /&gt;
        self = {&lt;br /&gt;
&lt;br /&gt;
        /**&lt;br /&gt;
         * Generic load function&lt;br /&gt;
         */&lt;br /&gt;
        init: function () {&lt;br /&gt;
            if ( $ ( &amp;#039;#temp-preload&amp;#039; ).length ) {&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
            if ( [&amp;#039;edit&amp;#039;, &amp;#039;submit&amp;#039;].indexOf( conf.wgAction ) &amp;gt; -1 ) {&lt;br /&gt;
                self.loadPreloads();&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
        },&lt;br /&gt;
&lt;br /&gt;
        /**&lt;br /&gt;
         * Gets list of preload templates from Template:Stdpreloads&lt;br /&gt;
         */&lt;br /&gt;
        loadPreloads: function () {&lt;br /&gt;
&lt;br /&gt;
            $.get( mw.util.wikiScript(), { title: &amp;#039;Template:Stdpreloads&amp;#039;, action: &amp;#039;raw&amp;#039;, ctype: &amp;#039;text/plain&amp;#039; }, function ( data ) {&lt;br /&gt;
&lt;br /&gt;
                var templates = data.split( &amp;#039;\n&amp;#039; ),&lt;br /&gt;
                    i,&lt;br /&gt;
                    value,&lt;br /&gt;
                    options = &amp;#039;&amp;lt;option value=&amp;quot;(browse)&amp;quot;&amp;gt;(Browse template preloads)&amp;lt;/option&amp;gt;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
                for ( i = 1; i &amp;lt; templates.length; i += 1 ) {&lt;br /&gt;
&lt;br /&gt;
                    switch ( 0 ) {&lt;br /&gt;
                    case templates[i].indexOf( &amp;#039;--&amp;#039; ):&lt;br /&gt;
                        value = templates[i].substring( 2 )&lt;br /&gt;
                                            .trim();&lt;br /&gt;
                        options += mw.html.element(&amp;#039;option&amp;#039;, { value: &amp;#039;Template:&amp;#039; + value.replace( / /g, &amp;#039;_&amp;#039; ) + &amp;#039;/preload&amp;#039; }, &amp;#039;  &amp;#039; + value);&lt;br /&gt;
                        break;&lt;br /&gt;
                    // ignore lines starting with // so we can use comments&lt;br /&gt;
                    case templates[i].indexOf( &amp;#039;//&amp;#039; ):&lt;br /&gt;
                    // ignore empty lines&lt;br /&gt;
                    case templates[i].length:&lt;br /&gt;
                        break;&lt;br /&gt;
                    default:&lt;br /&gt;
                        value = templates[i].trim();&lt;br /&gt;
                        options += mw.html.element(&amp;#039;option&amp;#039;, { value: &amp;#039;&amp;#039;, disabled: true }, value);&lt;br /&gt;
                        break;&lt;br /&gt;
                    }&lt;br /&gt;
&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                self.insertModule( options );&lt;br /&gt;
&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
        },&lt;br /&gt;
&lt;br /&gt;
        /**&lt;br /&gt;
         * Inserts the template module&lt;br /&gt;
         *&lt;br /&gt;
         * @param list - html string of option tags to be appended to dropdown&lt;br /&gt;
         */&lt;br /&gt;
        insertModule: function ( list ) {&lt;br /&gt;
&lt;br /&gt;
            var module = $( &amp;#039;&amp;lt;div&amp;gt;&amp;#039; )&lt;br /&gt;
                .attr( {&lt;br /&gt;
                    id: &amp;#039;temp-preload&amp;#039;&lt;br /&gt;
                } )&lt;br /&gt;
                .append(&lt;br /&gt;
                    $( &amp;#039;&amp;lt;div&amp;gt;&amp;#039; )&lt;br /&gt;
                    .attr( {&lt;br /&gt;
                        id: &amp;#039;std-preload&amp;#039;&lt;br /&gt;
                    } )&lt;br /&gt;
                    .append(&lt;br /&gt;
                        &amp;#039;Standard preloads:&amp;#039;,&lt;br /&gt;
                        $( &amp;#039;&amp;lt;select&amp;gt;&amp;#039; )&lt;br /&gt;
                        .attr( {&lt;br /&gt;
                            id: &amp;#039;std-preload-list&amp;#039;&lt;br /&gt;
                        } )&lt;br /&gt;
                       .html( list )&lt;br /&gt;
                       .change( function () {&lt;br /&gt;
                            var page = $( this ).val();&lt;br /&gt;
&lt;br /&gt;
                            if ( page === &amp;#039;(browse)&amp;#039; ) {&lt;br /&gt;
                                return;&lt;br /&gt;
                            }&lt;br /&gt;
&lt;br /&gt;
                            self.insertPreload( page );&lt;br /&gt;
                        } )&lt;br /&gt;
                    ),&lt;br /&gt;
                    $( &amp;#039;&amp;lt;div&amp;gt;&amp;#039; )&lt;br /&gt;
                    .attr( {&lt;br /&gt;
                        id: &amp;#039;cust-preload&amp;#039;&lt;br /&gt;
                    } )&lt;br /&gt;
                    .append(&lt;br /&gt;
                        &amp;#039;Custom preload pagename:&amp;#039;,&lt;br /&gt;
                        $( &amp;#039;&amp;lt;input&amp;gt;&amp;#039; )&lt;br /&gt;
                        .attr( {&lt;br /&gt;
                            id: &amp;#039;cust-preload-input&amp;#039;,&lt;br /&gt;
                            type: &amp;#039;text&amp;#039;&lt;br /&gt;
                        } ),&lt;br /&gt;
                        $( &amp;#039;&amp;lt;input&amp;gt;&amp;#039; )&lt;br /&gt;
                        .attr( {&lt;br /&gt;
                            type: &amp;#039;button&amp;#039;,&lt;br /&gt;
                            id: &amp;#039;cust-preload-button&amp;#039;,&lt;br /&gt;
                            value: &amp;#039;Insert&amp;#039;&lt;br /&gt;
                        } )&lt;br /&gt;
                        .click( function () {&lt;br /&gt;
&lt;br /&gt;
                            var input = $( &amp;#039;#cust-preload-input&amp;#039; )&lt;br /&gt;
                            .val()&lt;br /&gt;
                            .trim()&lt;br /&gt;
                            .replace( / /g, &amp;#039;_&amp;#039; );&lt;br /&gt;
&lt;br /&gt;
                            self.insertPreload( input );&lt;br /&gt;
&lt;br /&gt;
                        } )&lt;br /&gt;
                    )&lt;br /&gt;
                );&lt;br /&gt;
&lt;br /&gt;
            $( &amp;#039;.mw-editTools&amp;#039; ).prepend( module );&lt;br /&gt;
&lt;br /&gt;
        },&lt;br /&gt;
&lt;br /&gt;
        /**&lt;br /&gt;
         * Loads page and inserts the preload into the edit area&lt;br /&gt;
         *&lt;br /&gt;
         * @param page - page to be loaded&lt;br /&gt;
         * @todo  check this works in ie10&lt;br /&gt;
         */&lt;br /&gt;
        insertPreload: function ( page ) {&lt;br /&gt;
            $.get( mw.util.wikiScript(), { title: page, action: &amp;#039;raw&amp;#039;, ctype: &amp;#039;text/plain&amp;#039; }, function ( data ) {&lt;br /&gt;
&lt;br /&gt;
                /**&lt;br /&gt;
                 * Insert at cursor position modified from&lt;br /&gt;
                 * &amp;lt;http://stackoverflow.com/a/11077016/1942596&amp;gt;&lt;br /&gt;
                 */&lt;br /&gt;
                var textarea = document.getElementById( &amp;#039;wpTextbox1&amp;#039; ),&lt;br /&gt;
                    sel,&lt;br /&gt;
                    startPos,&lt;br /&gt;
                    endPos;&lt;br /&gt;
&lt;br /&gt;
                // IE support&lt;br /&gt;
                if ( document.selection ) {&lt;br /&gt;
                    textarea.focus();&lt;br /&gt;
                    sel = document.selection.createRange();&lt;br /&gt;
                    sel.text = data;&lt;br /&gt;
&lt;br /&gt;
                // MOZILLA/NETSCAPE support&lt;br /&gt;
                } else if ( textarea.selectionStart || textarea.selectionStart === &amp;#039;0&amp;#039; ) {&lt;br /&gt;
                    startPos = textarea.selectionStart;&lt;br /&gt;
                    endPos = textarea.selectionEnd;&lt;br /&gt;
                    textarea.value = textarea.value.substring( 0, startPos ) +&lt;br /&gt;
                                     data +&lt;br /&gt;
                                     textarea.value.substring( endPos, textarea.value.length );&lt;br /&gt;
&lt;br /&gt;
                // default to appending to textarea&lt;br /&gt;
                } else {&lt;br /&gt;
                    textarea.value += data;&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
            });&lt;br /&gt;
&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
    $( self.init );&lt;br /&gt;
&lt;br /&gt;
}( jQuery, mediaWiki ) );&lt;/div&gt;</summary>
		<author><name>Banri</name></author>
	</entry>
</feed>