diff options
author | thomascube <thomas@roundcube.net> | 2010-04-01 06:52:48 +0000 |
---|---|---|
committer | thomascube <thomas@roundcube.net> | 2010-04-01 06:52:48 +0000 |
commit | 65c8764b19d16ebdcd270f5c9bf0162e686c56bd (patch) | |
tree | 0045c7f69779d5b791141d00613a166eb7a9a59c /program | |
parent | 1d773d71414316e0b9836a15c35576593427ee21 (diff) |
Add client-side events when adding/removing groups
Diffstat (limited to 'program')
-rw-r--r-- | program/js/app.js | 6 | ||||
-rw-r--r-- | 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 = $('<a>').attr('href', '#').attr('onclick', "return rcmail.command('listgroup','"+prop.id+"',this)").html(prop.name); var li = $('<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'); |