From b175394b30266d82c56f085bcf9829231828db7c Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Fri, 23 Sep 2011 07:18:49 -0400
Subject: [PATCH] - Add loading indicator on contact delete

---
 CHANGELOG                               |    1 +
 program/localization/en_US/messages.inc |    1 +
 program/steps/addressbook/func.inc      |    2 +-
 program/js/app.js                       |   10 +++++++---
 4 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG b/CHANGELOG
index 2ae2c77..7b36c8f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,7 @@
 CHANGELOG Roundcube Webmail
 ===========================
 
+- Add loading indicator on contact delete
 - Fix bug where after delete message rows can be added to the list of another folder (#1487752)
 - Add notice on autocompletion that not all records were displayed
 - Add option 'searchonly' for LDAP address books
diff --git a/program/js/app.js b/program/js/app.js
index 26b9539..a209256 100644
--- a/program/js/app.js
+++ b/program/js/app.js
@@ -4019,8 +4019,9 @@
   this.delete_contacts = function()
   {
     // exit if no mailbox specified or if selection is empty
-    var selection = this.contact_list.get_selection();
-    var undelete = this.env.address_sources[this.env.source].undelete;
+    var selection = this.contact_list.get_selection(),
+      undelete = this.env.address_sources[this.env.source].undelete;
+
     if (!(selection.length || this.env.cid) || (!undelete && !confirm(this.get_label('deletecontactconfirm'))))
       return;
 
@@ -4048,7 +4049,10 @@
       qs += '&_search='+this.env.search_request;
 
     // send request to server
-    this.http_post('delete', '_cid='+urlencode(a_cids.join(','))+'&_source='+urlencode(this.env.source)+'&_from='+(this.env.action ? this.env.action : '')+qs);
+    this.http_post('delete', '_cid='+urlencode(a_cids.join(','))
+      +'&_source='+urlencode(this.env.source)
+      +'&_from='+(this.env.action ? this.env.action : '')+qs,
+      this.display_message(this.get_label('contactdeleting'), 'loading'));
 
     return true;
   };
diff --git a/program/localization/en_US/messages.inc b/program/localization/en_US/messages.inc
index 5572a76..047349f 100644
--- a/program/localization/en_US/messages.inc
+++ b/program/localization/en_US/messages.inc
@@ -62,6 +62,7 @@
 $messages['deletemessagesconfirm'] = 'Do you really want to delete selected message(s)?';
 $messages['deletefolderconfirm']  = 'Do you really want to delete this folder?';
 $messages['purgefolderconfirm']  = 'Do you really want to delete all messages in this folder?';
+$messages['contactdeleting'] = 'Deleting contact(s)...';
 $messages['groupdeleting'] = 'Deleting group...';
 $messages['folderdeleting'] = 'Deleting folder...';
 $messages['foldermoving'] = 'Moving folder...';
diff --git a/program/steps/addressbook/func.inc b/program/steps/addressbook/func.inc
index a149154..dd8856a 100644
--- a/program/steps/addressbook/func.inc
+++ b/program/steps/addressbook/func.inc
@@ -312,7 +312,7 @@
     $OUTPUT->include_script('list.js');
 
     // add some labels to client
-    $OUTPUT->add_label('deletecontactconfirm', 'copyingcontact');
+    $OUTPUT->add_label('deletecontactconfirm', 'copyingcontact', 'contactdeleting');
 
     return $out;
 }

--
Gitblit v1.9.1