You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ia...@apache.org on 2014/04/16 19:55:44 UTC
[2/7] git commit: CB-1291 Windows8 added some contact conversion,
console.error on save because it is not supported
CB-1291 Windows8 added some contact conversion, console.error on save because it is not supported
Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/commit/b1ec0bc4
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/tree/b1ec0bc4
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/diff/b1ec0bc4
Branch: refs/heads/dev
Commit: b1ec0bc49ca291c559d8a9b583ee8b192c21ca75
Parents: 04b96dc
Author: Jesse MacFadyen <pu...@gmail.com>
Authored: Thu Mar 13 22:56:54 2014 -0700
Committer: Jesse MacFadyen <pu...@gmail.com>
Committed: Thu Mar 13 22:56:54 2014 -0700
----------------------------------------------------------------------
src/windows8/ContactProxy.js | 61 +++++++++++++++++++++++++++++++++++++--
1 file changed, 59 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-contacts/blob/b1ec0bc4/src/windows8/ContactProxy.js
----------------------------------------------------------------------
diff --git a/src/windows8/ContactProxy.js b/src/windows8/ContactProxy.js
index 888047a..db54a09 100644
--- a/src/windows8/ContactProxy.js
+++ b/src/windows8/ContactProxy.js
@@ -1,3 +1,4 @@
+// cordova.define("org.apache.cordova.contacts.ContactProxy", function (require, exports, module) {
/*
*
* Licensed to the Apache Software Foundation (ASF) under one
@@ -25,13 +26,69 @@ module.exports = {
search:function(win,fail,args){
var fields = args[0];
var options = args[1];
+
+ var filter = options.filter;
+ var multiple = options.multiple;
+
+ var picker = new Windows.ApplicationModel.Contacts.ContactPicker();
+ picker.selectionMode = Windows.ApplicationModel.Contacts.ContactSelectionMode.contacts;
+ picker.pickSingleContactAsync().done(function (res) {
+
+ var contact = {
+ id:"",
+ name: { formatted: res.name }, // ContactName
+ displayName: res.name, // DOMString
+ nickname: res.name, // DOMString
+ phoneNumbers: res.phoneNumbers, // ContactField[]
+ addresses: res.locations, // ContactAddress[]
+ emails: [], // ContactField
+ ims: res.instantMessages, // ContactField[]
+ organizations: [], // ContactOrganization[]
+ birthday: null, // Date
+ note: "", // DOMString
+ photos: [], // ContactField[]
+ categories: [], // ContactField[]
+ urls: [] // ContactField[]
+ };
+
+ if (contact.phoneNumbers && contact.phoneNumbers.length) {
+ contact.phoneNumbers[0].pref = true; // cordova contact field needs a 'prefered' property on a contact
+ }
+
+ if (contact.addresses && contact.addresses.length) {
+ contact.addresses[0].pref = true;
+ // convert addresses/locations to Cordova.ContactAddresses
+ // pref: Set to true if this ContactAddress contains the user's preferred value. (boolean)
+ // type: A string indicating what type of field this is, home for example. (DOMString)
+ // formatted: The full address formatted for display. (DOMString)
+ // streetAddress: The full street address. (DOMString)
+ // locality: The city or locality. (DOMString)
+ // region: The state or region. (DOMString)
+ // postalCode: The zip code or postal code. (DOMString)
+ // country: The country name. (DOMString)
+ }
+ // Maybe, seems the types are compatible -jm
+ // convert ims to ContactField
+ //if (contact.ims && contact.ims.length) {
+ // // MS ContactInstantMessageField has : displayText, launchUri, service, userName, category, type
+ // for (var n = 0; n < contact.ims.length; n++) {
+ // contact.ims[n] = new ContactField(contact.ims[n].type,contact.ims[n].value, false);
+ // }
+ // }
+ //}
+ win([contact]);
+ });
},
save:function(win,fail,args){
- var contact = args[0];
+ console.error && console.error("Windows 8 does not support creating/saving contacts");
+ fail && setTimeout(function(){
+ fail(new Error("Contact create/save not supported on Windows8"));
+ },0);
}
}
-require("cordova/windows8/commandProxy").add("Contacts",module.exports);
\ No newline at end of file
+require("cordova/windows8/commandProxy").add("Contacts",module.exports);
+