Utilisateur:Dr Brains/LiveRC/ManageVarsExtension.js

Une page de Wikipédia, l'encyclopédie libre.
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