From 1094cda9a04bd52a06dd662bc5d648b4105cff1a Mon Sep 17 00:00:00 2001 From: thomascube <thomas@roundcube.net> Date: Wed, 05 Sep 2007 02:53:53 -0400 Subject: [PATCH] Allso trigger events when selecting all/none list entries --- program/js/list.js | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-) diff --git a/program/js/list.js b/program/js/list.js index c4f0240..6a083a2 100644 --- a/program/js/list.js +++ b/program/js/list.js @@ -422,7 +422,8 @@ if (!this.rows || !this.rows.length) return false; - // reset selection first + // reset but remember selection first + var select_before = this.selection.join(','); this.clear_selection(); for (var n in this.rows) @@ -434,7 +435,11 @@ } } - return true; + // trigger event if selection changed + if (this.selection.join(',') != select_before) + this.trigger_event('select'); + + return true; }, @@ -443,14 +448,18 @@ */ clear_selection: function() { - for(var n=0; n<this.selection.length; n++) + var num_select = this.selection.length; + for (var n=0; n<this.selection.length; n++) if (this.rows[this.selection[n]]) { this.set_classname(this.rows[this.selection[n]].obj, 'selected', false); this.set_classname(this.rows[this.selection[n]].obj, 'unfocused', false); } - this.selection = new Array(); + this.selection = new Array(); + + if (num_select) + this.trigger_event('select'); }, -- Gitblit v1.9.1