From 65c8764b19d16ebdcd270f5c9bf0162e686c56bd Mon Sep 17 00:00:00 2001 From: thomascube Date: Thu, 1 Apr 2010 06:52:48 +0000 Subject: Add client-side events when adding/removing groups --- program/js/app.js | 6 ++++++ program/steps/addressbook/groups.inc | 3 +-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/program/js/app.js b/program/js/app.js index ae55cc424..2bc8808f7 100644 --- a/program/js/app.js +++ b/program/js/app.js @@ -3659,10 +3659,14 @@ function rcube_webmail() { var li, key = 'G'+id; if ((li = this.get_folder_li(key))) { + this.triggerEvent('removegroup', { id:id, li:li }); + li.parentNode.removeChild(li); delete this.env.contactfolders[key]; delete this.env.contactgroups[key]; } + + this.list_contacts(null, 0); }; // handler for keyboard events on the input field @@ -3716,6 +3720,8 @@ function rcube_webmail() var link = $('').attr('href', '#').attr('onclick', "return rcmail.command('listgroup','"+prop.id+"',this)").html(prop.name); var li = $('
  • ').attr('id', 'rcmli'+key).addClass('contactgroup').append(link); $(this.gui_objects.folderlist).append(li); + + this.triggerEvent('insertgroup', { id:prop.id, name:prop.name, li:li[0] }); }; // callback for renaming a contact group diff --git a/program/steps/addressbook/groups.inc b/program/steps/addressbook/groups.inc index c853cedaf..df44703a9 100644 --- a/program/steps/addressbook/groups.inc +++ b/program/steps/addressbook/groups.inc @@ -41,9 +41,8 @@ if ($RCMAIL->action == 'group-addmembers') { else if ($RCMAIL->action == 'group-delmembers') { if (($gid = get_input_value('_gid', RCUBE_INPUT_POST)) && ($ids = get_input_value('_cid', RCUBE_INPUT_POST))) { $plugin = $RCMAIL->plugins->exec_hook('group_delmembers', array('group_id' => $gid, 'ids' => $ids, 'source' => $source)); - $ids = $plugin['ids']; - if (!$plugin['abort'] && $CONTACTS->remove_from_group($gid, $ids)) + if (!$plugin['abort'] && $CONTACTS->remove_from_group($gid, $plugin['ids'])) $OUTPUT->show_message('contactremovedfromgroup'); else if ($plugin['message']) $OUTPUT->show_message($plugin['message'], 'warning'); -- cgit v1.2.3