]> source.dussan.org Git - nextcloud-server.git/commitdiff
Don't add duplicate contacts in the list when en-/disable an address book.
authorThomas Tanghus <thomas@tanghus.net>
Fri, 29 Jun 2012 21:17:32 +0000 (23:17 +0200)
committerThomas Tanghus <thomas@tanghus.net>
Fri, 29 Jun 2012 21:18:47 +0000 (23:18 +0200)
apps/contacts/js/contacts.js

index 9d41b70a314e8a155e186427f5e30ca6808795bf..5be1fa61292b860677c4a009a12cda2e0f3bcc24 100644 (file)
@@ -1621,19 +1621,21 @@ Contacts={
                                                        var contactlist = $('#contacts ul[data-id="'+b+'"]');
                                                        for(var c in book.contacts) {
                                                                if(book.contacts[c].id == undefined) { continue; }
-                                                               var contact = Contacts.UI.Card.createEntry(book.contacts[c]);
-                                                               if(c == self.batchnum-5) {
-                                                                       contact.bind('inview', function(event, isInView, visiblePartX, visiblePartY) {
-                                                                               $(this).unbind(event);
-                                                                               var bookid = $(this).data('bookid');
-                                                                               var numsiblings = $('.contacts li[data-bookid="'+bookid+'"]').length;
-                                                                               if (isInView && numsiblings >= self.batchnum) {
-                                                                                       console.log('This would be a good time to load more contacts.');
-                                                                                       Contacts.UI.Contacts.update(id, bookid, $('#contacts li[data-bookid="'+bookid+'"]').length);
-                                                                               }
-                                                                       });
+                                                               if($('#contacts li[data-id="'+book.contacts[c]['id']+'"][data-id="'+book.contacts[c]['bookid']+'"]').length == 0) {
+                                                                       var contact = Contacts.UI.Card.createEntry(book.contacts[c]);
+                                                                       if(c == self.batchnum-5) {
+                                                                               contact.bind('inview', function(event, isInView, visiblePartX, visiblePartY) {
+                                                                                       $(this).unbind(event);
+                                                                                       var bookid = $(this).data('bookid');
+                                                                                       var numsiblings = $('.contacts li[data-bookid="'+bookid+'"]').length;
+                                                                                       if (isInView && numsiblings >= self.batchnum) {
+                                                                                               console.log('This would be a good time to load more contacts.');
+                                                                                               Contacts.UI.Contacts.update(id, bookid, $('#contacts li[data-bookid="'+bookid+'"]').length);
+                                                                                       }
+                                                                               });
+                                                                       }
+                                                                       contactlist.append(contact);
                                                                }
-                                                               contactlist.append(contact);
                                                        }
                                                });
                                                if($('#contacts h3').length > 1) {