ldapsaisie/trunk/includes/js/LSformElement_mail.js
Benjamin Renard d75a8823c2 - LSview : ajout de input hidden pour contenir les informations du type et du
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()
2008-09-25 15:15:33 +00:00

56 lines
1.7 KiB
JavaScript

var LSformElement_mail = new Class({
initialize: function(){
this.initialiseLSformElement_mail();
if (typeof(varLSform) != "undefined") {
varLSform.addModule("LSformElement_mail",this);
}
this.LSmail_open = 0;
},
initialiseLSformElement_mail: function(el) {
if (typeof(el) == 'undefined') {
el = document;
}
el.getElements('img.LSformElement_mail_btn').each(function(btn) {
btn.addEvent('click',this.onBtnClick.bind(this,btn));
}, this);
},
reinitialize: function(el) {
this.initialiseLSformElement_mail(el);
},
onBtnClick: function(btn) {
if (this.LSmail_open==0) {
var mail = btn.getParent().getFirst().innerHTML;
if ((typeof(mail)!='string')||(mail=='')) {
mail = btn.getParent().getFirst().value;
}
if(!$type(this.LSmail)) {
this.LSmail = new LSmail();
this.LSmail.addEvent('close',this.onLSmailClose.bind(this));
this.LSmail.addEvent('valid',this.onLSmailValid.bind(this));
}
if ((mail!="")) {
this.LSmail_open = 1;
this.LSmail.setMails([mail]);
this.LSmail.setObject($('LSform_objecttype').value,$('LSform_objectdn').value);
this.LSmail.open(btn);
}
}
},
onLSmailClose: function(LSmail) {
LSdebug('LSformElement_mail : close LSmail');
this.LSmail_open = 0;
},
onLSmailValid: function(LSmail) {
LSdebug('LSformElement_mail : valid LSmail');
LSmail.send();
}
});
window.addEvent(window.ie ? 'load' : 'domready', function() {
varLSformElement_mail = new LSformElement_mail();
});