User:PerfektesChaos/js/refNames/prego/d.js

/// User:PerfektesChaos/js/refNames/prego/d.js /// 2022-07-28 PerfektesChaos@de.wikipedia //  preferencesGadgetOptions // ResourceLoader:  compatible; //   dependencies: user.options, //                 mediawiki.API, mediawiki.storage, mediawiki.util /// Fingerprint: #0#0# /// License: CC-by-sa/4.0 // Documentation:  w:en:User:PerfektesChaos/js/refNames /// /* global window: false                                               */ /* jshint forin: false, bitwise:true, curly:true, eqeqeq:true, latedef:true, laxbreak:true, nocomma:true, strict:true, undef:true, unused:true          */

( function ( mw ) {  "use strict";   var Version   = -1.0,       Signature = "refNames",       THIS      = { doc:  false,                     opts: { },                     sub:  "prego" };

THIS.texts = { // 2022-07-28 PerfektesChaos@de.wikipedia "^show":    {"en": Signature}, "^suffix":  {"en": "&#8211; &lt;ref name=&quot;&quot;&gt;" + " Show and change ref identifiers", "de": "&#8211; &lt;ref name=&quot;&quot;&gt;" + " Anzeige und Änderung von ref-Bezeichnern"}, "^^spaces": {"en": "Space separated list of namespace numbers," + " or star '*' for all", "de": "Namensraum-Nummern," + " durch Leerzeichen getrennt, oder" + " Stern '*' für alle"}, "^^strange": {"en": "Regular expression" + " for undesired name patterns", "de": "Regulärer Ausdruck" + " für unerwünschte Muster von name="}, "^^shoot":  {"en": "Namespace numbers to launch at preview" + " (space separated)", "de": "Namensraum-Nummern" + " zur Auslösung in der Seitenvorschau" + " (durch Leerzeichen getrennt)"} };  // .texts

function fiat { // Equip Special:Blankpage page with entry and form // Uses: //   >  THIS.pars //   >  THIS.texts //   >  THIS.opts //   >  Signature //   >  THIS.doc //   >  THIS.prego.fn      //    favourite //   mw.libs.preferencesGadgetOptions.form // 2022-07-01 PerfektesChaos@de.wikipedia var opts = [ ], dialog, i, s;     for ( i = 0;  i < THIS.pars.length;  i++ ) { s = THIS.pars[ i ][ 0 ]; opts.push( { signature: s,                     type:      "text",                      show:      THIS.texts[ "^^" + s ],                      val:       THIS.opts[ s ] } ); }  // for i      dialog = { script:  Signature, show:   THIS.texts[ "^show" ], suffix: THIS.texts[ "^suffix" ], opts:   opts }; if ( THIS.doc ) { dialog.support = THIS.doc.server + "Special:MyLanguage/" + THIS.doc.support; }     if ( typeof THIS.prego.fn.form  ===  "function" ) { THIS.prego.fn.form( dialog ); }  }   // fiat

function fired( above ) { // Initialize on scout request // Precondition: //   above  -- object, with scout details //   mediawiki.util has been loaded // Uses: //   >  THIS.special //    < THIS.prego.fn      //     < THIS.doc //    < THIS.pars //   fiat // 2022-07-01 PerfektesChaos@de.wikipedia var e, i, s;     if ( typeof above  ===  "object"           &&     above     &&           typeof above.prego  ===  "object"           &&     above.prego     &&           typeof above.prego.signature  ===  "string"     &&           typeof above.prego.pars  ===  "object"           &&     above.prego.pars     &&           typeof above.prego.pars.length  ===  "number" ) { if ( THIS.special.indexOf( "/" + above.prego.signature ) >  0              &&              typeof mw.libs[ above.prego.signature ]  ===  "object"              &&     mw.libs[ above.prego.signature ] ) { THIS.prego = { fn: mw.libs[ above.prego.signature ] }; if ( typeof above.doc ===  "object"                 &&     above.doc     &&                 typeof above.doc.server   ===  "string"     &&                 typeof above.doc.support  ===  "string" ) { THIS.doc = above.doc; }           for ( i = 0;  i < above.prego.pars.length;  i++ ) { e = above.prego.pars[ i ]; if ( typeof e[ 0 ] ===  "string" ) { s = e[ 0 ]; if ( typeof above[ s ] ===  e[ 1 ] ) { THIS.opts[ s ] = above[ s ]; } else if ( e[ 1 ] === "string" ) { THIS.opts[ s ] = ""; }                 THIS.pars = THIS.pars  ||  [ ]; THIS.pars.push( e ); }           }   // for i            if ( THIS.pars ) { fiat; }        }      }   }   // fired

function first { // Autorun on loading // Uses: //   >  Signature //   >  THIS.sub //   >  Version //    < THIS.signature //    < THIS.special //   mw.loader.getState //   mw.loader.state //   mw.config.get //   mw.hook //   (fired) // 2022-07-01 PerfektesChaos@de.wikipedia var env, rls, s;     THIS.signature = "ext.gadget." + Signature + "." + THIS.sub; if ( mw.loader.getState( THIS.signature ) !==  "ready" ) { rls = { }; rls[ THIS.signature ] = "ready"; mw.loader.state( rls ); s  = Signature + "." + THIS.sub; env = mw.config.get( [ "wgCanonicalSpecialPageName",                               "wgTitle" ] ); if ( env.wgCanonicalSpecialPageName === "Blankpage" &&              typeof env.wgTitle  ===  "string" ) { THIS.special = env.wgTitle; mw.hook( s ).add( fired ); }        mw.hook( s + ".ready" ).fire( { type: Signature,                                         sub:  THIS.sub,                                         vsn:  Version } ); }  }   // first

first; }( window.mediaWiki ) );

// Emacs // Local Variables: // coding: utf-8-dos // fill-column: 80 // End:

/// EOF  refNames/prego/d.js