UNPKG

@bloomscorp/ngx-pixel

Version:

An Angular library to simplify the use of a Facebook Pixel. This is directly forked from https://github.com/NielsCodes/ngx-pixel since the library is no longer maintained.

55 lines 6.39 kB
import { Inject, NgModule, PLATFORM_ID } from '@angular/core'; import { isPlatformBrowser } from '@angular/common'; import { PixelService } from './pixel.service'; import * as i0 from "@angular/core"; import * as i1 from "./pixel.service"; export class PixelModule { static { this.config = null; } constructor(pixel, platformId) { this.pixel = pixel; if (!PixelModule.config) { throw Error('ngx-pixel not configured correctly. Pass the `pixelId` property to the `forRoot()` function'); } if (PixelModule.config.enabled && isPlatformBrowser(platformId)) { this.pixel.initialize(); } } /** * Initiale the Facebook Pixel Module * * Add your Pixel ID as parameter */ static forRoot(config) { this.config = config; const pixelId = config.pixelId; this.verifyPixelId(pixelId); return { ngModule: PixelModule, providers: [PixelService, { provide: 'config', useValue: config }] }; } /** * Verifies the Pixel ID that was passed into the configuration. * - Checks if Pixel was initialized * @param pixelId Pixel ID to verify */ static verifyPixelId(pixelId) { // Have to verify first that all Pixel IDs follow the same 15 digit format if (pixelId === null || pixelId === undefined || pixelId.length === 0) { throw Error('Invalid Facebook Pixel ID. Did you pass the ID into the forRoot() function?'); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PixelModule, deps: [{ token: i1.PixelService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.NgModule }); } static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: PixelModule }); } static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PixelModule }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PixelModule, decorators: [{ type: NgModule, args: [{ imports: [], }] }], ctorParameters: () => [{ type: i1.PixelService }, { type: Object, decorators: [{ type: Inject, args: [PLATFORM_ID] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl4ZWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcGl4ZWwvc3JjL2xpYi9waXhlbC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBdUIsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQUsvQyxNQUFNLE9BQU8sV0FBVzthQUVQLFdBQU0sR0FBOEIsSUFBSSxBQUFsQyxDQUFtQztJQUV4RCxZQUNVLEtBQW1CLEVBQ04sVUFBa0I7UUFEL0IsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUczQixJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3hCLE1BQU0sS0FBSyxDQUFDLDZGQUE2RixDQUFDLENBQUM7UUFDN0csQ0FBQztRQUNELElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksaUJBQWlCLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNoRSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFCLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBMEI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTVCLE9BQU87WUFDTCxRQUFRLEVBQUUsV0FBVztZQUNyQixTQUFTLEVBQUUsQ0FBQyxZQUFZLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQWU7UUFDMUMsMEVBQTBFO1FBQzFFLElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssU0FBUyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEUsTUFBTSxLQUFLLENBQUMsNkVBQTZFLENBQUMsQ0FBQztRQUM3RixDQUFDO0lBQ0gsQ0FBQzs4R0ExQ1UsV0FBVyw4Q0FNWixXQUFXOytHQU5WLFdBQVc7K0dBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFIdkIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsRUFBRTtpQkFDWjs7MEJBT0ksTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGl4ZWxDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9waXhlbC5tb2RlbHMnO1xuaW1wb3J0IHsgSW5qZWN0LCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBpeGVsU2VydmljZSB9IGZyb20gJy4vcGl4ZWwuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBQaXhlbE1vZHVsZSB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgY29uZmlnOiBQaXhlbENvbmZpZ3VyYXRpb24gfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHBpeGVsOiBQaXhlbFNlcnZpY2UsXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0XG4gICkge1xuICAgIGlmICghUGl4ZWxNb2R1bGUuY29uZmlnKSB7XG4gICAgICB0aHJvdyBFcnJvcignbmd4LXBpeGVsIG5vdCBjb25maWd1cmVkIGNvcnJlY3RseS4gUGFzcyB0aGUgYHBpeGVsSWRgIHByb3BlcnR5IHRvIHRoZSBgZm9yUm9vdCgpYCBmdW5jdGlvbicpO1xuICAgIH1cbiAgICBpZiAoUGl4ZWxNb2R1bGUuY29uZmlnLmVuYWJsZWQgJiYgaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCkpIHtcbiAgICAgIHRoaXMucGl4ZWwuaW5pdGlhbGl6ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsZSB0aGUgRmFjZWJvb2sgUGl4ZWwgTW9kdWxlXG4gICAqXG4gICAqIEFkZCB5b3VyIFBpeGVsIElEIGFzIHBhcmFtZXRlclxuICAgKi9cbiAgc3RhdGljIGZvclJvb3QoY29uZmlnOiBQaXhlbENvbmZpZ3VyYXRpb24pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFBpeGVsTW9kdWxlPiB7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgY29uc3QgcGl4ZWxJZCA9IGNvbmZpZy5waXhlbElkO1xuICAgIHRoaXMudmVyaWZ5UGl4ZWxJZChwaXhlbElkKTtcblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUGl4ZWxNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtQaXhlbFNlcnZpY2UsIHsgcHJvdmlkZTogJ2NvbmZpZycsIHVzZVZhbHVlOiBjb25maWcgfV1cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmaWVzIHRoZSBQaXhlbCBJRCB0aGF0IHdhcyBwYXNzZWQgaW50byB0aGUgY29uZmlndXJhdGlvbi5cbiAgICogLSBDaGVja3MgaWYgUGl4ZWwgd2FzIGluaXRpYWxpemVkXG4gICAqIEBwYXJhbSBwaXhlbElkIFBpeGVsIElEIHRvIHZlcmlmeVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgdmVyaWZ5UGl4ZWxJZChwaXhlbElkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyBIYXZlIHRvIHZlcmlmeSBmaXJzdCB0aGF0IGFsbCBQaXhlbCBJRHMgZm9sbG93IHRoZSBzYW1lIDE1IGRpZ2l0IGZvcm1hdFxuICAgIGlmIChwaXhlbElkID09PSBudWxsIHx8IHBpeGVsSWQgPT09IHVuZGVmaW5lZCB8fCBwaXhlbElkLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgRXJyb3IoJ0ludmFsaWQgRmFjZWJvb2sgUGl4ZWwgSUQuIERpZCB5b3UgcGFzcyB0aGUgSUQgaW50byB0aGUgZm9yUm9vdCgpIGZ1bmN0aW9uPycpO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=