[ 
https://issues.apache.org/jira/browse/CB-10976?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tobias Mücksch updated CB-10976:
--------------------------------
    Description: 
Short demo script:

{code:javascript}
    navigator.contacts.find(["*"], function (contacts) {
        // Pick a contact
        // (Make sure the contact has more than two phoneNumberFields)
        var myContact = contacts[4]; 

        // Remove the second phone number
        delete myContact.phoneNumbers[1];

        myContact.save(function () {
            console.log("Success");
            /// You will see, that the contact still has all it's previous 
phone numbers
        }, function () {
            console.error("error while saving");
        });
        
    }, function () {
        console.error("Could not access conacts.");
    });
{code}

Let's say a existing contact that I've retrieved from the system has two or 
more phone number fields. When I remove one of the both contact fields from the 
phoneNumbers array and then save the contact, *it still has all numbers on the 
device*. When I re-retrieve the contact it has both numbers again. (Tested on 
iOS 9.3 with plugin version 2.0.1)

I can't find any hint in the documentation if I do something wrong or if the 
plugin is behaving wrong.


*I have created a demo script, which reproduces the issue. You can use it for 
testing:*
http://pastebin.com/XRdREL3Y
You might want to remove line 25 which removes the contact in the end.


This SO Question might be related to the issue: 
http://stackoverflow.com/questions/35698798/cordova-contacts-plugin-contact-data-is-duplicating-instead-of-overwriting-conta?rq=1

  was:
Short demo script:

{code:javascript}
    navigator.contacts.find(["*"], function (contacts) {
        // Pick a contact
        var myContact = contacts[4]; // Make sure the contact has more than two 
phoneNumberFields

        // Remove the second phone number
        delete myContact.phoneNumbers[1];

        myContact.save(function () {
            console.log("Success");
            /// You will see, that the contact still has all it's previous 
phone numbers
        }, function () {
            console.error("error while saving");
        });
        
    }, function () {
        console.error("Could not access conacts.");
    });
{code}

Let's say a existing contact that I've retrieved from the system has two or 
more phone number fields. When I remove one of the both contact fields from the 
phoneNumbers array and then save the contact, *it still has all numbers on the 
device*. When I re-retrieve the contact it has both numbers again. (Tested on 
iOS 9.3 with plugin version 2.0.1)

I can't find any hint in the documentation if I do something wrong or if the 
plugin is behaving wrong.


*I have created a demo script, which reproduces the issue. You can use it for 
testing:*
http://pastebin.com/XRdREL3Y
You might want to remove line 25 which removes the contact in the end.


This SO Question might be related to the issue: 
http://stackoverflow.com/questions/35698798/cordova-contacts-plugin-contact-data-is-duplicating-instead-of-overwriting-conta?rq=1


> Can't remove contact field
> --------------------------
>
>                 Key: CB-10976
>                 URL: https://issues.apache.org/jira/browse/CB-10976
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: Plugin Contacts
>    Affects Versions: 2.0.0
>         Environment: iOS 9.3
>            Reporter: Tobias Mücksch
>            Priority: Blocker
>
> Short demo script:
> {code:javascript}
>     navigator.contacts.find(["*"], function (contacts) {
>         // Pick a contact
>         // (Make sure the contact has more than two phoneNumberFields)
>         var myContact = contacts[4]; 
>         // Remove the second phone number
>         delete myContact.phoneNumbers[1];
>         myContact.save(function () {
>             console.log("Success");
>             /// You will see, that the contact still has all it's previous 
> phone numbers
>         }, function () {
>             console.error("error while saving");
>         });
>         
>     }, function () {
>         console.error("Could not access conacts.");
>     });
> {code}
> Let's say a existing contact that I've retrieved from the system has two or 
> more phone number fields. When I remove one of the both contact fields from 
> the phoneNumbers array and then save the contact, *it still has all numbers 
> on the device*. When I re-retrieve the contact it has both numbers again. 
> (Tested on iOS 9.3 with plugin version 2.0.1)
> I can't find any hint in the documentation if I do something wrong or if the 
> plugin is behaving wrong.
> *I have created a demo script, which reproduces the issue. You can use it for 
> testing:*
> http://pastebin.com/XRdREL3Y
> You might want to remove line 25 which removes the contact in the end.
> This SO Question might be related to the issue: 
> http://stackoverflow.com/questions/35698798/cordova-contacts-plugin-contact-data-is-duplicating-instead-of-overwriting-conta?rq=1



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to