Utilisateur:Dr Brains/LiveRC/ManageVarsExtension.js
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./* ************************************************************************************************************************************************
// Extension de LiveRC
// [Pour développeurs] Permet de vérifier rapidement si une description de variable est manquante ou obsolète
{{Catégorisation JS|LiveRC}}
************************************************************************************************************************************************ */
if (typeof(lrcHooks)!="undefined") { // DÉBUT IF
LiveRC_Config["InstalledLiveRCExtensions"].push("ManageVarsExtension");
/* ************************************************************************************************************************************************ */
function LiveRC_ManageVarsExtension_AddButton(){
var ManageVarsForm = '<form id="VerifVarsForm">'
+ '<input type="button" value="Vars" '
+ 'onclick="LiveRC_ManageVarsExtension_ToggleMenu()"/>'
+ '</form>';
AddButtonToControlBar(ManageVarsForm, true);
}
LiveRC_AddHook("AfterOptions", LiveRC_ManageVarsExtension_AddButton);
function LiveRC_ManageVarsExtension_ToggleMenu(){
var Target = document.getElementById("OutFixedBottomPanel");
if(!Target) return;
var OldMenu = document.getElementById("ManageVarsExtension_Menu");
if(OldMenu){
OldMenu.parentNode.removeChild(OldMenu);
Target.style.display = "";
return;
}
LiveRC_ManageParams_GlobalFill();
var VerifiedVars = LiveRC_ManageVarsExtension_CheckVars();
var Menu = document.createElement('div');
Menu.id = "ManageVarsExtension_Menu";
Menu.setAttribute("style", "width:100%;left:0;bottom:0;z-index:15000;");
var MenuAnchor = document.createElement('div');
MenuAnchor.id = "ManageVarsExtension_MenuAnchor";
MenuAnchor.innerHTML = "Vars";
Menu.appendChild(MenuAnchor);
var MenuContent = document.createElement('div');
MenuContent.id = "ManageVarsExtension_MenuContent";
$(MenuContent).addClass("LiveRC_MenuContent");
MenuContent.setAttribute("style", "height:200px;overflow-y:auto;");
var Table = document.createElement('table');
Table.style.width = "100%";
var TR = document.createElement('tr');
Table.appendChild(TR);
var TDMissing = document.createElement('td');
TDMissing.style.width = "50%";
TDMissing.setAttribute("valign", "top");
var PMissing = document.createElement('p');
PMissing.innerHTML = "Description manquante";
var UlMissing = document.createElement('ul');
var Missings = VerifiedVars.Missing;
for(var a=0,l=Missings.length;a<l;a++){
var Li = document.createElement('li');
Li.innerHTML = Missings[a];
UlMissing.appendChild(Li);
}
TDMissing.appendChild(PMissing);
TDMissing.appendChild(UlMissing);
TR.appendChild(TDMissing);
var TDObsolete = document.createElement('td');
TDObsolete.style.width = "50%";
TDObsolete.setAttribute("valign", "top");
var PObsolete = document.createElement('p');
PObsolete.innerHTML = "Description obsolète";
var UlObsolete = document.createElement('ul');
var Obsoletes = VerifiedVars.Obsolete;
for(var a=0,l=Obsoletes.length;a<l;a++){
var Li = document.createElement('li');
Li.innerHTML = Obsoletes[a] + " ("+lrcMakeParamDescription(Obsoletes[a])+")";
UlObsolete.appendChild(Li);
}
TDObsolete.appendChild(PObsolete);
TDObsolete.appendChild(UlObsolete);
TR.appendChild(TDObsolete);
MenuContent.appendChild(Table);
Menu.appendChild(MenuContent);
Target.appendChild(Menu);
LiveRC_SetVerticalResizeZone(MenuAnchor, new Array(MenuContent), Menu);
Target.style.display = "block";
lrcInitTableHeight();
}
function LiveRC_ManageVarsExtension_CheckVars(){
var VerifiedVars = new Object();
VerifiedVars.Missing = new Array();
VerifiedVars.Obsolete = new Array();
var Allvars = new Array(lrcParams, lrcOptionMenuValues, lrcIcons, lrcTranslatedTexts, UnTranslatedTexts, lstParamMenuTabs);
if(typeof(lrcHotCatsVariables)!="undefined") Allvars.push(lrcHotCatsVariables);
if(typeof(lrcBandeauPortailVariables)!="undefined") Allvars.push(lrcBandeauPortailVariables);
if(typeof(lrcUserWarningsMessages)!="undefined") Allvars.push(lrcUserWarningsMessages);
if(typeof(LinkOnIconParams)!="undefined") Allvars.push(LinkOnIconParams);
var DescVar = lrcTranslatedParamDesc;
for(var a=0,l=Allvars.length;a<l;a++){
var ThisArray = Allvars[a];
for(var item in ThisArray){
if( typeof(parseInt(item))!="number" && !DescVar[("Desc"+item)]) VerifiedVars.Missing.push(item);
}
}
for(var item in DescVar){
var found = false;
for(var a=0,l=Allvars.length;a<l;a++){
var ThisArray = Allvars[a];
for(var Arrayitem in ThisArray){
if(("Desc"+Arrayitem) == item || ("Desc"+Arrayitem+"_short") == item) found = true;
}
}
if(!found) VerifiedVars.Obsolete.push(item);
}
return VerifiedVars;
}
/* ************************************************************************************************************************************************ */
} // FIN IF