ngx-social-button
Version:
Social login/share buttons for Angular 6, 7, 8
134 lines (133 loc) • 11 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { BaseLoginProviderImpl } from '../entities/baseLoginProviderImpl';
import { LoginProviderClass, SocialUser } from '../entities/user';
var GoogleLoginProvider = /** @class */ (function (_super) {
tslib_1.__extends(GoogleLoginProvider, _super);
function GoogleLoginProvider(clientId) {
var _this = _super.call(this) || this;
_this.clientId = clientId;
_this.loginProviderObj = new LoginProviderClass();
_this.TYPE = 'google';
_this.loginProviderObj.id = clientId;
_this.loginProviderObj.name = 'google';
_this.loginProviderObj.url = 'https://apis.google.com/js/platform.js';
return _this;
}
/**
* @return {?}
*/
GoogleLoginProvider.prototype.initialize = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.loadScript(_this.loginProviderObj, function () {
gapi.load('auth2', function () {
_this.auth2 = gapi.auth2.init({
client_id: _this.clientId,
scope: 'email'
});
_this.auth2.then(function () {
if (_this.auth2.isSignedIn.get()) {
resolve(_this.drawUser());
}
});
});
});
});
};
/**
* @return {?}
*/
GoogleLoginProvider.prototype.drawUser = /**
* @return {?}
*/
function () {
/** @type {?} */
var user = new SocialUser();
/** @type {?} */
var profile = this.auth2.currentUser.get().getBasicProfile();
/** @type {?} */
var authResponseObj = this.auth2.currentUser.get().getAuthResponse(true);
user.id = profile.getId();
user.name = profile.getName();
user.email = profile.getEmail();
user.image = profile.getImageUrl();
user.accessToken = authResponseObj.access_token;
user.idToken = authResponseObj.id_token;
return user;
};
/**
* @param {?=} scopes
* @return {?}
*/
GoogleLoginProvider.prototype.signIn = /**
* @param {?=} scopes
* @return {?}
*/
function (scopes) {
var _this = this;
return new Promise(function (resolve, reject) {
/** @type {?} */
var promise = _this.auth2.signIn();
promise.then(function () {
resolve(_this.drawUser());
}).catch(function (err) {
reject(err);
});
});
};
/**
* @return {?}
*/
GoogleLoginProvider.prototype.signOut = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.auth2.signOut().then(function (err) {
if (err) {
reject(err);
}
else {
resolve();
}
});
});
};
/**
* @param {?=} share
* @return {?}
*/
GoogleLoginProvider.prototype.sharing = /**
* @param {?=} share
* @return {?}
*/
function (share) {
return new Promise(function (resolve, reject) {
resolve();
});
};
GoogleLoginProvider.PROVIDER_TYPE = 'google';
return GoogleLoginProvider;
}(BaseLoginProviderImpl));
export { GoogleLoginProvider };
if (false) {
/** @type {?} */
GoogleLoginProvider.PROVIDER_TYPE;
/** @type {?} */
GoogleLoginProvider.prototype.loginProviderObj;
/** @type {?} */
GoogleLoginProvider.prototype.auth2;
/** @type {?} */
GoogleLoginProvider.prototype.TYPE;
/** @type {?} */
GoogleLoginProvider.prototype.clientId;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlUHJvdmlkZXIuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtc29jaWFsLWJ1dHRvbi8iLCJzb3VyY2VzIjpbImxpYi9wcm92aWRlcnMvZ29vZ2xlUHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUUsVUFBVSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7O0lBSXZCLCtDQUFxQjtJQU8xRCw2QkFBb0IsUUFBZ0I7UUFBcEMsWUFDSSxpQkFBTyxTQUlWO1FBTG1CLGNBQVEsR0FBUixRQUFRLENBQVE7aUNBSlUsSUFBSSxrQkFBa0IsRUFBRTtxQkFFeEQsUUFBUTtRQUlsQixLQUFJLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQztRQUNwQyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN0QyxLQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxHQUFHLHdDQUF3QyxDQUFDOztLQUN4RTs7OztJQUVELHdDQUFVOzs7SUFBVjtRQUFBLGlCQWlCQztRQWhCRyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUMvQixLQUFJLENBQUMsVUFBVSxDQUFDLEtBQUksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2YsS0FBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQzt3QkFDekIsU0FBUyxFQUFFLEtBQUksQ0FBQyxRQUFRO3dCQUN4QixLQUFLLEVBQUUsT0FBTztxQkFDakIsQ0FBQyxDQUFDO29CQUVILEtBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO3dCQUNaLEVBQUUsQ0FBQyxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQzs0QkFDOUIsT0FBTyxDQUFDLEtBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO3lCQUM1QjtxQkFDSixDQUFDLENBQUM7aUJBQ04sQ0FBQyxDQUFDO2FBQ04sQ0FBQyxDQUFDO1NBQ04sQ0FBQyxDQUFDO0tBQ047Ozs7SUFFRCxzQ0FBUTs7O0lBQVI7O1FBQ0ksSUFBTSxJQUFJLEdBQWUsSUFBSSxVQUFVLEVBQUUsQ0FBQzs7UUFDMUMsSUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxFQUFFLENBQUM7O1FBQy9ELElBQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUM7UUFDaEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxJQUFJLENBQUM7S0FDZjs7Ozs7SUFFRCxvQ0FBTTs7OztJQUFOLFVBQU8sTUFBaUI7UUFBeEIsaUJBU0M7UUFSRyxNQUFNLENBQUMsSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTs7WUFDL0IsSUFBTSxPQUFPLEdBQUcsS0FBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNULE9BQU8sQ0FBQyxLQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUM1QixDQUFDLENBQUMsS0FBSyxDQUFDLFVBQUMsR0FBRztnQkFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDZixDQUFDLENBQUM7U0FDTixDQUFDLENBQUM7S0FDTjs7OztJQUVELHFDQUFPOzs7SUFBUDtRQUFBLGlCQVVDO1FBVEcsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDL0IsS0FBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBQyxHQUFRO2dCQUMvQixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDZjtnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDSixPQUFPLEVBQUUsQ0FBQztpQkFDYjthQUNKLENBQUMsQ0FBQztTQUNOLENBQUMsQ0FBQztLQUNOOzs7OztJQUVELHFDQUFPOzs7O0lBQVAsVUFBUSxLQUFXO1FBQ2YsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDL0IsT0FBTyxFQUFFLENBQUM7U0FDYixDQUFDLENBQUM7S0FDTjt3Q0F2RXNDLFFBQVE7OEJBUG5EO0VBS3lDLHFCQUFxQjtTQUFqRCxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Jhc2VMb2dpblByb3ZpZGVySW1wbH0gZnJvbSAnLi4vZW50aXRpZXMvYmFzZUxvZ2luUHJvdmlkZXJJbXBsJztcbmltcG9ydCB7TG9naW5Qcm92aWRlckNsYXNzLCBTb2NpYWxVc2VyfSBmcm9tICcuLi9lbnRpdGllcy91c2VyJztcblxuZGVjbGFyZSBsZXQgZ2FwaTogYW55O1xuXG5leHBvcnQgY2xhc3MgR29vZ2xlTG9naW5Qcm92aWRlciBleHRlbmRzIEJhc2VMb2dpblByb3ZpZGVySW1wbCB7XG5cbiAgICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1ZJREVSX1RZUEUgPSAnZ29vZ2xlJztcbiAgICBwdWJsaWMgbG9naW5Qcm92aWRlck9iajogTG9naW5Qcm92aWRlckNsYXNzID0gbmV3IExvZ2luUHJvdmlkZXJDbGFzcygpO1xuICAgIHByaXZhdGUgYXV0aDI6IGFueTtcbiAgICBwdWJsaWMgVFlQRSA9ICdnb29nbGUnO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBjbGllbnRJZDogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMubG9naW5Qcm92aWRlck9iai5pZCA9IGNsaWVudElkO1xuICAgICAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoubmFtZSA9ICdnb29nbGUnO1xuICAgICAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoudXJsID0gJ2h0dHBzOi8vYXBpcy5nb29nbGUuY29tL2pzL3BsYXRmb3JtLmpzJztcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCk6IFByb21pc2U8U29jaWFsVXNlcj4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkU2NyaXB0KHRoaXMubG9naW5Qcm92aWRlck9iaiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIGdhcGkubG9hZCgnYXV0aDInLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXV0aDIgPSBnYXBpLmF1dGgyLmluaXQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLmNsaWVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2NvcGU6ICdlbWFpbCdcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hdXRoMi50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF1dGgyLmlzU2lnbmVkSW4uZ2V0KCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHRoaXMuZHJhd1VzZXIoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRyYXdVc2VyKCk6IFNvY2lhbFVzZXIge1xuICAgICAgICBjb25zdCB1c2VyOiBTb2NpYWxVc2VyID0gbmV3IFNvY2lhbFVzZXIoKTtcbiAgICAgICAgY29uc3QgcHJvZmlsZSA9IHRoaXMuYXV0aDIuY3VycmVudFVzZXIuZ2V0KCkuZ2V0QmFzaWNQcm9maWxlKCk7XG4gICAgICAgIGNvbnN0IGF1dGhSZXNwb25zZU9iaiA9IHRoaXMuYXV0aDIuY3VycmVudFVzZXIuZ2V0KCkuZ2V0QXV0aFJlc3BvbnNlKHRydWUpO1xuICAgICAgICB1c2VyLmlkID0gcHJvZmlsZS5nZXRJZCgpO1xuICAgICAgICB1c2VyLm5hbWUgPSBwcm9maWxlLmdldE5hbWUoKTtcbiAgICAgICAgdXNlci5lbWFpbCA9IHByb2ZpbGUuZ2V0RW1haWwoKTtcbiAgICAgICAgdXNlci5pbWFnZSA9IHByb2ZpbGUuZ2V0SW1hZ2VVcmwoKTtcbiAgICAgICAgdXNlci5hY2Nlc3NUb2tlbiA9IGF1dGhSZXNwb25zZU9iai5hY2Nlc3NfdG9rZW47XG4gICAgICAgIHVzZXIuaWRUb2tlbiA9IGF1dGhSZXNwb25zZU9iai5pZF90b2tlbjtcbiAgICAgICAgcmV0dXJuIHVzZXI7XG4gICAgfVxuXG4gICAgc2lnbkluKHNjb3Blcz86IFtzdHJpbmddKTogUHJvbWlzZTxTb2NpYWxVc2VyPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwcm9taXNlID0gdGhpcy5hdXRoMi5zaWduSW4oKTtcbiAgICAgICAgICAgIHByb21pc2UudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSh0aGlzLmRyYXdVc2VyKCkpO1xuICAgICAgICAgICAgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNpZ25PdXQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYXV0aDIuc2lnbk91dCgpLnRoZW4oKGVycjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHNoYXJpbmcoc2hhcmU/OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG59XG4iXX0=