@brody182 wrote:
I want to add Cordova Social Sharing plugin to my app and using
the sample code form here in app.js http://ngcordova.com/docs/plugins/socialSharing/it currently does not work... What am I doing wrong?
I am calling the button like this
<button ng-click="shareTwitter()" class="button icon-left button-block ion-social-twitter button-calm">Share On Twitter</button>
the social media buttons are located on this template friends.html, am I calling the right controller here?
.state('tab.friends', { url: '/dash/friends', views: { 'tab-dash': { templateUrl: 'templates/friends.html', controller: 'DashCtrl' } } })
app.js
// Ionic Starter App// angular.module is a global place for creating, registering and retrieving Angular modules // 'starter' is the name of this angular module example (also set in a <body> attribute in index.html) // the 2nd parameter is an array of 'requires' // 'starter.services' is found in services.js // 'starter.controllers' is found in controllers.js angular.module('starter', ['ionic', 'starter.controllers', 'starter.services']) .run(function($ionicPlatform) { $ionicPlatform.ready(function() { // Hide the accessory bar by default (remove this to show the accessory bar above the keyboard // for form inputs) if (window.cordova && window.cordova.plugins && window.cordova.plugins.Keyboard) { cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); cordova.plugins.Keyboard.disableScroll(true); } if (window.StatusBar) { // org.apache.cordova.statusbar required StatusBar.styleDefault(); } }); }) .config(function($stateProvider, $urlRouterProvider) { // Ionic uses AngularUI Router which uses the concept of states // Learn more here: https://github.com/angular-ui/ui-router // Set up the various states which the app can be in. // Each state's controller can be found in controllers.js $stateProvider // setup an abstract state for the tabs directive .state('tab', { url: '/tab', abstract: true, templateUrl: 'templates/tabs.html' }) // Each tab has its own nav history stack: .state('tab.dash', { url: '/dash', views: { 'tab-dash': { templateUrl: 'templates/tab-dash.html', controller: 'DashCtrl' } } }) .state('tab.welcome', { url: '/dash/welcome', views: { 'tab-dash': { templateUrl: 'templates/welcome.html', controller: 'DashCtrl' } } }) .state('tab.transfer', { url: '/dash/transfer', views: { 'tab-dash': { templateUrl: 'templates/transfer-form.html', controller: 'DashCtrl' } } }) .state('tab.refill', { url: '/dash/refill', views: { 'tab-dash': { templateUrl: 'templates/refill.html', controller: 'DashCtrl' } } }) .state('tab.contact', { url: '/dash/contact', views: { 'tab-dash': { templateUrl: 'templates/contact.html', controller: 'DashCtrl' } } }) .state('tab.friends', { url: '/dash/friends', views: { 'tab-dash': { templateUrl: 'templates/friends.html', controller: 'DashCtrl' } } }) .state('tab.chats', { url: '/chats', views: { 'tab-chats': { templateUrl: 'templates/tab-chats.html', controller: 'ChatsCtrl' } } }) .state('tab.chat-detail', { url: '/chats/:chatId', views: { 'tab-chats': { templateUrl: 'templates/chat-detail.html', controller: 'ChatDetailCtrl' } } }) .state('tab.account', { url: '/account', views: { 'tab-account': { templateUrl: 'templates/tab-account.html', controller: 'AccountCtrl' } } }); // if none of the above states are matched, use this as the fallback $urlRouterProvider.otherwise('/tab/dash'); }) .controller('DashCtrl', function($scope, $cordovaSocialSharing) { $scope.shareTwitter = function() { $cordovaSocialSharing .shareViaTwitter(message, image, link) .then(function(result) { // Success! }, function(err) { // An error occurred. Show a message to the user }); }; $scope.shareFacebook = function() { $cordovaSocialSharing .shareViaFacebook(message, image, link) .then(function(result) { // Success! }, function(err) { // An error occurred. Show a message to the user }); }; $scope.shareSMS = function() { // access multiple numbers in a string like: '0612345678,0687654321' $cordovaSocialSharing .shareViaSMS(message, number) .then(function(result) { // Success! }, function(err) { // An error occurred. Show a message to the user }); }; $scope.shareFacebook = function() { // toArr, ccArr and bccArr must be an array, file can be either null, string or array $cordovaSocialSharing .shareViaEmail(message, subject, toArr, ccArr, bccArr, file) .then(function(result) { // Success! }, function(err) { // An error occurred. Show a message to the user }); }; // $cordovaSocialSharing // .canShareViaEmail() // .then(function(result) { // // Yes we can // }, function(err) { // // Nope // }); });
controller.js
angular.module('starter.controllers', []) .controller('DashCtrl', function($scope) {}) .controller('ChatsCtrl', function($scope, Chats) { // With the new view caching in Ionic, Controllers are only called // when they are recreated or on app start, instead of every page change. // To listen for when this page is active (for example, to refresh data), // listen for the $ionicView.enter event: // //$scope.$on('$ionicView.enter', function(e) { //}); $scope.chats = Chats.all(); $scope.remove = function(chat) { Chats.remove(chat); }; }) .controller('ChatDetailCtrl', function($scope, $stateParams, Chats) { $scope.chat = Chats.get($stateParams.chatId); }) .controller('AccountCtrl', function($scope) { $scope.settings = { enableFriends: true }; });
Posts: 1
Participants: 1