User:PerfektesChaos/js/clickDivertimento/r.js: Difference between revisions

Content deleted Content added
1.3
1.4
Line 1:
/// User:PerfektesChaos/js/clickDivertimento/r.js
/// 20152016-1004-03 PerfektesChaos@de.wikipedia
/// Fingerprint:#0#997305C26EFD9A61#
/// @license GPL [//www.mediawiki.org/w/COPYING](+GFDL,LGPL,CC-BY-SA)
///<nowiki>
(function(mw,$){
"use strict";
var vsnVsn=1.34,CDV="clickDivertimento",Config={},Prego={};
if(typeof mw.libs[CDV]!=="object"||!mw.libs[CDV]){
mw.libs[CDV]={};}
Line 12:
CDV=mw.libs[CDV];
if(typeof CDV.vsn!=="number"){
CDV.vsn=vsnVsn;
CDV.signature="ext.gadget."+CDV.type;
CDV.support="User:PerfektesChaos/js/"+CDV.type;
Line 27:
"^^mode2":{"en":"All in the same different window","de":"Alle im selben Zweitfenster"}
};}
Config.features=function(){
var pars=[["large","boolean"],["leave","boolean"],["mode","number"]],n=pars.length,i,s,v,vals;
for(i=0;i<n;i++){
v=pars[i];
s=v[0];
if(typeof CDV[s]===v[1]){
this[s]=CDV[s];
}else{
this[s]=false;}}
Prego.lib=mw.libs[Prego.supply];
if(typeof Prego.lib==="object"&&Prego.lib&&typeof Prego.lib.fetch==="function"){
vals=Prego.lib.fetch(CDV.type);
if(vals&&typeof vals==="object"){
for(i=0;i<n;i++){
v=pars[i];
s=v[0];
if(typeof vals[s]===v[1]){
this[s]=vals[s];}}}
}else{
Prego.lib=false;}
if(typeof CDV.targets==="object"&&CDV.targets&&this.mode){
this.targets={};
for(s in CDV.targets){
v=CDV.targets[s];
if(v){
switch(typeof v){
case "string":
v=[v];
break;
case "object":
if(typeof v.length!=="number"){
if(typeof v.ignoreCase==="boolean"){
v=[v];
}else{
v=false;}}
break;
default:
v=false;}
if(v){
this.targets[s]=v;}}}}
};
Prego.fire=function(){
var signature;
this.supply="preferencesGadgetOptions";
signature="ext.gadget."+this.supply;
if(!mw.loader.getState(signature)){
mw.loader.state(signature,"loading");
mw.loader.load("https://en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/"+this.supply+"/r.js&action=raw&bcache=1&maxage=604809&ctype=text/javascript","text/javascript");}
};
Prego.firing=function(){
mw.hook(Prego.supply+".ready").add(fire);
};
Prego.form=function(){
var pages={},poly=[],txt=Config.texts,dialog,i,s;
for(i=0;i<Config.pages.length;i++){
s=Config.pages[i];
pages[s]="//"+s+".wikipedia.org/wiki/"+CDV.support;}
for(i=0;i<3;i++){
poly.push({val:i,show:txt["^^mode"+i]});}
dialog={script:CDV.type,show:txt["^show"],support:pages,suffix:txt["^suffix"],opts:[{signature:"large",type:"checkbox",show:txt["^^large"],val:Config.large
},{signature:"leave",type:"checkbox",show:txt["^^leave"],val:Config.leave
},{signature:"mode",type:"radio",show:txt["^^mode"],val:Config.mode,poly:poly}]};
Prego.lib.form(dialog);
};
function fiat(){
var $hype=$(this),src=$hype.attr("href"),k=src.charCodeAt(0),cond,conds,i,shift;
Line 130 ⟶ 66:
if(shift){
$hype.attr("target",shift);}}}
function formfit(){
$(this).attr("target",Config.shift);}
function flyout(){
var suggestion="a.mw-searchSuggest-link",observer,$div;
if(typeof MutationObserver==="function"){
$div=$(".suggestions-results");
if($div.length){
observer=new MutationObserver(function(mutations){
mutations.forEach(function(){
$(suggestion).each(fit);
});
});
observer.observe($div.get(0),{childList:true});}}}
function furnish($area){
var scope,$hypes;
Line 167 ⟶ 114:
if(Config.kind===2&&Config.start==="history"){
scope=scope+", #mw-history-compare";}
$(scope).each(formfit);}}
mw.loader.using(["mediawiki.searchSuggest"],flyout);}}
function fire(){
Config.features=function(){
var pars=[["large","boolean"],["leave","boolean"],["mode","number"]],n=pars.length,i,s,v,vals;
for(i=0;i<n;i++){
v=pars[i];
s=v[0];
if(typeof CDV[s]===v[1]){
this[s]=CDV[s];
}else{
this[s]=false;}}
Prego.lib=mw.libs[Prego.supply];
if(typeof Prego.lib==="object"&&Prego.lib&&typeof Prego.lib.fetch==="function"){
vals=Prego.lib.fetch(CDV.type);
if(vals&&typeof vals==="object"){
for(i=0;i<n;i++){
v=pars[i];
s=v[0];
if(typeof vals[s]===v[1]){
this[s]=vals[s];}}}
}else{
Prego.lib=false;}
if(typeof CDV.targets==="object"&&CDV.targets&&this.mode){
this.targets={};
for(s in CDV.targets){
v=CDV.targets[s];
if(v){
switch(typeof v){
case "string":
v=[v];
break;
case "object":
if(typeof v.length!=="number"){
if(typeof v.ignoreCase==="boolean"){
v=[v];
}else{
v=false;}}
break;
default:
v=false;}
if(v){
this.targets[s]=v;}}}}
};
Config.fire=function(){
var i;
Config.features();
Line 215 ⟶ 204:
default:
Config.shift="_blank";}
mw.hook("wikipage.content").add(furnish);}}}
};
Prego.fire=function(){
var signature;
this.supply="preferencesGadgetOptions";
signature="ext.gadget."+this.supply;
if(!mw.loader.getState(signature)){
mw.loader.state(signature,"loading");
mw.loader.load("https://en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/"+this.supply+"/r.js&action=raw&bcache=1&maxage=604809&ctype=text/javascript","text/javascript");}
};
Prego.firing=function(){
mw.hook(Prego.supply+".ready").add(Config.fire);
};
Prego.form=function(){
var pages={},poly=[],txt=Config.texts,dialog,i,s;
for(i=0;i<Config.pages.length;i++){
s=Config.pages[i];
pages[s]="//"+s+".wikipedia.org/wiki/"+CDV.support;}
for(i=0;i<3;i++){
poly.push({val:i,show:txt["^^mode"+i]});}
dialog={script:CDV.type,show:txt["^show"],support:pages,suffix:txt["^suffix"],opts:[{signature:"large",type:"checkbox",show:txt["^^large"],val:Config.large
},{signature:"leave",type:"checkbox",show:txt["^^leave"],val:Config.leave
},{signature:"mode",type:"radio",show:txt["^^mode"],val:Config.mode,poly:poly}]};
Prego.lib.form(dialog);
};
CDV.fire=function(){
var env=mw.config.get(["wgAction","wgCanonicalSpecialPageName","wgNamespaceNumber"]),launch=true;