pjhartin
4/29/2016 - 11:08 PM

Angular2 - How to nest functions?

Angular2 - How to nest functions?

/**
 * Created by philliphartin on 30/04/2016.
 */
import {Injectable} from 'angular2/core';
import {Facebook} from 'ionic-native';

@Injectable()
export class SocialHandler {

  constructor() {

  }

  general() {
    return {
      share(message, subject, file, link) {
        this.platform.ready().then(() => {
          if (window.plugins.socialsharing) {
            window.plugins.socialsharing.share(message, subject, file, link);
          }
        });
      }
    }
  }

  facebook() {
    return {
      logout() {
        return Facebook.logout();
      },

      login() {
        Facebook.login(["email, public_profile"],
          response => {
            console.info(JSON.stringify(response));
          },
          error => {
            console.error(JSON.stringify(error));
          }
        );
      },

      getStatus() {
        return Facebook.getLoginStatus();
      },

      share(href, caption, description, picture) {

        let dialogOptions = {
          method: "share",
          href: href,
          caption: caption,
          description: description,
          picture: picture
        };

        Facebook.showDialog(dialogOptions).then(
          (response) => {
            console.info(JSON.stringify(response));
          },
          (error) => {
            console.error(JSON.stringify(error));
          });
      }
    }
  }

  twitter() {
    return {
      share(message, image, link) {
        this.platform.ready().then(() => {
          if (window.plugins.socialsharing) {
            window.plugins.socialsharing.canShareVia("twitter", message, null, image, link, function (result) {
              window.plugins.socialsharing.shareViaTwitter(message, image, link);
            }, function (error) {
              console.error(error);
            });
          }
        });
      }
    }
  }


  testFunction() {
    console.log('Button pressed');
    //this.checkStatus();
  }

}