Followup fix to teaching AutoGrid to reload_opac()
authorLebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Fri, 9 Mar 2012 17:54:37 +0000 (12:54 -0500)
committerMike Rylander <mrylander@gmail.com>
Fri, 23 Mar 2012 20:30:29 +0000 (16:30 -0400)
For deleting a list of selected items, only reload_opac() once at the
end, not once for each item deleted.

Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>

Open-ILS/web/js/dojo/openils/widget/AutoGrid.js

index 69df9a7..947d56c 100644 (file)
@@ -343,15 +343,23 @@ if(!dojo._hasResource['openils.widget.AutoGrid']) {
                 dojo.forEach(items,
                     function(item) {
                         var fmObject = new fieldmapper[self.fmClass]().fromStoreItem(item);
-                        new openils.PermaCrud()['eliminate'](fmObject, {oncomplete : function(r) { self.store.deleteItem(item) }});
+                        new openils.PermaCrud()['eliminate'](
+                            fmObject, {
+                                oncomplete : function(r) {
+                                    self.store.deleteItem(item);
+                                    if (--total < 1) {
+                                        try {
+                                            xulG.reload_opac();
+                                        } catch (E) {
+                                            (dump ? dump : console.log)(E);
+                                        }
+                                    }
+                                }
+                            }
+                        );
                     }
                 );
 
-                try {
-                    xulG.reload_opac();
-                } catch (E) {
-                    (dump ? dump : console.log)(E);
-                }
             },
 
             _formatRowSelectInput : function(rowIdx) {