Aller au contenu

Utilisateur:Dr Brains/BotFramework.js/Init.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.
//

var BotFramework_PageContentNode;

if(mw.config.get('wgNamespaceNumber') == -1 && mw.config.get('wgTitle') == "BotControlPage"){
    addOnloadHook(function (){
        BotFramework_PageContentNode = document.getElementById('bodyContent');
        if(!BotFramework_PageContentNode) BotFramework_PageContentNode = document.getElementById('article');
        if(!BotFramework_PageContentNode) BotFramework_PageContentNode = document.getElementById('mw_contentholder');
        if(!BotFramework_PageContentNode) BotFramework_PageContentNode = document.body;
        if(!BotFramework_PageContentNode) return;
        BotFramework_CleanElement(BotFramework_PageContentNode); 
        var H1 = document.getElementsByTagName('h1')[0];
        if(!H1){
            H1 = document.createElement('h1');
            BotFramework_PageContentNode.appendChild(H1);
        }
        H1.innerHTML = BotFramework_getText("BotControlPage");
        var Title = document.getElementsByTagName('title')[0];
        if(Title) Title.innerHTML = BotFramework_getText("BotControlPage");
        BotFramework_InitPage();
    });
}else{
    addOnloadHook(function (){
        var PersonalLinks = document.getElementById('p-personal');
        if(!PersonalLinks) return;
        var UlPersonal = PersonalLinks.getElementsByTagName('ul')[0];
        var Li = document.createElement('li');
        var Link = document.createElement('a');
        Link.title = BotFramework_getText("BotControlLink_Title");
        Link.innerHTML = BotFramework_getText("BotControlLink_Text");
        Link.href = mw.config.get('wgServer') + mw.config.get('wgArticlePath').split("$1").join("Special:BotControlPage");
        Li.appendChild(Link);
        UlPersonal.insertBefore(Li, UlPersonal.firstChild);
    });
}

function BotFramework_InitPage(){
    var OptionsArea = document.createElement('fieldset');
    OptionsArea.id = "OptionsArea";
    var OptionsAreaLegend = document.createElement('legend');
    OptionsAreaLegend.appendChild(document.createTextNode(BotFramework_getText("OptionsLegend")));
    OptionsArea.appendChild(OptionsAreaLegend);
    BotFramework_CreateOptions(OptionsArea);
    BotFramework_PageContentNode.appendChild(OptionsArea);
    var CurrentTasks = document.createElement('div');
    CurrentTasks.id = "CurrentTasks";
    BotFramework_PageContentNode.appendChild(CurrentTasks);
}

function BotFramework_CreateOptions(OptionsArea){
    var NewTaskButton = document.createElement('input');
    NewTaskButton.id = "NewTaskButton";
    NewTaskButton.type = "button";
    NewTaskButton.value = BotFramework_getText("NewTaskButtonText");
    NewTaskButton.title = BotFramework_getText("NewTaskButtonTitle");
    NewTaskButton.onclick = function(){
        BotFramework_CreateNewTaskMenu();
    };
    NewTaskButton.onselect = function(){
        BotFramework_CreateNewTaskMenu();
    };
    OptionsArea.appendChild(NewTaskButton);
}

function BotFramework_CreateNewTaskMenu(){
    var NewTaskMenu = document.getElementById("NewTaskMenu");
    if(NewTaskMenu) return;
    var NewTaskButton = document.getElementById("NewTaskButton");
    NewTaskButton.disabled = "disabled";
    NewTaskMenu = document.createElement('fieldset');
    NewTaskMenu.id = "NewTaskMenu";
    var NewTaskMenuLegend = document.createElement('legend');
    NewTaskMenuLegend.innerHTML = BotFramework_getText("NewTaskLegend");
    NewTaskMenu.appendChild(NewTaskMenuLegend);
    var FirstP = document.createElement('p');
    var CloseNewTaskButton = document.createElement('input');
    CloseNewTaskButton.id = "CloseNewTaskButton";
    CloseNewTaskButton.type = "button";
    CloseNewTaskButton.value = BotFramework_getText("CloseNewTaskButtonText");
    CloseNewTaskButton.onclick = function(){
        BotFramework_CloseNewTaskMenu();
    };
    CloseNewTaskButton.onselect = function(){
        BotFramework_CloseNewTaskMenu();
    };
    FirstP.appendChild(CloseNewTaskButton);
    NewTaskMenu.appendChild(FirstP);
    var TypeP = document.createElement('p');
    TypeP.id = "NewTaskType";
    var TypeSelect = document.createElement('select');
    TypeSelect.id = "NewTaskTypeSelect";
    var OptionN = document.createElement('option');
    OptionN.value = "Normal";
    OptionN.innerHTML = BotFramework_getText("NewTaskTypeNormal");
    TypeSelect.appendChild(OptionN);
    var OptionS = document.createElement('option');
    OptionS.value = "Special";
    OptionS.innerHTML = BotFramework_getText("NewTaskTypeSpecial");
    TypeSelect.appendChild(OptionS);
    TypeP.appendChild(TypeSelect);
    TypeSelect.onchange = function(){
        BotFramework_NewTaskMenuUpdateType();
    };
    NewTaskMenu.appendChild(TypeP);
    BotFramework_PageContentNode.appendChild(NewTaskMenu);
}

function BotFramework_NewTaskMenuUpdateType(){

}

function BotFramework_CloseNewTaskMenu(){
    var NewTaskMenu = document.getElementById("NewTaskMenu");
    if(NewTaskMenu) NewTaskMenu.parentNode.removeChild(NewTaskMenu);
    var NewTaskButton = document.getElementById("NewTaskButton");
    NewTaskButton.disabled = "";
}