generator-landmark-connect
Version:
A Landmark Connect Project Generator for Yeoman
121 lines (108 loc) • 3.69 kB
JavaScript
// NOTE: shareViaEmail -> if user cancels sharing email, success is still called
// NOTE: shareViaEmail -> TO, CC, BCC must be an array, Files can be either null, string or array
// TODO: add support for iPad
// TODO: detailed docs for each social sharing types (each social platform has different requirements)
angular.module('ngCordova.plugins.socialSharing', [])
.factory('$cordovaSocialSharing', ['$q', function ($q) {
return {
share: function (message, subject, file, link) {
var q = $q.defer();
window.plugins.socialsharing.share(message, subject, file, link,
function () {
q.resolve(true); // success
},
function () {
q.reject(false); // error
});
return q.promise;
},
shareViaTwitter: function (message, file, link) {
var q = $q.defer();
window.plugins.socialsharing.shareViaTwitter(message, file, link,
function () {
q.resolve(true); // success
},
function () {
q.reject(false); // error
});
return q.promise;
},
shareViaWhatsApp: function (message, file, link) {
var q = $q.defer();
window.plugins.socialsharing.shareViaWhatsApp(message, file, link,
function () {
q.resolve(true); // success
},
function () {
q.reject(false); // error
});
return q.promise;
},
shareViaFacebook: function (message, file, link) {
var q = $q.defer();
window.plugins.socialsharing.shareViaFacebook(message, file, link,
function () {
q.resolve(true); // success
},
function () {
q.reject(false); // error
});
return q.promise;
},
shareViaSMS: function (message, commaSeparatedPhoneNumbers) {
var q = $q.defer();
window.plugins.socialsharing.shareViaSMS(message, commaSeparatedPhoneNumbers,
function () {
q.resolve(true); // success
},
function () {
q.reject(false); // error
});
return q.promise;
},
shareViaEmail: function (message, subject, toArr, ccArr, bccArr, fileArr) {
var q = $q.defer();
window.plugins.socialsharing.shareViaEmail(message, subject, toArr, ccArr, bccArr, fileArr,
function () {
q.resolve(true); // success
},
function () {
q.reject(false); // error
});
return q.promise;
},
canShareViaEmail: function () {
var q = $q.defer();
window.plugins.socialsharing.canShareViaEmail(
function () {
q.resolve(true); // success
},
function () {
q.reject(false); // error
});
return q.promise;
},
canShareVia: function (via, message, subject, file, link) {
var q = $q.defer();
window.plugins.socialsharing.canShareVia(via, message, subject, file, link,
function (success) {
q.resolve(success); // success
},
function (error) {
q.reject(error); // error
});
return q.promise;
},
shareVia: function (via, message, subject, file, link) {
var q = $q.defer();
window.plugins.socialsharing.shareVia(via, message, subject, file, link,
function () {
q.resolve(true); // success
},
function () {
q.reject(false); // error
});
return q.promise;
}
}
}]);