UNPKG

@tangential/analytics

Version:

Analytics and advertising - monitization, generally.

124 lines 13.7 kB
/* CommonModule required for ngStyle */ import { CommonModule } from '@angular/common'; /** * * Source: https://github.com/scttcper/ng2-adsense/blob/master/src/lib/ng2-adsense.ts * */ import { Component, InjectionToken, Input, NgModule, } from '@angular/core'; import * as i0 from "@angular/core"; export class AdsenseConfig { constructor(config = {}) { this.adClient = config.adClient || this.adClient; this.adSlot = config.adSlot || this.adSlot; this.adFormat = config.adFormat || this.adFormat; this.display = config.display || 'block'; this.width = config.width; this.height = config.height; } } export class AdsenseComponent { constructor(config) { this.config = config; this.adFormat = 'auto'; this.adRegion = 'page-' + Math.floor(Math.random() * 10000) + 1; this.pushed = false; } ngOnInit() { this.adClient = this.adClient || this.config.adClient; this.adSlot = this.adSlot || this.config.adSlot; this.adFormat = this.adFormat || this.config.adFormat; this.display = this.display || this.config.display; this.width = this.width || this.config.width; this.height = this.height || this.config.height; } ngAfterViewInit() { // attempts to push the ad twice. Usually if one doesn't work the other // will depending on if the browser has the adsense code cached this.push(); if (!this.pushed) { setTimeout(() => this.push(), 200); } } push() { try { const adsByGoogle = window['adsbygoogle']; adsByGoogle.push({}); this.pushed = true; } catch (e) { console.warn('Could not load ads'); } } } AdsenseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: AdsenseComponent, deps: [{ token: AdsenseConfig }], target: i0.ɵɵFactoryTarget.Component }); AdsenseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.10", type: AdsenseComponent, selector: "ng2-adsense", inputs: { adClient: "adClient", adSlot: "adSlot", adFormat: "adFormat", adRegion: "adRegion", display: "display", width: "width", height: "height" }, ngImport: i0, template: ` <div class="ng2-adsense"> <ins class="adsbygoogle" style="display:inline-block;width:320px;height:50px" [attr.data-ad-client]="adClient" [attr.data-ad-slot]="adSlot" [attr.data-ad-format]="adFormat" [attr.data-ad-region]="adRegion"></ins> </div> `, isInline: true, styles: [".ng2-adsense{padding-bottom:8px}\n"] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: AdsenseComponent, decorators: [{ type: Component, args: [{ selector: 'ng2-adsense', template: ` <div class="ng2-adsense"> <ins class="adsbygoogle" style="display:inline-block;width:320px;height:50px" [attr.data-ad-client]="adClient" [attr.data-ad-slot]="adSlot" [attr.data-ad-format]="adFormat" [attr.data-ad-region]="adRegion"></ins> </div> `, styles: [".ng2-adsense{padding-bottom:8px}\n"] }] }], ctorParameters: function () { return [{ type: AdsenseConfig }]; }, propDecorators: { adClient: [{ type: Input }], adSlot: [{ type: Input }], adFormat: [{ type: Input }], adRegion: [{ type: Input }], display: [{ type: Input }], width: [{ type: Input }], height: [{ type: Input }] } }); export const ADSENSE_CONFIG = new InjectionToken('AdsenseConfig'); export function provideAdsenseConfig(config) { return new AdsenseConfig(config); } export class AdsenseModule { static forRoot(config) { return { ngModule: AdsenseModule, providers: [ { provide: ADSENSE_CONFIG, useValue: config }, { provide: AdsenseConfig, useFactory: provideAdsenseConfig, deps: [ADSENSE_CONFIG] } ] }; } } AdsenseModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: AdsenseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); AdsenseModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.10", ngImport: i0, type: AdsenseModule, declarations: [AdsenseComponent], imports: [CommonModule], exports: [AdsenseComponent] }); AdsenseModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: AdsenseModule, imports: [CommonModule] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.10", ngImport: i0, type: AdsenseModule, decorators: [{ type: NgModule, args: [{ imports: [CommonModule], exports: [AdsenseComponent], declarations: [AdsenseComponent], }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmcyLWFkc2Vuc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nZW50aWFsL2FuYWx5dGljcy9zcmMvbGliL25nMi1hZHNlbnNlLWZvcmsvbmcyLWFkc2Vuc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUM1Qzs7OztHQUlHO0FBQ0gsT0FBTyxFQUVMLFNBQVMsRUFBRSxjQUFjLEVBQ3pCLEtBQUssRUFFTCxRQUFRLEdBRVQsTUFBTSxlQUFlLENBQUE7O0FBSXRCLE1BQU0sT0FBTyxhQUFhO0lBU3hCLFlBQVksU0FBd0IsRUFBRTtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksT0FBTyxDQUFBO1FBQ3hDLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUE7SUFDN0IsQ0FBQztDQUNGO0FBbUJELE1BQU0sT0FBTyxnQkFBZ0I7SUFZM0IsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQVRoQyxhQUFRLEdBQUcsTUFBTSxDQUFDO1FBQ2xCLGFBQVEsR0FBRyxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLEdB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QUNoQyxZQUFZLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztpQkFDakMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBDb21tb25Nb2R1bGUgcmVxdWlyZWQgZm9yIG5nU3R5bGUgKi9cbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG4vKipcbiAqXG4gKiBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9zY3R0Y3Blci9uZzItYWRzZW5zZS9ibG9iL21hc3Rlci9zcmMvbGliL25nMi1hZHNlbnNlLnRzXG4gKlxuICovXG5pbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDb21wb25lbnQsIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZGVjbGFyZSBjb25zdCB3aW5kb3dcblxuZXhwb3J0IGNsYXNzIEFkc2Vuc2VDb25maWcge1xuXG4gIGFkQ2xpZW50Pzogc3RyaW5nO1xuICBhZFNsb3Q/OiBzdHJpbmcgfCBudW1iZXI7XG4gIGFkRm9ybWF0Pzogc3RyaW5nO1xuICBkaXNwbGF5Pzogc3RyaW5nO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZzogQWRzZW5zZUNvbmZpZyA9IHt9KSB7XG4gICAgdGhpcy5hZENsaWVudCA9IGNvbmZpZy5hZENsaWVudCB8fCB0aGlzLmFkQ2xpZW50O1xuICAgIHRoaXMuYWRTbG90ID0gY29uZmlnLmFkU2xvdCB8fCB0aGlzLmFkU2xvdDtcbiAgICB0aGlzLmFkRm9ybWF0ID0gY29uZmlnLmFkRm9ybWF0IHx8IHRoaXMuYWRGb3JtYXQ7XG4gICAgdGhpcy5kaXNwbGF5ID0gY29uZmlnLmRpc3BsYXkgfHwgJ2Jsb2NrJ1xuICAgIHRoaXMud2lkdGggPSBjb25maWcud2lkdGhcbiAgICB0aGlzLmhlaWdodCA9IGNvbmZpZy5oZWlnaHRcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZzItYWRzZW5zZScsXG4gIHRlbXBsYXRlOiBgXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuZzItYWRzZW5zZVwiPlxuICAgICAgICAgICAgICAgIDxpbnMgY2xhc3M9XCJhZHNieWdvb2dsZVwiXG4gICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImRpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjMyMHB4O2hlaWdodDo1MHB4XCJcbiAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYWQtY2xpZW50XT1cImFkQ2xpZW50XCJcbiAgICAgICAgICAgICAgICAgICAgIFthdHRyLmRhdGEtYWQtc2xvdF09XCJhZFNsb3RcIlxuICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hZC1mb3JtYXRdPVwiYWRGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1hZC1yZWdpb25dPVwiYWRSZWdpb25cIj48L2lucz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICBgLFxuICBzdHlsZXM6ICAgW1xuICAgICAgYC5uZzItYWRzZW5zZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbSA6IDhweDtcbiAgICB9IGBdXG59KVxuZXhwb3J0IGNsYXNzIEFkc2Vuc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xuICBASW5wdXQoKSBhZENsaWVudDogc3RyaW5nO1xuICBASW5wdXQoKSBhZFNsb3Q6IHN0cmluZyB8IG51bWJlcjtcbiAgQElucHV0KCkgYWRGb3JtYXQgPSAnYXV0byc7XG4gIEBJbnB1dCgpIGFkUmVnaW9uID0gJ3BhZ2UtJyArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwKSArIDE7XG4gIEBJbnB1dCgpIGRpc3BsYXk6IHN0cmluZztcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcbiAgQElucHV0KCkgaGVpZ2h0OiBudW1iZXI7XG5cblxuICBwcml2YXRlIHB1c2hlZDogYm9vbGVhbiA9IGZhbHNlXG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25maWc6IEFkc2Vuc2VDb25maWcpIHtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWRDbGllbnQgPSB0aGlzLmFkQ2xpZW50IHx8IHRoaXMuY29uZmlnLmFkQ2xpZW50O1xuICAgIHRoaXMuYWRTbG90ID0gdGhpcy5hZFNsb3QgfHwgdGhpcy5jb25maWcuYWRTbG90O1xuICAgIHRoaXMuYWRGb3JtYXQgPSB0aGlzLmFkRm9ybWF0IHx8IHRoaXMuY29uZmlnLmFkRm9ybWF0O1xuICAgIHRoaXMuZGlzcGxheSA9IHRoaXMuZGlzcGxheSB8fCB0aGlzLmNvbmZpZy5kaXNwbGF5O1xuICAgIHRoaXMud2lkdGggPSB0aGlzLndpZHRoIHx8IHRoaXMuY29uZmlnLndpZHRoO1xuICAgIHRoaXMuaGVpZ2h0ID0gdGhpcy5oZWlnaHQgfHwgdGhpcy5jb25maWcuaGVpZ2h0O1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIC8vIGF0dGVtcHRzIHRvIHB1c2ggdGhlIGFkIHR3aWNlLiBVc3VhbGx5IGlmIG9uZSBkb2Vzbid0IHdvcmsgdGhlIG90aGVyXG4gICAgLy8gd2lsbCBkZXBlbmRpbmcgb24gaWYgdGhlIGJyb3dzZXIgaGFzIHRoZSBhZHNlbnNlIGNvZGUgY2FjaGVkXG4gICAgdGhpcy5wdXNoKCk7XG4gICAgaWYgKCF0aGlzLnB1c2hlZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnB1c2goKSwgMjAwKTtcbiAgICB9XG4gIH1cblxuICBwdXNoKCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBhZHNCeUdvb2dsZSA9IHdpbmRvd1snYWRzYnlnb29nbGUnXTtcbiAgICAgIGFkc0J5R29vZ2xlIC5wdXNoKHt9KTtcbiAgICAgIHRoaXMucHVzaGVkID0gdHJ1ZVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IGxvYWQgYWRzJylcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IEFEU0VOU0VfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuKCdBZHNlbnNlQ29uZmlnJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQWRzZW5zZUNvbmZpZyhjb25maWc6IEFkc2Vuc2VDb25maWcpIHtcbiAgcmV0dXJuIG5ldyBBZHNlbnNlQ29uZmlnKGNvbmZpZyk7XG59XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6ICAgICAgW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6ICAgICAgW0Fkc2Vuc2VDb21wb25lbnRdLFxuICBkZWNsYXJhdGlvbnM6IFtBZHNlbnNlQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgQWRzZW5zZU1vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IEFkc2Vuc2VDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPEFkc2Vuc2VNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6ICBBZHNlbnNlTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiAgQURTRU5TRV9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZ1xuICAgICAgICB9LCB7XG4gICAgICAgICAgcHJvdmlkZTogICAgQWRzZW5zZUNvbmZpZyxcbiAgICAgICAgICB1c2VGYWN0b3J5OiBwcm92aWRlQWRzZW5zZUNvbmZpZyxcbiAgICAgICAgICBkZXBzOiAgICAgICBbQURTRU5TRV9DT05GSUddXG4gICAgICAgIH1dXG4gICAgfTtcbiAgfVxufVxuIl19