Utilisateur:CreatixEA/monobook.js/wpObjets.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./* <pre><nowiki> */
/** wpMonobook
* It handles basic functions
*/
function wpMonobook ()
{
this.publishList = new Array();
this.initList = new Array();
this.addToPublish = function (obj) { this.publishList.push(obj); }
this.addToInit = function (obj) { this.initList.push(obj); }
this.init = function()
{
for (var i = 0; i < this.initList.length; i ++) { this.initList[i].init(); }
this.addEvent(window, 'load', wpPublish);
}
this.publish = function ()
{
for (var i = 0; i < this.publishList.length; i++) { this.publishList[i].publish(); }
}
this.addEvent = function(obj, event, func)
{
if (obj.addEventListener) { obj.addEventListener(event, func, false); }
else if (window.attachEvent) { obj.attachEvent('on' + event, func); }
}
this.changeFormSummary = function (text)
{
var summary = document.getElementById('wpSummary');
if (!summary) return;
summary.value = text;
}
this.include = function (URL)
{
document.write ('<script language="JavaScript" src="' + URL + '"></script>');
}
}
// wpPublish launches the publication of all objects
function wpPublish() { myMonobook.publish(); }
// myMonobook is the instance of wpMonobook
var myMonobook = new wpMonobook();
/** wpTab
* It manages the tabs
*/
function wpTab (id)
{
this.id = id;
this.group = null;
this.Links = new Array();
myMonobook.addToInit(this);
this.init = function()
{
this.group = document.createElement('li');
this.group.id = this.id;
myMonobook.addToPublish(this);
}
this.addTab = function (label, URL)
{
var newLink = document.createElement('a');
newLink.href = URL;
newLink.innerHTML = label;
this.Links.push(newLink);
}
this.publish = function()
{
var ul = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if (ul)
{
for (var i = 0; i < this.Links.length; i++) { this.group.appendChild(this.Links[i]); }
ul.appendChild(this.group);
}
}
}
/**
* wpNav
* It manages the navigation links
*/
wpNavSerial = 0;
function wpNav (label, navgroup)
{
this.id = (++wpNavSerial);
this.label = label;
this.group = null;
this.block = null;
if (!navgroup) { this.navgroup = 0; } else { this.navgroup = navgroup; }
this.Links = new Array();
myMonobook.addToInit(this);
this.fireClick = function(E)
{
var reg = new RegExp('wpNavGrp-([0-9]+)', 'gi');
var id = reg.exec(E.target.id)[1];
var block = document.getElementById('wpNavBlock-' + id);
if (block) block.style.display = 'block';
}
this.init = function()
{
this.group = document.createElement('li');
this.group.id = 'wpNavGrp-' + this.id;
this.group.style.cursor = 'pointer';
this.group.innerHTML = this.label + '<sup>*</sup>';
myMonobook.addEvent(this.group, 'click', this.fireClick);
this.block = document.createElement('ul');
this.block.id = 'wpNavBlock-' + this.id;
this.block.style.display = 'none';
this.group.appendChild(this.block);
myMonobook.addToPublish(this);
}
this.addLink = function (label, URL)
{
var newLink = document.createElement('a');
newLink.innerHTML = label;
newLink.href = URL;
this.Links.push(newLink);
}
this.publish = function()
{
for (var i = 0; i < this.Links.length; i++)
{
var newLi = document.createElement('li');
newLi.appendChild(this.Links[i]);
this.block.appendChild(newLi);
}
var uls = document.getElementById('p-navigation').getElementsByTagName('ul');
uls[this.navgroup].appendChild(this.group);
}
}
/**
* wpToolbar
* It manages the toolbar in edit mode
*/
function wpToolbar ()
{
this.toolbar = null;
this.Links = new Array();
myMonobook.addToInit(this);
this.init = function() { myMonobook.addToPublish(this); }
this.addLink = function (name, insertion, Image)
{
var newLink = document.createElement('a');
newLink.href = 'javascript: insertTags("", "' + insertion + '", ""); myMonobook.changeFormSummary("' + name + '");';
var newImg = document.createElement('img');
newImg.src = Image;
newLink.appendChild(newImg);
this.Links.push(newLink);
}
this.publish = function()
{
var toolbar = document.getElementById('toolbar');
if (!toolbar) return;
for (var i = 0; i < this.Links.length; i ++) { toolbar.appendChild(this.Links[i]); }
}
}
// myToolbar is the instance of wpToolbar
var myToolbar = new wpToolbar();
/* </nowiki></pre> */