@dotcms/analytics
Version:
Official JavaScript library for Content Analytics with DotCMS.
37 lines (36 loc) • 1.45 kB
TypeScript
import { AnalyticsInstance } from 'analytics';
import { DotCMSAnalyticsConfig } from '../../shared/models';
/**
* Click Plugin for DotAnalytics
* Handles automatic tracking of clicks on content elements.
*
* This plugin initializes the click tracker which:
* - Uses MutationObserver to detect contentlet containers
* - Attaches click listeners to each .dotcms-analytics-contentlet element
* - Filters for clicks on <a> or <button> elements inside tracked contentlets
* - Extracts contentlet data and element metadata
* - Throttles clicks to prevent duplicates
* - Fires 'content_click' events via subscription callback
*
* Note: This plugin is only registered if config.clicks is enabled.
* See getEnhancedTrackingPlugins() for conditional loading logic.
*
* @param {DotCMSAnalyticsConfig} config - Configuration with clicks settings
* @returns {Object} Plugin object with lifecycle methods
*/
export declare const dotAnalyticsClickPlugin: (config: DotCMSAnalyticsConfig) => {
name: string;
/**
* Initialize click tracking
* Called when Analytics.js initializes the plugin with instance context
* @param instance - Analytics.js instance with track method
*/
initialize: ({ instance }: {
instance: AnalyticsInstance;
}) => Promise<void>;
/**
* Setup cleanup handlers when plugin is loaded
* Called after Analytics.js completes plugin loading
*/
loaded: () => boolean;
};