UNPKG

ng-cordova

Version:

[ngCordova](http://ngcordova.com/) ==========

157 lines (140 loc) 4.83 kB
// install : cordova plugin add https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin.git // link : https://github.com/EddyVerbruggen/SocialSharing-PhoneGap-Plugin // NOTE: shareViaEmail -> if user cancels sharing email, success is still called // TODO: add support for iPad angular.module('ngCordova.plugins.socialSharing', []) .factory('$cordovaSocialSharing', ['$q', '$window', function ($q, $window) { return { share: function (message, subject, file, link) { var q = $q.defer(); subject = subject || null; file = file || null; link = link || null; $window.plugins.socialsharing.share(message, subject, file, link, function () { q.resolve(true); }, function () { q.reject(false); }); return q.promise; }, shareWithOptions: function (options) { var q = $q.defer(); $window.plugins.socialsharing.shareWithOptions(options, function () { q.resolve(true); }, function () { q.reject(false); }); return q.promise; }, shareViaTwitter: function (message, file, link) { var q = $q.defer(); file = file || null; link = link || null; $window.plugins.socialsharing.shareViaTwitter(message, file, link, function () { q.resolve(true); }, function () { q.reject(false); }); return q.promise; }, shareViaWhatsApp: function (message, file, link) { var q = $q.defer(); file = file || null; link = link || null; $window.plugins.socialsharing.shareViaWhatsApp(message, file, link, function () { q.resolve(true); }, function () { q.reject(false); }); return q.promise; }, shareViaFacebook: function (message, file, link) { var q = $q.defer(); message = message || null; file = file || null; link = link || null; $window.plugins.socialsharing.shareViaFacebook(message, file, link, function () { q.resolve(true); }, function () { q.reject(false); }); return q.promise; }, shareViaFacebookWithPasteMessageHint: function (message, file, link, pasteMessageHint) { var q = $q.defer(); file = file || null; link = link || null; $window.plugins.socialsharing.shareViaFacebookWithPasteMessageHint(message, file, link, pasteMessageHint, function () { q.resolve(true); }, function () { q.reject(false); }); return q.promise; }, shareViaSMS: function (message, commaSeparatedPhoneNumbers) { var q = $q.defer(); $window.plugins.socialsharing.shareViaSMS(message, commaSeparatedPhoneNumbers, function () { q.resolve(true); }, function () { q.reject(false); }); return q.promise; }, shareViaEmail: function (message, subject, toArr, ccArr, bccArr, fileArr) { var q = $q.defer(); toArr = toArr || null; ccArr = ccArr || null; bccArr = bccArr || null; fileArr = fileArr || null; $window.plugins.socialsharing.shareViaEmail(message, subject, toArr, ccArr, bccArr, fileArr, function () { q.resolve(true); }, function () { q.reject(false); }); return q.promise; }, shareVia: function (via, message, subject, file, link) { var q = $q.defer(); message = message || null; subject = subject || null; file = file || null; link = link || null; $window.plugins.socialsharing.shareVia(via, message, subject, file, link, function () { q.resolve(true); }, function () { q.reject(false); }); return q.promise; }, canShareViaEmail: function () { var q = $q.defer(); $window.plugins.socialsharing.canShareViaEmail(function () { q.resolve(true); }, function () { q.reject(false); }); 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); }, function (error) { q.reject(error); }); return q.promise; }, available: function () { var q = $q.defer(); window.plugins.socialsharing.available(function (isAvailable) { if (isAvailable) { q.resolve(); } else { q.reject(); } }); return q.promise; } }; }]);