Inscris-toi pour écrire dans l'encyclopédie Wikimini!

MediaWiki:MenuOptions Dev.js

Aller à : navigation, rechercher

Note : après avoir enregistré tes préférences, tu devras forcer son rechargement complet en ignorant le contenu actuel du cache de ton explorateur pour voir les changements : Mozilla / Firefox / Konqueror / Safari : maintiens la touche Majuscule (Shift) en cliquant le bouton Actualiser (Reload,) ou presse Maj-Ctrl-R (Maj-Cmd-R sur Apple Mac) ; Internet Explorer / Opera : maintiens la touche Ctrl en cliquant le bouton Actualiser ou presse Ctrl-F5.

// ============================================================ CADRE D'OPTIONS DANS LA COLONNE DE DROITE

// Styles

importStylesheet('MediaWiki:MenuOptions.css');


// mini-Menu Header

var MiniHeaderContent = {
 "Accueil"     : new Array("Accueil"              , "Rejoindre la page d’accueil" ),
 "Enfants"     : new Array("Wikimini:Enfants"     , "Le coin des enfants"         ),
 "Adultes"     : new Array("Wikimini:Adultes"     , "Le coin des adultes"         ),
 "Enseignants" : new Array("Wikimini:Enseignants" , "Le coin des enseignants"     ),
 "Forum"       : new Array("Spécial:AWCforum"     , "Le forum"                    ),
 "Aide"        : new Array("Aide:Accueil"         , "Sommaire de l’aide"          )
};


var MenuIcons = new Object();
 MenuIcons["BlankImage"] = { src : "/w/skins/wikimini/images/blank-18x18.png", 
                             alt : "",
                             width : "9"
 };
 MenuIcons["ReduireHTML"] = { src : "/w/skins/wikimini/images/hide-header-a.png",
                              hoversrc : "/w/skins/wikimini/images/hide-header-b.png",
                              text : "Réduire l’en-tête",
                              alt : "Cacher l’en-tête",
                              width : "18"
 };
 MenuIcons["DevelopperHTML"] = { src : "/w/skins/wikimini/images/show-header-a.png",
                                 hoversrc : "/w/skins/wikimini/images/show-header-b.png",
                                 text : "Afficher l’en-tête",
                                 alt : "Afficher l’en-tête",
                                 width : "18"
 };
 MenuIcons["LargeurSiteHTML800px"] = { src : "/w/skins/wikimini/images/shrink-a.png",
                                       hoversrc : "/w/skins/wikimini/images/shrink-b.png",
                                       text : "Afficher le site en largeur réduite",
                                       alt : "Largeur réduite",
                                       width : "18"
 };
 MenuIcons["LargeurSiteHTML100"] = { src : "/w/skins/wikimini/images/expand-a.png",
                                     hoversrc : "/w/skins/wikimini/images/expand-b.png",
                                     text : "Afficher le site en pleine largeur",
                                     alt : "Pleine largeur",
                                     width : "18"
 };
 MenuIcons["TaillePoliceTextePlus"] = { src : "/w/skins/wikimini/images/font-plus-a.png",
                                        hoversrc : "/w/skins/wikimini/images/font-plus-b.png",
                                        text : "Augmenter la taille de la police",
                                        alt : "Augmenter police",
                                        width : "18"
 };  
 MenuIcons["TaillePoliceTexteStandard"] = { src : "/w/skins/wikimini/images/font-default-a.png",
                                            hoversrc : "/w/skins/wikimini/images/font-default-b.png",
                                            text : "Rétablir la taille de la police",
                                            alt : "Police standard",
                                            width : "18"
 };
 MenuIcons["TaillePoliceTexteMoins"] = { src : "/w/skins/wikimini/images/font-minus-a.png",
                                         hoversrc : "/w/skins/wikimini/images/font-minus-b.png",
                                         text : "Diminuer la taille de la police",
                                         alt : "Diminuer police",
                                         width : "18"
 };
 MenuIcons["TailleEditTextePlus"] = { src : "/w/skins/wikimini/images/expand-edit-a.png",
                                      hoversrc : "/w/skins/wikimini/images/expand-edit-b.png",
                                      text : "Augmenter la taille de la zone d’édition",
                                      alt : "Zone d’édition plus",
                                      width : "18"
 };
 MenuIcons["TailleEditTexteStandard"] = { src : "/w/skins/wikimini/images/font-default-a.png",
                                          hoversrc : "/w/skins/wikimini/images/font-default-b.png",
                                          text : "Rétablir la taille de la zone d’édition standard",
                                          alt : "Zone d’édition standard",
                                          width : "18"
 };
 MenuIcons["TailleEditTexteMoins"] = { src : "/w/skins/wikimini/images/shrink-edit-a.png",
                                       hoversrc : "/w/skins/wikimini/images/shrink-edit-b.png",
                                       text : "Diminuer la taille de la zone d’édition",
                                       alt : "Zone d’édition moins",
                                       width : "18"
 };
 MenuIcons["ImprimablePage"] = { src : "/w/skins/wikimini/images/printer-a.png",
                                 hoversrc : "/w/skins/wikimini/images/printer-b.png",
                                 text : "Version imprimable de cette page",
                                 alt : "Version imprimable",
                                 width : "18"
 };


var DefaultOptions = new Array();
DefaultOptions["TaillePolice"] = 12;
DefaultOptions["TailleEdit"] = 30;
DefaultOptions["LargeurCol1_Large"] = "75%";
DefaultOptions["LargeurCol1_Reduite"] = "459px";
DefaultOptions["LargeurCol2_Large"] = "25%";
DefaultOptions["LargeurCol2_Reduite"] = "300px";


/////////////////////////////////////////////////////////////////////////////// COOKIE ETAT DU HEADER

var FlashHeaderState = getCookie("FlashHeaderState");

/////////////////////////////////////////////////////////////////////////////// COOKIE LARGEUR DU SITE

var MenuOptions_Largeur = getCookie("MenuOptions_Largeur");

/////////////////////////////////////////////////////////////////////////////// COOKIE TAILLE POLICE

var MenuOptions_TaillePolice = getCookie("MenuOptions_TaillePolice");

/////////////////////////////////////////////////////////////////////////////// COOKIE TAILLE ZONE D'EDITION

var MenuOptions_TailleEdit = getCookie("MenuOptions_TailleEdit");

/////////////////////////////////////////////////////////////////////////////// CREATION MENU D'OPTIONS

function CreateMenuOptions(){
  if(typeof(MenuOptions_SiteCustom)=="function") try{ MenuOptions_SiteCustom(); }catch(e){ };

var MenuLiens = new Array();
MenuLiens.push(CreateIcon("ReduireHTML", "javascript:ToggleHeader();"));
MenuLiens.push(CreateIcon("DevelopperHTML", "javascript:ToggleHeader();"));
MenuLiens.push(CreateIcon("BlankImage"));
MenuLiens.push(CreateIcon("LargeurSiteHTML800px", "javascript:ToggleLargeurSite();"));
MenuLiens.push(CreateIcon("LargeurSiteHTML100", "javascript:ToggleLargeurSite();"));
MenuLiens.push(CreateIcon("BlankImage"));
MenuLiens.push(CreateIcon("TaillePoliceTextePlus", "javascript:ToggleTaillePolice(1);"));
MenuLiens.push(CreateIcon("TaillePoliceTexteMoins", "javascript:ToggleTaillePolice(-1);"));
MenuLiens.push(CreateIcon("TaillePoliceTexteStandard", "javascript:ToggleTaillePolice(0);"));
MenuLiens.push(CreateIcon("BlankImage"));
MenuLiens.push(CreateIcon("ImprimablePage", "javascript:VersionImprimable();"));
MenuLiens.push(CreateIcon("BlankImage"));
if((wgAction=="edit")||(wgAction=="submit")){    
  MenuLiens.push('<br/>');
  MenuLiens.push(CreateIcon("TailleEditTextePlus", "javascript:ToggleTailleEdit(1);"));
  MenuLiens.push(CreateIcon("TailleEditTexteMoins", "javascript:ToggleTailleEdit(-1);"));
  MenuLiens.push(CreateIcon("TailleEditTexteStandard", "javascript:ToggleTailleEdit(0);"));
  MenuLiens.push(CreateIcon("BlankImage"));
}
    var Menu = document.createElement('div');
    Menu.className = 'OptionsBox';
    Menu.innerHTML = '<div class="visualClear"><span id="OptionsTexte" class="OptionsTexte_Hidden"></span></div><div id="MenuOptions">'
                    + MenuLiens.join("");
                    +'</div>';
    var AllDiv = document.getElementsByTagName('div');
    for(a=0;a<AllDiv.length;a++){
          if(hasClass(AllDiv[a], "column2")){
                AllDiv[a].insertBefore(Menu,AllDiv[a].firstChild);
                AllDiv[a].id = "col2";
          }
          if(hasClass(AllDiv[a], "column1")){
                AllDiv[a].id = "col1";
          }
    }

/////////// Application des options


// Header
    if(FlashHeaderState != "0"){
       var FlashHeaderStyle = "block";
       var MiniHeaderStyle = "none";
       ToggleHeaderButtons("On");
    }else{
       var FlashHeaderStyle = "none";
       var MiniHeaderStyle = "inline";
       ToggleHeaderButtons("Off");
    }
    var flashDiv = document.getElementById('header');
    flashDiv.style.display = FlashHeaderStyle;
    var MiniHeaderParent = document.createElement('div');
    MiniHeaderParent.id = "MiniHeaderDiv";
    var MiniHeader = document.createElement('ul');
    MiniHeader.id = "MiniHeader";
    MiniHeader.style.display = MiniHeaderStyle;
    MiniHeader.innerHTML = MenuOptions_ConstructMiniHeader();
    MiniHeaderParent.appendChild(MiniHeader);
    flashDiv.parentNode.insertBefore(MiniHeaderParent,flashDiv);

// Largeur du site
    if(MenuOptions_Largeur != "0") {
       var MenuOptions_LargeurSite = "800px";
       var MenuOptions_LargeurCol1 = DefaultOptions["LargeurCol1_Reduite"];
       var MenuOptions_LargeurCol2 = DefaultOptions["LargeurCol2_Reduite"];
       ToggleLargeurSiteButtons("Off");
    }else{
       var MenuOptions_LargeurSite = "100%";
       var MenuOptions_LargeurCol1 = DefaultOptions["LargeurCol1_Large"];
       var MenuOptions_LargeurCol2 = DefaultOptions["LargeurCol2_Large"];
       ToggleLargeurSiteButtons("On");
    }
    var mainDiv = document.getElementById('main');
    var Colonne1 = document.getElementById('col1');
    var Colonne2 = document.getElementById('col2');
    mainDiv.style.width = MenuOptions_LargeurSite;
    Colonne2.style.width = MenuOptions_LargeurCol2;
    Colonne1.style.width = MenuOptions_LargeurCol1;

// Taille police
    if( (!MenuOptions_TaillePolice) || (MenuOptions_TaillePolice == "") || (MenuOptions_TaillePolice== "null") ){
      var TaillePolice = DefaultOptions["TaillePolice"];
    }else{
      var TaillePolice = parseInt(MenuOptions_TaillePolice);
    }
    var Content = document.getElementById('bodyContent');
    Content.style.fontSize = TaillePolice + 'px';

// Taille zone d'édition
    if( (!MenuOptions_TailleEdit) || (MenuOptions_TailleEdit== "") || (MenuOptions_TailleEdit== "null") ){
      var TailleEdit_Lignes = DefaultOptions["TailleEdit"];
    }else{
      var TailleEdit_Lignes = parseInt(MenuOptions_TailleEdit);
    }
    if (document.getElementById("wpTextbox1")){  // MediaWiki
        document.getElementById('wpTextbox1').rows = TailleEdit_Lignes;
    }
    if (document.getElementById("wpTextbox1___Frame")){  //FCKEditor
        document.getElementById('wpTextbox1___Frame').style.height = (TailleEdit_Lignes*13) + 'px';
    }
}
addOnloadHook(CreateMenuOptions);

/////////////////////////////////////////////////////////////////////////////// FONCTIONS DU MENU D'OPTIONS

function CreateIcon(id, href){
  var Icon = MenuIcons[id];
  if(!Icon) return "";
  var Text = '<a id="'+id+'" ' + (href ? 'href="'+href+'" ' : '')
           + ' onmouseover="javascript:ToggleImage(\''+id+'\', \'On\');"'
           + ' onfocus="javascript:ToggleImage(\''+id+'\', \'On\');"'
           + ' onmouseout="javascript:ToggleImage(\''+id+'\', \'Off\');"'
           + ' onblur="javascript:ToggleImage(\''+id+'\', \'Off\');"'
           + ' >'
           + '<img class="MenuOptionsBouton" width="'+Icon.width+'" src="'+Icon.src+'" alt="'+Icon.alt+'" />'
           + '</a>';
  return Text;
}

function ToggleImage(idLien, OnOff){
     var Lien = document.getElementById(idLien);
     var Explication = document.getElementById("OptionsTexte");
     if((!Lien)||(!Explication)) return;
     var Image = Lien.getElementsByTagName('img')[0];
     var Icon = MenuIcons[idLien];
     if(!Image || !Icon) return;

     var Texte = Icon.text;
     if(!Texte) return;
     var URLImage = Icon.src;
     var URLImageHover = ( Icon.hoversrc ? Icon.hoversrc : URLImage );

     if(OnOff=="On"){
          Image.src = URLImageHover;
          Explication.innerHTML = Texte;
          Explication.className = "OptionsTexte_Visible";
     }else{
          Image.src = URLImage;
          Explication.innerHTML = '';
          Explication.className = "OptionsTexte_Hidden";
     }    
}

// Mini-menu

function MenuOptions_ConstructMiniHeader(){
     var T = "";
     for(var Text in MiniHeaderContent){
          var Page = MiniHeaderContent[Text][0];
          var Title = MiniHeaderContent[Text][1];
          if(!Page || !Title) continue;
          T += '<li id="headerLi_'+Text+'" class="headerLi"><a class="headerA" href="'+wgServer+wgArticlePath.split('$1').join(Page)+'" title="'+Title+'">'+Text+'</a></li>'
     }
     return T;
}

// Changement largeur du site

function ToggleLargeurSite(){
    var mainDiv = document.getElementById('main');
    var Colonne1 = document.getElementById('col1');
    var Colonne2 = document.getElementById('col2');
    var now = new Date();
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
    if(mainDiv.style.width == '100%'){
         mainDiv.style.width = '800px';
         Colonne1.style.width = DefaultOptions["LargeurCol1_Reduite"];
         Colonne2.style.width = DefaultOptions["LargeurCol2_Reduite"];
         ToggleLargeurSiteButtons("Off");
         setCookie("MenuOptions_Largeur", "1", nextYear);
    }else{
         mainDiv.style.width = '100%';
         Colonne1.style.width = DefaultOptions["LargeurCol1_Large"];
         Colonne2.style.width = DefaultOptions["LargeurCol2_Large"];
         ToggleLargeurSiteButtons("On");
         setCookie("MenuOptions_Largeur", "0", nextYear);
    }
}
function ToggleLargeurSiteButtons(OnOff){
  var Button_Off = document.getElementById("LargeurSiteHTML800px");
  var Button_On = document.getElementById("LargeurSiteHTML100");
  if(!Button_On || !Button_Off) return;
  if(OnOff=="On"){
    Button_On.style.display = "none";
    Button_Off.style.display = "";
  }else{
    Button_On.style.display = "";
    Button_Off.style.display = "none";
  }
}

// Affichage / Masquage de l'en-tête

function ToggleHeader(){
    var flashDiv = document.getElementById('header');
    var MiniHeader = document.getElementById('MiniHeader');
    var now = new Date();
    var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
    if(flashDiv.style.display=="none"){
       flashDiv.style.display = "block";
       MiniHeader.style.display ="none";
       ToggleHeaderButtons("On");
       setCookie("FlashHeaderState", "1", nextYear);
    }else{
       flashDiv.style.display = "none";
       MiniHeader.style.display = "inline";
       ToggleHeaderButtons("Off");
       setCookie("FlashHeaderState", "0", nextYear);
    }
}
function ToggleHeaderButtons(OnOff){
  var Button_Off = document.getElementById("ReduireHTML");
  var Button_On = document.getElementById("DevelopperHTML");
  if(!Button_On || !Button_Off) return;
  if(OnOff=="On"){
    Button_On.style.display = "none";
    Button_Off.style.display = "";
  }else{
    Button_On.style.display = "";
    Button_Off.style.display = "none";
  }
}

// Changement de la taille de police

function ToggleTaillePolice(diff) { 
    var Content = document.getElementById('bodyContent');
    if (Content){
        var now = new Date();
        var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
        if(diff!=0){
            var NouvellePolice = parseInt(Content.style.fontSize.split('px').join('')) + diff
        }else{
            var NouvellePolice = DefaultOptions["TaillePolice"];
        }
        Content.style.fontSize = NouvellePolice + 'px';
        setCookie("MenuOptions_TaillePolice", NouvellePolice, nextYear);  
    }
}

// Fonctions pour l'impression

function VersionImprimable(){
    window.open(wgServer + wgScript + '?title=' + wgPageName + '&printable=yes', '_self');
}

// Changement hauteur fenêtre d'édition

function ToggleTailleEdit(diff) { 
    if (document.getElementById("wpTextbox1")){
        var now = new Date();
        var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
        if(diff!=0){
            var NouvelleTaille = document.getElementById('wpTextbox1').rows + diff;
        }else{
            var NouvelleTaille = DefaultOptions["TailleEdit"];
        }

        //Fenêtre MediaWiki

        document.getElementById('wpTextbox1').rows = NouvelleTaille;

        // Fenêtre FCKEditor

        var FCKEditorTextArea = document.getElementById('wpTextbox1___Frame');
        if(FCKEditorTextArea){
            FCKEditorTextArea.style.height = (13*NouvelleTaille) + 'px';
        }
        setCookie("MenuOptions_TailleEdit", NouvelleTaille, nextYear);  
    }
}
////////////////////////////////////////////////////////////////////// FIN DU CADRE D'OPTIONS
// ==========================================================================================
Wikiboo Outils personnels