- LSview : Utilisation de LSconfirmBox pour la confirmation de suppression.
[ldapsaisie.git] / trunk / includes / js / LSview.js
index 242ca75..cca01d1 100644 (file)
@@ -9,6 +9,18 @@ var LSview = new Class({
       $$('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) {
@@ -23,6 +35,42 @@ var LSview = new Class({
     
     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:         'Etês-vous sur de vouloir supprimer "'+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:         'Etês-vous sur de vouloir supprimer "'+name+'" ?', 
+          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';
     }
 
 });