MediaWiki:Gadget-wikEd.js

Us der alemannische Wikipedia, der freie Dialäkt-Enzyklopedy

Hywys: Nôch dyner Änderig muess no der Browser-Cache gleert wärde!
Mozilla/Safari/Konqueror: Strg-Umschalttaste-R (oder Umschalttaste drückt halte und uf’s Neu-Laden-Symbol klicke), IE: Strg-F5, Opera/Firefox: F5

/// MediaWiki:Gadget-wikEd.js   2018-08-24
/* global window: false                                                */
/* jshint bitwise:true, curly:true, eqeqeq:true, latedef:true,
          laxbreak:true,
          nocomma:true, strict:true, undef:true, unused:true           */



( function ( mw ) {
   "use strict";
   var signature = "ext.gadget.wikEd",
       rls;

   function fire() {
      var env = mw.config.get( [ "wgAction",
                                 "wgCanonicalSpecialPageName",
                                 "wgPageContentModel" ] ),
      source;
      switch ( env.wgAction ) {
         case "edit":
         case "submit":
         case "parsermigration-edit":
            if ( env.wgPageContentModel === "wikitext" ) {
               source = "wikEd";
            }
            break;
         case "view":
            if ( mw.util.getParamValue( "diff" ) ) {
               source = "wikEdDiff";
            } else {
               switch ( env.wgCanonicalSpecialPageName ) {
                  case "ComparePages":
                  case "Undelete":
                     source = "wikEdDiff";
                     break;
                  case "EditWatchlist":
                  case "Upload":
                     source = "wikEd";
                     break;
               }   // switch wgCanonicalSpecialPageName
            }
            if ( source === "wikEdDiff" ) {
               switch ( typeof mw.libs.wikEdDiff ) {
                  case "object":
                  case "boolean":
                     if ( ! mw.libs.wikEdDiff ) {
                        source = false;
                     }
                     break;
               }   // switch mw.libs.wikEdDiff
            }
            break;
      }   // switch wgAction
      if ( source ) {
         if ( typeof window.wikEd !== "object" ) {
            window.wikEd = { };
         }
         mw.loader.load( "https://en.wikipedia.org"
                         + "/w/index.php?title="
                         + "User:Cacycle/" + source + ".js"
                         + "&bcache=1&maxage=259200"   // 3 d
                         + "&action=raw&ctype=text/javascript" );
      }
   }   // fire()

   if ( mw.loader.getState( signature ) !== "ready" ) {
      rls = { };
      rls[ signature ] = "ready";
      mw.loader.state( rls );
      mw.loader.using( [ "mediawiki.util",
                         "user" ],
                       fire );
   }
}( window.mediaWiki ) );