ngx-social-button
Version:
Social login/share buttons for Angular 6, 7, 8
150 lines (149 loc) • 13.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { SocialUser, LoginProviderClass } from '../entities/user';
import { BaseLoginProviderImpl } from '../entities/baseLoginProviderImpl';
var LinkedinLoginProvider = /** @class */ (function (_super) {
tslib_1.__extends(LinkedinLoginProvider, _super);
function LinkedinLoginProvider(clientId) {
var _this = _super.call(this) || this;
_this.clientId = clientId;
_this.loginProviderObj = new LoginProviderClass();
_this.TYPE = 'linkedin';
_this.loginProviderObj.id = clientId;
_this.loginProviderObj.name = 'linkedin';
_this.loginProviderObj.url = 'https://platform.linkedin.com/in.js';
return _this;
}
/**
* @return {?}
*/
LinkedinLoginProvider.prototype.initialize = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.loadScript(_this.loginProviderObj, function () {
IN.init({
api_key: _this.clientId,
authorize: true,
onLoad: _this.onLinkedInLoad()
});
IN.Event.on(IN, 'auth', function () {
if (IN.User.isAuthorized()) {
IN.API.Raw('/people/~:(id,first-name,last-name,email-address,picture-url)').result(function (res) {
resolve(_this.drawUser(res));
});
}
});
});
});
};
/**
* @return {?}
*/
LinkedinLoginProvider.prototype.onLinkedInLoad = /**
* @return {?}
*/
function () {
IN.Event.on(IN, 'systemReady', function () {
IN.User.refresh();
});
};
/**
* @param {?} response
* @return {?}
*/
LinkedinLoginProvider.prototype.drawUser = /**
* @param {?} response
* @return {?}
*/
function (response) {
/** @type {?} */
var user = new SocialUser();
user.id = response.id;
user.name = response.firstName + ' ' + response.lastName;
user.email = response.emailAddress;
user.image = response.pictureUrl;
user.accessToken = IN.ENV.auth.oauth_token;
return user;
};
/**
* @return {?}
*/
LinkedinLoginProvider.prototype.signIn = /**
* @return {?}
*/
function () {
var _this = this;
return new Promise(function (resolve, reject) {
IN.User.authorize(function () {
IN.API.Raw('/people/~:(id,first-name,last-name,email-address,picture-url)').result(function (res) {
console.log('linkedin', res);
resolve(_this.drawUser(res));
});
});
});
};
/**
* @return {?}
*/
LinkedinLoginProvider.prototype.signOut = /**
* @return {?}
*/
function () {
return new Promise(function (resolve, reject) {
IN.User.logout(function (response) {
resolve();
}, function (err) {
reject(err);
});
});
};
/**
* @param {?=} share
* @return {?}
*/
LinkedinLoginProvider.prototype.sharing = /**
* @param {?=} share
* @return {?}
*/
function (share) {
return new Promise(function (resolve, reject) {
/** @type {?} */
var payload = {
'comment': share ? share.comment : '',
'visibility': {
'code': 'anyone'
}
};
IN.API.Raw('/people/~/shares?format=json')
.method('POST')
.body(JSON.stringify(payload))
.result(function (data) {
console.log('linkedin share', data);
resolve();
})
.error(function (onError) {
console.log('linkedin', onError);
});
});
};
LinkedinLoginProvider.PROVIDER_TYPE = 'linkedin';
return LinkedinLoginProvider;
}(BaseLoginProviderImpl));
export { LinkedinLoginProvider };
if (false) {
/** @type {?} */
LinkedinLoginProvider.PROVIDER_TYPE;
/** @type {?} */
LinkedinLoginProvider.prototype.loginProviderObj;
/** @type {?} */
LinkedinLoginProvider.prototype.TYPE;
/** @type {?} */
LinkedinLoginProvider.prototype.clientId;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkaW5Qcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1zb2NpYWwtYnV0dG9uLyIsInNvdXJjZXMiOlsibGliL3Byb3ZpZGVycy9saW5rZWRpblByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxrQkFBa0IsRUFBbUIsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQzs7SUFJN0IsaURBQXFCO0lBTTVELCtCQUFvQixRQUFnQjtRQUFwQyxZQUNJLGlCQUFPLFNBSVY7UUFMbUIsY0FBUSxHQUFSLFFBQVEsQ0FBUTtpQ0FIVSxJQUFJLGtCQUFrQixFQUFFO3FCQUMvRCxVQUFVO1FBSWIsS0FBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxRQUFRLENBQUM7UUFDcEMsS0FBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7UUFDeEMsS0FBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsR0FBRyxxQ0FBcUMsQ0FBQzs7S0FDckU7Ozs7SUFFRCwwQ0FBVTs7O0lBQVY7UUFBQSxpQkFxQkM7UUFwQkcsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDL0IsS0FBSSxDQUFDLFVBQVUsQ0FBQyxLQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ25DLEVBQUUsQ0FBQyxJQUFJLENBQUM7b0JBQ0osT0FBTyxFQUFFLEtBQUksQ0FBQyxRQUFRO29CQUN0QixTQUFTLEVBQUUsSUFBSTtvQkFDZixNQUFNLEVBQUUsS0FBSSxDQUFDLGNBQWMsRUFBRTtpQkFDaEMsQ0FBQyxDQUFDO2dCQUVILEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUU7b0JBQ3BCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENB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LENBQUMsVUFBQSxPQUFPO2dCQUNWLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3BDLENBQUMsQ0FBQztTQUNWLENBQUMsQ0FBQztLQUNOOzBDQTVGc0MsVUFBVTtnQ0FQckQ7RUFLMkMscUJBQXFCO1NBQW5ELHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U29jaWFsVXNlciwgTG9naW5Qcm92aWRlckNsYXNzLCBMaW5rZWRJblJlc3BvbnNlfSBmcm9tICcuLi9lbnRpdGllcy91c2VyJztcbmltcG9ydCB7QmFzZUxvZ2luUHJvdmlkZXJJbXBsfSBmcm9tICcuLi9lbnRpdGllcy9iYXNlTG9naW5Qcm92aWRlckltcGwnO1xuXG5kZWNsYXJlIGxldCBJTjogYW55O1xuXG5leHBvcnQgY2xhc3MgTGlua2VkaW5Mb2dpblByb3ZpZGVyIGV4dGVuZHMgQmFzZUxvZ2luUHJvdmlkZXJJbXBsIHtcblxuICAgIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPVklERVJfVFlQRSA9ICdsaW5rZWRpbic7XG4gICAgcHVibGljIGxvZ2luUHJvdmlkZXJPYmo6IExvZ2luUHJvdmlkZXJDbGFzcyA9IG5ldyBMb2dpblByb3ZpZGVyQ2xhc3MoKTtcbiAgICBUWVBFID0gJ2xpbmtlZGluJztcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2xpZW50SWQ6IHN0cmluZykge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmouaWQgPSBjbGllbnRJZDtcbiAgICAgICAgdGhpcy5sb2dpblByb3ZpZGVyT2JqLm5hbWUgPSAnbGlua2VkaW4nO1xuICAgICAgICB0aGlzLmxvZ2luUHJvdmlkZXJPYmoudXJsID0gJ2h0dHBzOi8vcGxhdGZvcm0ubGlua2VkaW4uY29tL2luLmpzJztcbiAgICB9XG5cbiAgICBpbml0aWFsaXplKCk6IFByb21pc2U8U29jaWFsVXNlcj4ge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sb2FkU2NyaXB0KHRoaXMubG9naW5Qcm92aWRlck9iaiwgKCkgPT4ge1xuICAgICAgICAgICAgICAgIElOLmluaXQoe1xuICAgICAgICAgICAgICAgICAgICBhcGlfa2V5OiB0aGlzLmNsaWVudElkLFxuICAgICAgICAgICAgICAgICAgICBhdXRob3JpemU6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgIG9uTG9hZDogdGhpcy5vbkxpbmtlZEluTG9hZCgpXG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBJTi5FdmVudC5vbihJTiwgJ2F1dGgnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChJTi5Vc2VyLmlzQXV0aG9yaXplZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBJTi5BUEkuUmF3KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvcGVvcGxlL346KGlkLGZpcnN0LW5hbWUsbGFzdC1uYW1lLGVtYWlsLWFkZHJlc3MscGljdHVyZS11cmwpJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKS5yZXN1bHQoKHJlczogTGlua2VkSW5SZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcihyZXMpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBvbkxpbmtlZEluTG9hZCgpIHtcbiAgICAgICAgSU4uRXZlbnQub24oSU4sICdzeXN0ZW1SZWFkeScsICgpID0+IHtcbiAgICAgICAgICAgIElOLlVzZXIucmVmcmVzaCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkcmF3VXNlcihyZXNwb25zZTogTGlua2VkSW5SZXNwb25zZSk6IFNvY2lhbFVzZXIge1xuXG4gICAgICAgIGNvbnN0IHVzZXI6IFNvY2lhbFVzZXIgPSBuZXcgU29jaWFsVXNlcigpO1xuICAgICAgICB1c2VyLmlkID0gcmVzcG9uc2UuaWQ7XG4gICAgICAgIHVzZXIubmFtZSA9IHJlc3BvbnNlLmZpcnN0TmFtZSArICcgJyArIHJlc3BvbnNlLmxhc3ROYW1lO1xuICAgICAgICB1c2VyLmVtYWlsID0gcmVzcG9uc2UuZW1haWxBZGRyZXNzO1xuICAgICAgICB1c2VyLmltYWdlID0gcmVzcG9uc2UucGljdHVyZVVybDtcbiAgICAgICAgdXNlci5hY2Nlc3NUb2tlbiA9IElOLkVOVi5hdXRoLm9hdXRoX3Rva2VuO1xuICAgICAgICByZXR1cm4gdXNlcjtcbiAgICB9XG5cbiAgICBzaWduSW4oKTogUHJvbWlzZTxTb2NpYWxVc2VyPiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBJTi5Vc2VyLmF1dGhvcml6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgSU4uQVBJLlJhdygnL3Blb3BsZS9+OihpZCxmaXJzdC1uYW1lLGxhc3QtbmFtZSxlbWFpbC1hZGRyZXNzLHBpY3R1cmUtdXJsKScpLnJlc3VsdCgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdsaW5rZWRpbicsIHJlcyk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUodGhpcy5kcmF3VXNlcihyZXMpKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzaWduT3V0KCk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBJTi5Vc2VyLmxvZ291dCgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgIH0sIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuXG4gICAgc2hhcmluZyhzaGFyZT86IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgICAgICAgICAgICdjb21tZW50Jzogc2hhcmUgPyBzaGFyZS5jb21tZW50IDogJycsXG4gICAgICAgICAgICAgICAgJ3Zpc2liaWxpdHknOiB7XG4gICAgICAgICAgICAgICAgICAgICdjb2RlJzogJ2FueW9uZSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgSU4uQVBJLlJhdygnL3Blb3BsZS9+L3NoYXJlcz9mb3JtYXQ9anNvbicpXG4gICAgICAgICAgICAgICAgLm1ldGhvZCgnUE9TVCcpXG4gICAgICAgICAgICAgICAgLmJvZHkoSlNPTi5zdHJpbmdpZnkocGF5bG9hZCkpXG4gICAgICAgICAgICAgICAgLnJlc3VsdChkYXRhID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2xpbmtlZGluIHNoYXJlJywgZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5lcnJvcihvbkVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2xpbmtlZGluJywgb25FcnJvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxufVxuIl19