78 lines
2.5 KiB
JavaScript
Executable File
78 lines
2.5 KiB
JavaScript
Executable File
// on définit le "indexOf" pour <HTMLCollection> et <NodeList>
|
|
NodeList.prototype.indexOf = HTMLCollection.prototype.indexOf = function(searchedElement){
|
|
for( var i = 0 ; i < this.length ; i++ ) // on parcours la collection
|
|
// si on trouve l'élement, on retourne son rang
|
|
if( this[i] == searchedElement ) return i;
|
|
|
|
// si on a rien trouvé, on retourne -1
|
|
return -1;
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function addClass(el, pClass){
|
|
if( el.className.length > 0 && el.className != pClass ) el.className = el.className + ' ' + pClass;
|
|
else el.className = pClass;
|
|
}
|
|
|
|
function remClass(el, pClass){
|
|
if( el.className.indexOf(pClass) > -1 ) // si la class de l'élement contient la classe à enlever
|
|
el.className = el.className.substr(0, el.className.indexOf(pClass)) + '' + el.className.substr(el.className.indexOf(pClass)+pClass.length);
|
|
}
|
|
|
|
|
|
|
|
|
|
var notifState = false; // VRAI si affiché, sinon FAUX
|
|
function notif(pType, pTitle, pMessage){
|
|
/* [0] Variables globales
|
|
======================================================*/
|
|
var notifElement = document.getElementById('NOTIFBAR');
|
|
var lTitle = [
|
|
'Oups!', // error
|
|
'Cool!', // success
|
|
'Tout va bien!', // info
|
|
];
|
|
var lMessage = [
|
|
'Un erreur a eu lieu. Veuillez réessayer.', // error
|
|
'Tout s\'est bien passé.', // success
|
|
'On va tout vous expliquer.' // info
|
|
];
|
|
|
|
/* [1] On formatte et vérifie les variables
|
|
======================================================*/
|
|
if( arguments.length == 0 ) return false; // si pas de param, on quitte
|
|
|
|
var pTitle = (arguments.length>1) ? pTitle : null;
|
|
var pMessage = (arguments.length>2) ? pMessage : null;
|
|
|
|
var index = ['error', 'success', 'info'].indexOf(pType)
|
|
|
|
if( index == -1 ) return false; // si pType incorrect, on quitte
|
|
|
|
/* [2] On initialise la box et les variables
|
|
======================================================*/
|
|
notifElement.className = ''; // on supprime toute classe existante
|
|
|
|
addClass(notifElement, pType); // on met en page en fonction du type
|
|
|
|
if( pTitle == null ) pTitle = lTitle[index];
|
|
if( pMessage == null ) pMessage = lMessage[index];
|
|
|
|
|
|
/* [3] On met en page et on affiche
|
|
======================================================*/
|
|
notifElement.children[1].children[0].innerHTML = pTitle; // on attribue le titre
|
|
notifElement.children[1].children[1].innerHTML = pMessage; // on attribue le texte
|
|
|
|
addClass(notifElement, 'active'); // on affiche la boite
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
var API = new APIClass(); |