ngx-social-button
Version:
Social login/share buttons for Angular 6, 7, 8
60 lines (59 loc) • 4.37 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import { Component, Input, Output, EventEmitter, Inject, ElementRef, ViewChild } from '@angular/core';
import { DOCUMENT } from '@angular/common';
import { SocialService } from '../social.service';
export class LinkedinSharingButton {
/**
* @param {?} socialAuthService
* @param {?} document
*/
constructor(socialAuthService, document) {
this.socialAuthService = socialAuthService;
this.document = document;
this.share = { href: location.href };
this.response = new EventEmitter();
}
/**
* @return {?}
*/
ngAfterViewInit() {
// add linkedin share button script tag to element
this.element.nativeElement.innerHTML = `<script type="IN/Share" data-url="${this.share.href}"></script>`;
// render share button
// window['IN'] && window['IN'].parse();
}
}
LinkedinSharingButton.decorators = [
{ type: Component, args: [{
selector: 'linkedin-share-button',
template: `
<span #element></span>
`,
},] },
];
/** @nocollapse */
LinkedinSharingButton.ctorParameters = () => [
{ type: SocialService },
{ type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
];
LinkedinSharingButton.propDecorators = {
share: [{ type: Input }],
response: [{ type: Output }],
element: [{ type: ViewChild, args: ['element',] }]
};
if (false) {
/** @type {?} */
LinkedinSharingButton.prototype.share;
/** @type {?} */
LinkedinSharingButton.prototype.response;
/** @type {?} */
LinkedinSharingButton.prototype.element;
/** @type {?} */
LinkedinSharingButton.prototype.socialAuthService;
/** @type {?} */
LinkedinSharingButton.prototype.document;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkaW5TaGFyaW5nQnV0dG9uLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LXNvY2lhbC1idXR0b24vIiwic291cmNlcyI6WyJsaWIvYnV0dG9ucy9saW5rZWRpblNoYXJpbmdCdXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBRWhGLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFRaEQsTUFBTTs7Ozs7SUFNRixZQUFvQixpQkFBZ0MsRUFDZCxRQUFhO1FBRC9CLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBZTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQUs7cUJBTDdCLEVBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUM7d0JBQ3RCLElBQUksWUFBWSxFQUFXO0tBSy9DOzs7O0lBRUQsZUFBZTs7UUFFWCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLEdBQUcscUNBQXFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUM7OztLQUc1Rzs7O1lBckJKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsdUJBQXVCO2dCQUNqQyxRQUFRLEVBQUU7O0tBRVQ7YUFDSjs7OztZQVBPLGFBQWE7NENBZUosTUFBTSxTQUFDLFFBQVE7OztvQkFMM0IsS0FBSzt1QkFDTCxNQUFNO3NCQUNOLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCxcbiAgICBBZnRlclZpZXdJbml0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtTb2NpYWxTZXJ2aWNlfSBmcm9tICcuLi9zb2NpYWwuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGlua2VkaW4tc2hhcmUtYnV0dG9uJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8c3BhbiAjZWxlbWVudD48L3NwYW4+XG4gICAgYCxcbn0pXG5leHBvcnQgY2xhc3MgTGlua2VkaW5TaGFyaW5nQnV0dG9uIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBASW5wdXQoKSBzaGFyZTogYW55ID0ge2hyZWY6IGxvY2F0aW9uLmhyZWZ9O1xuICAgIEBPdXRwdXQoKSByZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8Qm9vbGVhbj4oKTtcbiAgICBAVmlld0NoaWxkKCdlbGVtZW50JykgZWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc29jaWFsQXV0aFNlcnZpY2U6IFNvY2lhbFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogYW55KSB7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICAvLyBhZGQgbGlua2VkaW4gc2hhcmUgYnV0dG9uIHNjcmlwdCB0YWcgdG8gZWxlbWVudFxuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5pbm5lckhUTUwgPSBgPHNjcmlwdCB0eXBlPVwiSU4vU2hhcmVcIiBkYXRhLXVybD1cIiR7dGhpcy5zaGFyZS5ocmVmfVwiPjwvc2NyaXB0PmA7XG4gICAgICAgIC8vIHJlbmRlciBzaGFyZSBidXR0b25cbiAgICAgICAgLy8gd2luZG93WydJTiddICYmIHdpbmRvd1snSU4nXS5wYXJzZSgpO1xuICAgIH1cblxufVxuIl19