You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by an...@apache.org on 2012/05/11 17:21:25 UTC
[2/3] bada-wac commit: updating cordova.js
updating cordova.js
Project: http://git-wip-us.apache.org/repos/asf/incubator-cordova-bada-wac/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cordova-bada-wac/commit/fa5648e4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cordova-bada-wac/tree/fa5648e4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cordova-bada-wac/diff/fa5648e4
Branch: refs/heads/master
Commit: fa5648e4fb92b9486c79c021b00af4120f6b10e0
Parents: a36a49a
Author: Anis Kadri <an...@gmail.com>
Authored: Fri May 11 08:18:12 2012 -0700
Committer: Anis Kadri <an...@gmail.com>
Committed: Fri May 11 08:18:12 2012 -0700
----------------------------------------------------------------------
Res/js/cordova.bada.js | 268 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 265 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cordova-bada-wac/blob/fa5648e4/Res/js/cordova.bada.js
----------------------------------------------------------------------
diff --git a/Res/js/cordova.bada.js b/Res/js/cordova.bada.js
index a1bfb96..507f002 100644
--- a/Res/js/cordova.bada.js
+++ b/Res/js/cordova.bada.js
@@ -1,6 +1,6 @@
-// commit dc4219d9df8ee32d2e7e3566ca10d63d4672db8a
+// commit 71d806e61e5240ccf9f6299500741b68ea9c5d3d
-// File generated at :: Wed May 09 2012 05:06:13 GMT-0700 (Pacific Daylight Time)
+// File generated at :: Fri May 11 2012 08:12:45 GMT-0700 (Pacific Daylight Time)
/*
Licensed to the Apache Software Foundation (ASF) under one
@@ -923,7 +923,8 @@ var plugins = {
"Notification": require('cordova/plugin/bada/Notification'),
"Compass": require('cordova/plugin/bada/Compass'),
"Capture": require('cordova/plugin/bada/Capture'),
- "Camera": require('cordova/plugin/bada/Camera')
+ "Camera": require('cordova/plugin/bada/Camera'),
+ "Contacts": require('cordova/plugin/bada/Contacts')
};
module.exports = function(success, fail, service, action, args) {
@@ -3492,6 +3493,267 @@ module.exports = {
});
+// file: lib\bada\plugin\bada\Contacts.js
+define("cordova/plugin/bada/Contacts", function(require, exports, module) {
+var allowedAddressTypes = ["WORK", "HOME", "PREF"];
+
+var allowedPhoneNumberTypes = ["WORK", "PREF", "HOME", "VOICE", "FAX", "MSG", "CELL", "PAGER","BBS", "MODEM", "CAR", "ISDN","VIDEO", "PCS"];
+
+var allowedFilters = ["firstName", "lastName", "phoneticName", "nickname", "phoneNumber", "email", "address"];
+
+function _pgToWac(contact) {
+ var i, j;
+ var wacContact = {};
+
+ if(contact.id) {
+ wacContact.id = contact.id;
+ }
+
+ // name
+ if(contact.name) {
+ wacContact.firstName = contact.name.givenName;
+ wacContact.lastName = contact.name.familyName;
+ }
+
+ // nickname
+ if(contact.nickname) {
+ wacContact.nicknames = [contact.nickname];
+ }
+
+ // phoneNumbers
+ if(contact.phoneNumbers && contact.phoneNumbers.length > 0) {
+ wacContact.phoneNumbers = {};
+ for(i = 0, j = contact.phoneNumbers.length ; i < j ; i += 1) {
+ var wacPhoneNumber = {};
+ wacPhoneNumber.number = contact.phoneNumbers[i].value;
+ if(allowedPhoneNumberTypes.indexOf(contact.phoneNumbers[i].type) != -1) {
+ wacPhoneNumber.types = [contact.phoneNumbers[i].type];
+ if(contact.phoneNumbers[i].pref === true) {
+ wacPhoneNumber.types.push('PREF');
+ }
+ wacContact.phoneNumbers.push(wacPhoneNumber);
+ }
+ }
+ }
+
+ // emails
+ if(contact.emails && contact.emails.length > 0) {
+ wacContact.emails = [];
+ for(i = 0, j = contact.emails.length ; i < j ; i +=1) {
+ var wacEmailAddress = {};
+ wacEmailAddress.email = contact.emails[i].value;
+ if(allowedAddressTypes.indexOf(contact.emails[i].type) != -1) {
+ wacEmailAddress.types = [contact.emails[i].type];
+ if(contact.emails[i].pref === true) {
+ wacEmailAddress.types.push('PREF');
+ }
+ wacContact.emails.push(wacEmailAddress);
+ }
+ }
+ }
+ // addresses
+ if(contact.addresses && contact.addresses.length > 0) {
+ wacContact.addresses = [];
+ for(i = 0, j = contact.emails.length ; i < j ; i +=1) {
+ var wacAddress = {};
+ wacAddress.country = contact.addresses[i].country;
+ wacAddress.postalCode = contact.addresses[i].postalCode;
+ wacAddress.region = contact.addresses[i].region;
+ wacAddress.city = contact.addresses[i].locality;
+ wacAddress.streetAddress = contact.addresses[i].streetAddress;
+ if(allowedAddressTypes.indexOf(contact.addresses[i].type) != -1) {
+ wacAddress.types = [contact.addresses[i].type];
+ if(contact.addresses[i].pref === true) {
+ wacAddress.types.push('PREF');
+ }
+ }
+ wacContact.addresses.push(wacAddress);
+ }
+
+ }
+
+ // photos
+ // can only store one photo URL
+ if(contact.photos && contact.photos.length > 0) {
+ wacContact.photoURL = contact.photos[0].value;
+ }
+
+ return wacContact;
+
+}
+
+function _wacToPg(contact) {
+ var i, j;
+ var pgContact = {};
+
+ if(contact.id) {
+ pgContact.id = contact.id;
+ }
+
+ // name
+ if(contact.firstName || contact.lastName) {
+ pgContact.name = {};
+ pgContact.name.givenName = contact.firstName;
+ pgContact.name.familyName = contact.lastName;
+ pgContact.displayName = contact.firstName + ' ' + contact.lastName;
+ }
+
+ // nicknames
+ if(contact.nicknames && contact.nicknames.length > 0) {
+ pgContact.nickname = contact.nicknames[0];
+ }
+
+ // phoneNumbers
+ if(contact.phoneNumbers && contact.phoneNumbers.length > 0) {
+ pgContact.phoneNumbers = [];
+ for(i = 0, j = contact.phoneNumbers.length ; i < j ; i += 1) {
+ var pgPhoneNumber = {};
+ pgPhoneNumber.value = contact.phoneNumbers[i].number;
+ if(contact.phoneNumbers[i].types &&
+ contact.phoneNumbers[i].types.length > 0) {
+ pgPhoneNumber.type = contact.phoneNumbers[i].types[0];
+ if(contact.phoneNumbers[i].types.indexOf('PREF') != -1) {
+ pgPhoneNumber.pref = true;
+ }
+ }
+ pgContact.phoneNumbers.push(pgPhoneNumber);
+ }
+ }
+
+ // emails
+ if(contact.emails && contact.emails.length > 0) {
+ pgContact.emails = [];
+ for(i = 0, j = contact.emails.length ; i < j ; i += 1) {
+ var pgEmailAddress = {};
+ pgEmailAddress.value = contact.emails[i].email;
+ if(contact.emails[i].types &&
+ contact.emails[i].types.length > 0) {
+ pgEmailAddress.type = contact.emails[i].types[0];
+ if(contact.emails[i].types.indexOf('PREF') != -1) {
+ pgEmailAddress.pref = true;
+ }
+ }
+ pgContact.emails.push(pgEmailAddress);
+ }
+ }
+
+ // addresses
+ if(contact.addresses && contact.addresses.length > 0) {
+ pgContact.addresses = [];
+ for(i = 0, j = contact.addresses.length ; i < j ; i += 1) {
+ var pgAddress = {};
+ pgAddress.country = contact.addresses[i].country;
+ pgAddress.postalCode = contact.addresses[i].postalCode;
+ pgAddress.region = contact.addresses[i].region;
+ pgAddress.locality = contact.addresses[i].city;
+ pgAddress.streetAddress = contact.addresses[i].streetAddress;
+ if(contact.addresses[i].types &&
+ contact.addresses[i].types.length > 0) {
+ pgAddress.type = contact.addresses[i].types[0];
+ if(contact.addresses[i].types.indexOf('PREF') != -1) {
+ pgAddress.pref = true;
+ }
+ }
+ pgContact.addresses.push(pgAddress);
+ }
+ }
+
+ // photos
+ // can only store one photo URL
+ if(contact.photoURL) {
+ pgContact.photos = [{value: contact.photoURL, type: "DEFAULT"}];
+ }
+
+ return pgContact;
+}
+
+function _buildWacFilters(fields, options) {
+ var i, j;
+ var wacFilters = {};
+ for(i = 0, j = fields.length ; i < j ; i += 1) {
+ if(allowedFilters.indexOf(fields[i]) != -1) {
+ wacFilters[fields[i]] = options.filter;
+ }
+ }
+}
+
+module.exports = {
+ save: function(success, fail, params) {
+ var pContact = params[0];
+ var gotBooks = function(books) {
+ var book = books[0];
+ var i, j;
+ var saveSuccess = function(wContact) {
+ success(_wacToPg(wContact));
+ };
+ var saveError = function(e) {
+ fail(e);
+ };
+ if(pContact.id) {
+ book.updateContact(saveSuccess, saveError, _pgToWac(pContact));
+ } else {
+ var wContact = book.createContact(_pgToWac(pContact));
+ book.addContact(saveSuccess, saveError, wContact);
+ }
+ };
+ var gotError = function(e) {
+ fail(e);
+ };
+ deviceapis.pim.contact.getAddressBooks(gotBooks, gotError);
+ },
+ remove: function(success, fail, params) {
+ console.log("Contacts:remove "+JSON.stringify(params));
+ var id = params[0];
+ var gotBooks = function(books) {
+ var book = books[0];
+ var removeSuccess = function() {
+ success();
+ };
+ var removeError = function(e) {
+ fail(e);
+ };
+ var toDelete = function(contacts) {
+ if(contacts.length === 1) {
+ book.deleteContact(removeSuccess, removeError, contacts[0].id);
+ }
+ }
+ if(id) {
+ book.findContacts(toDelete, removeError, {id: id});
+ }
+ };
+ var gotError = function(e) {
+ fail(e);
+ };
+ deviceapis.pim.contact.getAddressBooks(gotBooks, gotError);
+ },
+ search: function(success, fail, params) {
+ var fields = params[0];
+ var options = params[1];
+ var wacFilters = _buildWacFilters(fields, options);
+ var gotBooks = function(books) {
+ var book = books[0];
+ var gotContacts = function(contacts) {
+ var i, j;
+ var pgContacts = [];
+ for(i = 0, j = contacts.length ; i < j ; i += 1) {
+ pgContacts.push(_wacToPg(contacts[i]));
+ }
+ success(pgContacts);
+ };
+ var gotError = function(e) {
+ fail(e);
+ };
+ book.findContacts(gotContacts, gotError, wacFilters);
+ };
+ var gotError = function(e) {
+ fail(e);
+ };
+ deviceapis.pim.contact.getAddressBooks(gotBooks, gotError);
+ }
+};
+
+});
+
// file: lib\bada\plugin\bada\NetworkStatus.js
define("cordova/plugin/bada/NetworkStatus", function(require, exports, module) {
var channel = require('cordova/channel');