ngx-google-analytics
Version:
A simple ng-9 wrapper to load Google Analytics dependency by angular way
67 lines • 8.45 kB
JavaScript
import { NgModule } from '@angular/core';
import { NGX_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER } from './initializers/google-analytics.initializer';
import { NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN } from './tokens/ngx-google-analytics-settings-token';
import { GaEventDirective } from './directives/ga-event.directive';
import { GaEventCategoryDirective } from './directives/ga-event-category.directive';
import { GaEventFormInputDirective } from './directives/ga-event-form-input.directive';
import * as i0 from "@angular/core";
/**
* Install Google Analytics Tracking code on your environment and configure tracking ID.
*
* This module should be a dependency on the highest level module of the application, i.e. AppModule in most use cases.
*/
export class NgxGoogleAnalyticsModule {
/**
* You should provide a valid Google TrackingCode. This code will be provided to the entire application by
* `NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN` token. You can inject this code in you components if you like by
* use the following injection code `@Inject(NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN) gaConfig: IGoogleAnalyticsSettings`
*
* @param trackingCode The Google Tracking Code
* @param initCommands When placed, it will run any GA Commands in sequence after setup GA environment.
* @param uri When placed, it will change the default js URI to the provided one.
* @param enableTracing When true, trace GA tracking errors on production mode.
* @param nonce When placed, nonce will be added to script tag.
*/
static forRoot(trackingCode, initCommands = [], uri, enableTracing, nonce) {
return {
ngModule: NgxGoogleAnalyticsModule,
providers: [
{
provide: NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN,
useValue: {
trackingCode,
initCommands,
uri,
enableTracing,
nonce
}
},
NGX_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER,
]
};
}
}
NgxGoogleAnalyticsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgxGoogleAnalyticsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
NgxGoogleAnalyticsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.2", ngImport: i0, type: NgxGoogleAnalyticsModule, declarations: [GaEventDirective,
GaEventCategoryDirective,
GaEventFormInputDirective], exports: [GaEventDirective,
GaEventCategoryDirective,
GaEventFormInputDirective] });
NgxGoogleAnalyticsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgxGoogleAnalyticsModule });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: NgxGoogleAnalyticsModule, decorators: [{
type: NgModule,
args: [{
imports: [],
declarations: [
GaEventDirective,
GaEventCategoryDirective,
GaEventFormInputDirective
],
exports: [
GaEventDirective,
GaEventCategoryDirective,
GaEventFormInputDirective
]
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWdvb2dsZS1hbmFseXRpY3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWdvb2dsZS1hbmFseXRpY3Mvc3JjL2xpYi9uZ3gtZ29vZ2xlLWFuYWx5dGljcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLHlDQUF5QyxFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDeEcsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDcEYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBR3ZGOzs7O0dBSUc7QUFlSCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DOzs7Ozs7Ozs7O09BVUc7SUFDSCxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQW9CLEVBQUUsZUFBMEMsRUFBRSxFQUFFLEdBQVksRUFBRSxhQUF1QixFQUFFLEtBQWM7UUFDdEksT0FBTztZQUNMLFFBQVEsRUFBRSx3QkFBd0I7WUFDbEMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSxtQ0FBbUM7b0JBQzVDLFFBQVEsRUFBRTt3QkFDUixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osR0FBRzt3QkFDSCxhQUFhO3dCQUNiLEtBQUs7cUJBQ3NCO2lCQUM5QjtnQkFDRCx5Q0FBeUM7YUFDMUM7U0FDRixDQUFDO0lBQ0osQ0FBQzs7cUhBN0JVLHdCQUF3QjtzSEFBeEIsd0JBQXdCLGlCQVZqQyxnQkFBZ0I7UUFDaEIsd0JBQXdCO1FBQ3hCLHlCQUF5QixhQUd6QixnQkFBZ0I7UUFDaEIsd0JBQXdCO1FBQ3hCLHlCQUF5QjtzSEFHaEIsd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBZHBDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLEVBQ1I7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLGdCQUFnQjt3QkFDaEIsd0JBQXdCO3dCQUN4Qix5QkFBeUI7cUJBQzFCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0I7d0JBQ2hCLHdCQUF3Qjt3QkFDeEIseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlLCBNb2R1bGVXaXRoUHJvdmlkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJR29vZ2xlQW5hbHl0aWNzQ29tbWFuZCB9IGZyb20gJy4vaW50ZXJmYWNlcy9pLWdvb2dsZS1hbmFseXRpY3MtY29tbWFuZCc7XG5pbXBvcnQgeyBOR1hfR09PR0xFX0FOQUxZVElDU19JTklUSUFMSVpFUl9QUk9WSURFUiB9IGZyb20gJy4vaW5pdGlhbGl6ZXJzL2dvb2dsZS1hbmFseXRpY3MuaW5pdGlhbGl6ZXInO1xuaW1wb3J0IHsgTkdYX0dPT0dMRV9BTkFMWVRJQ1NfU0VUVElOR1NfVE9LRU4gfSBmcm9tICcuL3Rva2Vucy9uZ3gtZ29vZ2xlLWFuYWx5dGljcy1zZXR0aW5ncy10b2tlbic7XG5pbXBvcnQgeyBHYUV2ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2dhLWV2ZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBHYUV2ZW50Q2F0ZWdvcnlEaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZ2EtZXZlbnQtY2F0ZWdvcnkuZGlyZWN0aXZlJztcbmltcG9ydCB7IEdhRXZlbnRGb3JtSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2RpcmVjdGl2ZXMvZ2EtZXZlbnQtZm9ybS1pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSUdvb2dsZUFuYWx5dGljc1NldHRpbmdzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2ktZ29vZ2xlLWFuYWx5dGljcy1zZXR0aW5ncyc7XG5cbi8qKlxuICogSW5zdGFsbCBHb29nbGUgQW5hbHl0aWNzIFRyYWNraW5nIGNvZGUgb24geW91ciBlbnZpcm9ubWVudCBhbmQgY29uZmlndXJlIHRyYWNraW5nIElELlxuICpcbiAqIFRoaXMgbW9kdWxlIHNob3VsZCBiZSBhIGRlcGVuZGVuY3kgb24gdGhlIGhpZ2hlc3QgbGV2ZWwgbW9kdWxlIG9mIHRoZSBhcHBsaWNhdGlvbiwgaS5lLiBBcHBNb2R1bGUgaW4gbW9zdCB1c2UgY2FzZXMuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgR2FFdmVudERpcmVjdGl2ZSxcbiAgICBHYUV2ZW50Q2F0ZWdvcnlEaXJlY3RpdmUsXG4gICAgR2FFdmVudEZvcm1JbnB1dERpcmVjdGl2ZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgR2FFdmVudERpcmVjdGl2ZSxcbiAgICBHYUV2ZW50Q2F0ZWdvcnlEaXJlY3RpdmUsXG4gICAgR2FFdmVudEZvcm1JbnB1dERpcmVjdGl2ZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE5neEdvb2dsZUFuYWx5dGljc01vZHVsZSB7XG4gIC8qKlxuICAgKiBZb3Ugc2hvdWxkIHByb3ZpZGUgYSB2YWxpZCBHb29nbGUgVHJhY2tpbmdDb2RlLiBUaGlzIGNvZGUgd2lsbCBiZSBwcm92aWRlZCB0byB0aGUgZW50aXJlIGFwcGxpY2F0aW9uIGJ5XG4gICAqIGBOR1hfR09PR0xFX0FOQUxZVElDU19TRVRUSU5HU19UT0tFTmAgdG9rZW4uIFlvdSBjYW4gaW5qZWN0IHRoaXMgY29kZSBpbiB5b3UgY29tcG9uZW50cyBpZiB5b3UgbGlrZSBieVxuICAgKiB1c2UgdGhlIGZvbGxvd2luZyBpbmplY3Rpb24gY29kZSBgQEluamVjdChOR1hfR09PR0xFX0FOQUxZVElDU19TRVRUSU5HU19UT0tFTikgZ2FDb25maWc6IElHb29nbGVBbmFseXRpY3NTZXR0aW5nc2BcbiAgICpcbiAgICogQHBhcmFtIHRyYWNraW5nQ29kZSBUaGUgR29vZ2xlIFRyYWNraW5nIENvZGVcbiAgICogQHBhcmFtIGluaXRDb21tYW5kcyBXaGVuIHBsYWNlZCwgaXQgd2lsbCBydW4gYW55IEdBIENvbW1hbmRzIGluIHNlcXVlbmNlIGFmdGVyIHNldHVwIEdBIGVudmlyb25tZW50LlxuICAgKiBAcGFyYW0gdXJpIFdoZW4gcGxhY2VkLCBpdCB3aWxsIGNoYW5nZSB0aGUgZGVmYXVsdCBqcyBVUkkgdG8gdGhlIHByb3ZpZGVkIG9uZS5cbiAgICogQHBhcmFtIGVuYWJsZVRyYWNpbmcgV2hlbiB0cnVlLCB0cmFjZSBHQSB0cmFja2luZyBlcnJvcnMgb24gcHJvZHVjdGlvbiBtb2RlLlxuICAgKiBAcGFyYW0gbm9uY2UgV2hlbiBwbGFjZWQsIG5vbmNlIHdpbGwgYmUgYWRkZWQgdG8gc2NyaXB0IHRhZy5cbiAgICovXG4gIHN0YXRpYyBmb3JSb290KHRyYWNraW5nQ29kZTogc3RyaW5nLCBpbml0Q29tbWFuZHM6IElHb29nbGVBbmFseXRpY3NDb21tYW5kW10gPSBbXSwgdXJpPzogc3RyaW5nLCBlbmFibGVUcmFjaW5nPzogYm9vbGVhbiwgbm9uY2U/OiBzdHJpbmcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPE5neEdvb2dsZUFuYWx5dGljc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogTmd4R29vZ2xlQW5hbHl0aWNzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBOR1hfR09PR0xFX0FOQUxZVElDU19TRVRUSU5HU19UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZToge1xuICAgICAgICAgICAgdHJhY2tpbmdDb2RlLFxuICAgICAgICAgICAgaW5pdENvbW1hbmRzLFxuICAgICAgICAgICAgdXJpLFxuICAgICAgICAgICAgZW5hYmxlVHJhY2luZyxcbiAgICAgICAgICAgIG5vbmNlXG4gICAgICAgICAgfSBhcyBJR29vZ2xlQW5hbHl0aWNzU2V0dGluZ3NcbiAgICAgICAgfSxcbiAgICAgICAgTkdYX0dPT0dMRV9BTkFMWVRJQ1NfSU5JVElBTElaRVJfUFJPVklERVIsXG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19