UNPKG

ngx-social-button

Version:

Social login/share buttons for Angular 6, 7, 8

60 lines (59 loc) 4.37 kB
/** * @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