ldapsaisie/trunk/includes/js/LSview.js
Benjamin Renard 16df350e74 - LSmail : Création d'une classe PHP gérant les dépendances
d'affichage et les requêtes Ajax.
- LSrelation :
  - Création d'une classe PHP gérant les dépendances d'affichage et
    les requêtes Ajax.
  - Modification du JS pour faire appels à ces méthodes
  - La méthode displayInLSview() remplace le bloc du fichier view.php
    pour l'affichage des relations d'un objet.
  - Internationalisation.
- LSselect : Création d'une classe PHP gérant les dépendances
  d'affichage et les requêtes Ajax.
- LSformElement_password : 
  - Ajout de méthodes statiques gérant les appels Ajax.
  - Modification du JS pour faire appels à ces méthodes
- LSformElement_select_object : 
  - Ajout de méthodes statiques gérant les appels Ajax.
  - Modification du JS pour faire appels à ces méthodes
- LSformElement_mail : Utilisation des nouvelles fonctionnalités pour
  gérer les dépendances.
- LSformElement_image : Utilisation des nouvelles fonctionnalités pour
  gérer les dépendances.
- LSsession :
  - Ajout de méthodes statiques gérant les appels Ajax des formulaires
    de login et de recupération de mot de passe.
  - Modification des JS pour faire appels à ces méthodes
  - Ajout d'un mécanisme permettant de garder la session PHP active
  - Modification de LSdefault.js pour gérer ce mécanisme
- LSform :
  - Ajout de méthodes statiques gérant les appels Ajax des formulaires
  - Ajout de la méthode loadDependenciesDisplayView() gérant les 
    dépendances d'affichage d'une LSview.
  - Utilisation des nouvelles fonctionnalités pour gérer les 
    dépendances.
- view.php / modify.php /select.php : Utilisation des nouvelles 
  fonctionnalités pour gérer les dépendances et les LSrelations.
- LSview : Modification de l'internationnalisation.
2009-02-20 14:05:22 +00:00

90 lines
3 KiB
JavaScript

var LSview = new Class({
initialize: function(){
this.labels = varLSdefault.LSjsConfig['LSview_labels'];
if (!$type(this.labels)) {
this.labels = {
delete_confirm_text: "Do you really want to delete",
delete_confirm_title: "Caution",
delete_confirm_validate: "Delete"
};
}
$$('td.LSobject-list-names').each(function(el) {
el.addEvent('click',this.onTdLSobjectListNamesClick.bind(this,el));
}, this);
$$('td.LSobject-list-names').each(function(el) {
el.addEvent('mouseenter',this.onTdLSobjectListNamesOver.bind(this,el));
}, this);
$$('td.LSobject-list-names').each(function(el) {
el.addEvent('mouseleave',this.onTdLSobjectListNamesOut.bind(this,el));
}, this);
$$('a.LSobject-list-actions').each(function(el) {
var checkRemove = /remove\.php.*/;
if (checkRemove.exec(el.href)) {
el.addEvent('click',this.onRemoveListBtnClick.bindWithEvent(this,el));
}
}, this);
$$('a.LSview-actions').each(function(el) {
var checkRemove = /remove\.php.*/;
if (checkRemove.exec(el.href)) {
el.addEvent('click',this.onRemoveViewBtnClick.bindWithEvent(this,el));
}
}, this);
},
onTdLSobjectListNamesClick: function(td) {
window.location=td.getFirst().href;
},
onTdLSobjectListNamesOver: function(td){
td.imgEdit = new Element('img');
td.imgEdit.src = varLSdefault.imagePath('view.png');
td.imgEdit.injectInside(td);
},
onTdLSobjectListNamesOut: function(td) {
td.imgEdit.destroy();
},
onRemoveListBtnClick: function(event,a) {
Event(event).stop();
if (!this._confirmBoxOpen) {
this._confirmBoxOpen = 1;
var name = a.getParent().getPrevious('td').getElement('a').innerHTML;
this.confirmBox = new LSconfirmBox({
text: this.labels.delete_confirm_text + ' "'+name+'" ?',
startElement: a,
onConfirm: this.removeFromA.bind(this,a),
onClose: this.onConfirmBoxClose.bind(this)
});
}
},
onRemoveViewBtnClick: function(event,a) {
Event(event).stop();
if (!this._confirmBoxOpen) {
this._confirmBoxOpen = 1;
var name = $('LSview_title').innerHTML;
this.confirmBox = new LSconfirmBox({
text: this.labels.delete_confirm_text + ' "'+name+'" ?',
title: this.labels.delete_confirm_title,
validate_label: this.labels.delete_confirm_yes_btn,
startElement: a,
onConfirm: this.removeFromA.bind(this,a),
onClose: this.onConfirmBoxClose.bind(this)
});
}
},
onConfirmBoxClose: function() {
this._confirmBoxOpen = 0;
},
removeFromA: function(a) {
document.location = a.href+'&valid';
}
});
window.addEvent(window.ie ? 'load' : 'domready', function() {
varLSview = new LSview();
});