Content deleted Content added
3.5 |
3.6 |
||
Line 1:
/// User:PerfektesChaos/js/lintHint/r.js
/// 2018-
/// Fingerprint:#0#
/// @license GPL [//www.mediawiki.org/w/COPYING](+GFDL,LGPL,CC-BY-SA)
///<nowiki>
(function(mw,$){
"use strict";
var Version=3.
"proofread-index":true,
using:["mediawiki.api","mediawiki.storage","mediawiki.util","user.options"],$body:false,$page:false,$textarea:false},API={Api:false,errors:false,scream:false,server:"api/rest_v1/",scanner:"transform/wikitext/to/lint",swift:"page/lint"},BOX={bgc:"FFFF00",bgcErr:"FFE4E1",bgcOk:"ADFF2F",bgcRun:"C0C0C0",boc:"808080",fgc:"000000",fgcRun:"A0A0A0",swift:false,$box:false,$collapsed:false,$failure:false,$null:false,$other:false,$pagename:false,$swift:false,$tbody:false,$table:false,$top:false},CODMIRROR={cm:false},EDIT={listen:false,live:false,source:false,$source:false},GUIDER={last:false,live:false,reTrim:false,using:["jquery.textSelection","mediawiki.ui.button","mediawiki.ui.input"],$pagename:false},LINTER={live:false},PREGO={app:false,live:false,maxage:604813,pars:[["last","boolean"],["later","boolean"],["launch","boolean"],["layer","boolean"],["lazy","boolean"],["spaces","string"]],signature:"preferencesGadgetOptions",site:"w:en",store:"User:PerfektesChaos/js/",sub:"/r.js"},REPOS={},TMPLXPAND={live:false},UPDATE={},WIKED={};
HINT.texts={
"desc":{"en":"Show LintErrors analysis live.",
"de":"Zeige LintErrors-Analyse live.", "it":"Mostra analisi degli errori di Lint in diretta."},
"___domain":{"en":"en.wikipedia.org", "de":"de.wikipedia.org"},
"howTo":{"en":"Fill balanced wikitext into first input area and press adjacent submit button, or enter page name into second input field (might be followed by revision ID).", "de":"Füge ausgeglichenen Wikitext in das obere Eingabefeld ein, oder einen Seitennamen in das untere (ggf. gefolgt von einer Versionsnummer), und betätige die jeweilige Schaltfläche.",
"it":"Inserisci il wikitesto nella prima area di input e premi il tasto di invio adiacente, oppure scrivi il titolo della pagina nel secondo campo (potrebbe essere seguito dall’ID della revisione)."}, "mark":{"en":"select problem in source text",
"de":"Problem im Quelltext selektieren", "it":"Seleziona un problema nel testo sorgente"},
"noPage":{"en":"Wikitext page not found", "de":"Wikitext-Seite nicht gefunden",
"it":"Pagina di wikitesto non trovata"}, "other":{"en":"Future problems detected.",
"de":"Zukünftige Probleme detektiert.", "it":"Futuri problemi individuati."},
"^suffix":{"en":"– linter error analysis support", "de":"– Unterstützung der Analyse von Linter-Fehlern",
"it":"– Supporto per l’analisi degli errori di Lint"}, "^^last":{"en":"Analyze previous revisions, too.",
"de":"Analysiere auch frühere Seitenversionen.", "it":"Analizza anche le revisioni precedenti."},
"^^launch":{"en":"Run analysis automatically in namespaces on visit rather than manually triggered by button.", "de":"Löse die Analyse automatisch beim Seitenbesuch in den Namensräumen aus, statt sie manuell über den angebotenen Knopf zu starten.",
"it":"Esegui automaticamente l’analisi nei namespace all’accesso, piuttosto che avviandola manualmente tramite bottone."}, "^^layer":{"en":"Convert all source edit links on LintErrors special page into ParserMigration tool edit.",
"de":"Wandle auf der LintErrors-Spezialseite alle Verlinkungen zur Quelltextbearbeitung in das Migrationswerkzeug um.", "it":"Converti tutti i link di modifica sorgente presenti sulla pagina speciale Errori di Lint nello strumento di modifica ParserMigration."},
"^^lazy":{"en":"Suppress small label if no error detected.", "de":"Unterdrücke das kleine grüne Feld, falls bei einer Seitendarstellung kein Problem gefunden wurde.",
"it":"Nascondi l’etichetta in assenza di errori rilevati."}, "^^spaces":{"en":"Space separated list of namespace numbers, for automatized analysis or - for none or * for all",
"de":"Namensraum-Nummern für automatische Analyse, durch Leerzeichen getrennt, oder - für keine oder * für alle", "it":"Lista di namespace, in formato numerico separati da spazi, dove effettuare l’analisi. Usare - per la lista vuota e * per indicarli tutti."}
};
Line 272 ⟶ 290:
$a=$("<a>");
$a.attr({href:"/wiki/Special:Blankpage/"+Signature,target:Signature});}
$a.css({"font-weight":"bold",
"font-size":"larger"}).text(Signature+"@PerfektesChaos");
$e.append($a).css({"float":(HINT.ltr?"left":"right")});
BOX.$box.append($e).attr({id:Signature}).css({"background-color":"#"+BOX.bgc,
"border-color":"#"+BOX.boc, "border-style":"solid",
"border-width":"1px", "color":"#"+BOX.fgc,
"margin-bottom":"1em", "padding":"0.5em"});
$e=$("<button>");
$e.click(BOX.flip).css({"color":"#FF0000",
"float":(HINT.ltr?"right":"left"), "font-weight":"bolder"}).css("margin-"+(HINT.ltr?"right":"left"),"6px").text("X");
BOX.$box.append($e);
Line 297 ⟶ 319:
if(!BOX.$failure){
BOX.$failure=$("<div>");
BOX.$failure.css({"clear":"both",
"color":"#FF0000", "font-weight":"bold"});
BOX.$box.append(BOX.$failure);}
Line 332 ⟶ 355:
if(HINT.nsn<0){
BOX.$pagename=$("<caption>");
BOX.$pagename.css({"font-weight":"normal",
"white-space":"nowrap"}); BOX.$table.append(BOX.$pagename);}
$tr=$("<tr>");
Line 395 ⟶ 419:
$e.text(par.root);
$e2=$("<span>");
$e2.css({"padding-left":"1em",
"padding-right":"1em"}).html(">"); $e3=$("<code>");
$e3.text(par.child);
Line 403 ⟶ 427:
for(k=0;k<par.items.length;k++){
$e=$("<code>");
$e.css({"margin-right":"6px",
"white-space":"nowrap"}).text(par.items[k]); $td.append($e);}}}
$tr.append($td);
Line 466 ⟶ 490:
BOX.$null=$("<div>");
BOX.$null.attr({id:Signature+"-null"}).css({"background-color":"#"+BOX.bgcOk,
"clear":"both",
"color":"#"+BOX.fgc, "float":(HINT.ltr?"right":"left"),
"font-size":"smaller", "padding":"3px"}).text(Signature);
if(!GUIDER.live){
Line 485 ⟶ 511:
BOX.$collapsed=$("<button>");
BOX.$collapsed.attr({id:Signature+"-collapsed"}).click(BOX.full).css({"clear":(HINT.ltr?"right":"left"),
"float":(HINT.ltr?"right":"left"),
"margin-bottom":"3px", "padding":"2px"}).text(Signature);
if(!GUIDER.live){
BOX.$collapsed.attr({title:Version});}
BOX.focus(BOX.$collapsed);}
BOX.$collapsed.css({"background-color":"#"+BOX.bgc,
"color":"#"+BOX.fgc}); if(EDIT.live&&!API.errors){
EDIT.fine();}
Line 519 ⟶ 547:
BOX.$box.hide();}}
if(!API.errors){
BOX.$collapsed.attr({disabled:true}).css({"background-color":"#"+BOX.bgcRun,
"color":"#"+BOX.fgcRun});} if(!API.single&&!GUIDER.live){
API.single=mw.config.get("wgPageName");}
Line 536 ⟶ 565:
if(PREGO.app){
$e=$("<span>");
$e.css({"border-color":"#"+BOX.boc,
"border-style":"solid", "border-width":"1px",
"padding":"0.4em"}).html(PREGO.app.translation(HINT.texts.other));
BOX.$other=$("<div>");
BOX.$other.attr({id:Signature+"-future"}).css({"clear":"both",
"padding-bottom":"1em",
"padding-top":"1em"}).append($e); BOX.$box.append(BOX.$other);}
};
Line 637 ⟶ 667:
GUIDER.facet=function($activate){
if($activate){
$activate.css({"float":(HINT.ltr?"right":"left"),
"margin-top":"1em"}); GUIDER.$desc.before($activate);}
};
Line 664 ⟶ 695:
PREGO.app=application;
GUIDER.$desc.html(PREGO.app.translation(HINT.texts.desc));
$e.css({"clear":"both",
"margin-top":"8em"}).html(PREGO.app.translation(HINT.texts.howTo));
HINT.$page.append($e);
$e=$("<a>");
Line 717 ⟶ 748:
GUIDER.form=function(){
var submit=mw.message("go").text(),$b=$("<span>"),$div=$("<div>"),$x=$("<span>");
$x.css({"color":"#FF0000",
"font-weight":"bolder"}).text("X"); $b.addClass("mw-ui-button mw-ui-progressive").click(GUIDER.fire).css({"color":"#FFFFFF"})
.text(submit);
Line 778 ⟶ 809:
GUIDER.$textarea=$("<textarea>");
GUIDER.$textarea.addClass("mw-ui-input").attr({name:"wikitext"})
.css({"margin-top":"2em",
"max-width":"100%", "width":"100%"});
GUIDER.$formText.append(GUIDER.$textarea);
GUIDER.$formPage=$("<form>");
GUIDER.$formPage.css({"clear":"both",
"margin-top":"3em"}); GUIDER.$input=$("<input>");
GUIDER.$input.addClass("mw-ui-input").attr({maxlength:255,name:"pagename",size:50,type:"text"}).css({"float":(HINT.ltr?"left":"right"),
"width":"auto",
"max-width":"auto"}).keyup(GUIDER.filled).mouseup(GUIDER.filled);
GUIDER.$formPage.append(GUIDER.$input);
GUIDER.$rev=$("<input>");
GUIDER.$rev.addClass("mw-ui-input").attr({disabled:true,inputmode:"numeric",maxlength:12,name:"revision",placeholder:"oldid",size:8,type:"text"}).css({"display":"inline-block",
"margin-left":"1.5em",
"margin-right":"1.5em", "width":"auto",
"max-width":"auto"}).keyup(GUIDER.figure).mouseup(GUIDER.figure);
GUIDER.$formPage.append(GUIDER.$rev);
HINT.$page.append(GUIDER.$formText,GUIDER.$formPage);
GUIDER.$pagename=$("<div>");
GUIDER.$pagename.attr({id:Signature+"-pagename"}).css({"background-color":"#"+BOX.bgcOk,
"float":(HINT.ltr?"left":"right"),
"margin-bottom":"1em", "padding":"4px"}).hide();
HINT.$page.prepend(GUIDER.$pagename);
Line 837 ⟶ 872:
};
PREGO.feed=function(){
var
if(!mw.loader.getState(
rls={};
mw.loader.state(s,"loading");▼
rls[sign]="loading";
REPOS.fire(PREGO.site,PREGO.store+PREGO.signature+PREGO.sub,false,{action:"raw",ctype:"text/javascript",bcache:1,maxage:PREGO.maxage});}
};
Line 879 ⟶ 916:
PREGO.form=function(){
var support=".wikipedia.org/wiki/"+HINT.doc.substr(3),docs={"en":"//en"+support,
"de":"//de"+support},
dialog,opts; opts=[{signature:"spaces",type:"text",show:HINT.texts["^^spaces"],val:(HINT.spaces?HINT.spaces:""),field:PREGO.field},{signature:"launch",type:"checkbox",show:HINT.texts["^^launch"],val:HINT.launch},{signature:"last",type:"checkbox",show:HINT.texts["^^last"],val:HINT.last},{signature:"lazy",type:"checkbox",show:HINT.texts["^^lazy"],val:HINT.lazy},{signature:"layer",type:"checkbox",show:HINT.texts["^^layer"],val:HINT.layer}];
dialog={script:Signature,support:docs,suffix:HINT.texts["^suffix"],opts:opts};
|