mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-23 10:29:07 +01:00
d75a8823c2
DN de l'objet affiché. - LSmail : Ajout d'une fonctionalité d'envoie de mail depuis l'interface. -> Modification de LSformElement_mail pour utiliser cette fonctionalité -> Agrémentation du fichier index_ajax.php -> Ajout d'un LSaddons :: mail - LSsession : -> Ajout d'une méthode getEmailSender() -> Utilisation de la méthode getEmailSender() pour la partie de récupération de mot de passe -> Revue des méthodes loadLSaddon() et loadLSaddons() - LSconfirmBox : -> Ajout de binding onClose() et onCancel() - LSsmoothbox : -> Déport de la creation de la structure dans la méthode build() -> Suppression du principe de refreshElement au profit de binding sur les évenements onClose, onValid et onCancel -> Ajout des méthodes addEvent() et fireEvent() -> Suppression de la méthode setRefreshElement() -> Ajout de la méthode asNew() pour remettre l'objet dans son état d'origine pour l'utilisation simultané de l'objet par plusieurs autres -> Vérification lors du clique sur le closeBtn qu'une précédente confirmBox n'est pas déjà ouvert -> La méthode close() ne fait plus que fermer la LSsmoothbox et les méthodes valid() et cancel() gère les cas de fermeture et lance la méthode close() -> Ajout de la méthode openHTML() pour l'ouverture de la LSsmoothbox avec un code HTML passé en paramètre -> Ajout de la méthode setOption() - LSrelation & LSformElement_select_object : -> Utilisation du principe d'évenement de la LSsmoothbox plutôt que du refreshElement -> Utilisation de la méthode asNew() pour eviter tout problème de concurence - LSdefault : Ajout de la méthode displayInfos()
129 lines
4.3 KiB
JavaScript
129 lines
4.3 KiB
JavaScript
var LSrelation = new Class({
|
|
initialize: function(){
|
|
this.edit = 0;
|
|
this.deleteBtn = [];
|
|
this.deleteBtnId = 0;
|
|
this.refreshRelation=0;
|
|
this._confirmDelete=1;
|
|
$$('a.LSrelation_modify').each(function(el) {
|
|
this.edit=1;
|
|
el.addEvent('click',this.onLSrelationModifyBtnClick.bindWithEvent(this,el));
|
|
}, this);
|
|
if (this.edit) {
|
|
this.initializeBtn();
|
|
}
|
|
},
|
|
|
|
initializeBtn: function() {
|
|
$$('img.LSrelation-btn').each(function(el) {
|
|
el.destroy();
|
|
}, this);
|
|
this.deleteBtnId = 0;
|
|
$$('li.LSrelation').each(function(li) {
|
|
this.deleteBtn[this.deleteBtnId] = new Element('img');
|
|
this.deleteBtn[this.deleteBtnId].src = 'templates/images/delete.png';
|
|
this.deleteBtn[this.deleteBtnId].setStyle('cursor','pointer');
|
|
this.deleteBtn[this.deleteBtnId].addClass('LSrelation-btn');
|
|
this.deleteBtn[this.deleteBtnId].addEvent('click',this.onDeleteBtnClick.bind(this,this.deleteBtn[this.deleteBtnId]));
|
|
this.deleteBtn[this.deleteBtnId].injectInside(li);
|
|
li.id=this.deleteBtnId;
|
|
this.deleteBtnId++;
|
|
}, this);
|
|
},
|
|
|
|
onDeleteBtnClick: function(img) {
|
|
if (this._confirmDelete) {
|
|
var li = img.getParent();
|
|
var span = li.getFirst().getFirst('span');
|
|
this.confirmBox = new LSconfirmBox({
|
|
text: 'Etês-vous sur de vouloir supprimer "'+span.innerHTML+'" ?',
|
|
startElement: img,
|
|
onConfirm: this.deleteFromImg.bind(this,img)
|
|
});
|
|
}
|
|
else {
|
|
this.deleteFromImg(img);
|
|
}
|
|
},
|
|
|
|
deleteFromImg: function(img) {
|
|
var li = img.getParent();
|
|
var span = li.getFirst().getFirst('span');
|
|
var ul = li.getParent();
|
|
img.destroy();
|
|
LSdebug(ul.id);
|
|
var getId = /LSrelation_ul_([0-9]*)/
|
|
var id = getId.exec(ul.id)[1];
|
|
|
|
var data = {
|
|
template: 'LSrelation',
|
|
action: 'deleteByDn',
|
|
id: id,
|
|
dn: span.id
|
|
};
|
|
data.imgload=varLSdefault.loadingImgDisplay(li.id,'inside');
|
|
new Request({url: 'index_ajax.php', data: data, onSuccess: this.deleteFromImgComplete.bind(this)}).send();
|
|
},
|
|
|
|
deleteFromImgComplete: function(responseText, responseXML) {
|
|
var data = JSON.decode(responseText);
|
|
if ( varLSdefault.checkAjaxReturn(data) ) {
|
|
try {
|
|
$(data.dn).getParent().getParent().destroy();
|
|
}
|
|
catch(e) {
|
|
LSdebug('Erreur durant la suppression du li du DN : '+data.dn);
|
|
}
|
|
}
|
|
},
|
|
|
|
onLSrelationModifyBtnClick: function(event,a) {
|
|
new Event(event).stop();
|
|
|
|
var data = {
|
|
template: 'LSrelation',
|
|
action: 'refreshSession',
|
|
id: a.id,
|
|
href: a.href
|
|
};
|
|
|
|
LSdebug(data);
|
|
this.refreshRelation=a.id;
|
|
data.imgload=varLSdefault.loadingImgDisplay('LSrelation_title_'+a.id,'inside');
|
|
new Request({url: 'index_ajax.php', data: data, onSuccess: this.onLSrelationModifyBtnClickComplete.bind(this)}).send();
|
|
},
|
|
|
|
onLSrelationModifyBtnClickComplete: function(responseText, responseXML) {
|
|
var data = JSON.decode(responseText);
|
|
if ( varLSdefault.checkAjaxReturn(data) ) {
|
|
varLSsmoothbox.asNew();
|
|
varLSsmoothbox.addEvent('valid',this.onLSsmoothboxValid.bind(this));
|
|
varLSsmoothbox.openURL(data.href,{startElement: $(data.id), width: 615});
|
|
}
|
|
},
|
|
|
|
onLSsmoothboxValid: function() {
|
|
var data = {
|
|
template: 'LSrelation',
|
|
action: 'refreshList',
|
|
id: this.refreshRelation
|
|
};
|
|
|
|
LSdebug(data);
|
|
data.imgload=varLSdefault.loadingImgDisplay('LSrelation_title_'+this.refreshRelation,'inside');
|
|
new Request({url: 'index_ajax.php', data: data, onSuccess: this.onLSsmoothboxValidComplete.bind(this)}).send();
|
|
},
|
|
|
|
onLSsmoothboxValidComplete: function(responseText, responseXML) {
|
|
var data = JSON.decode(responseText);
|
|
if ( varLSdefault.checkAjaxReturn(data) ) {
|
|
$('LSrelation_ul_'+this.refreshRelation).set('html',data.html);
|
|
this.initializeBtn();
|
|
}
|
|
}
|
|
|
|
});
|
|
|
|
window.addEvent(window.ie ? 'load' : 'domready', function() {
|
|
varLSrelation = new LSrelation();
|
|
});
|