@dotcms/analytics
Version:
Official JavaScript library for Content Analytics with DotCMS.
28 lines (27 loc) • 1.05 kB
JavaScript
import { DotCMSClickTracker as o } from "./dot-analytics.click-tracker.js";
import { createPluginLogger as u, isBrowser as a, setupPluginCleanup as s } from "../../shared/utils/dot-analytics.utils.js";
const g = (n) => {
let i = null, l = null;
const e = u("Click", n);
return {
name: "dot-analytics-click",
/**
* Initialize click tracking
* Called when Analytics.js initializes the plugin with instance context
* @param instance - Analytics.js instance with track method
*/
initialize: ({ instance: r }) => (i = new o(n), l = i.onClick((c, t) => {
r.track(c, t);
}), i.initialize(), e.info("Click tracking plugin initialized"), Promise.resolve()),
/**
* Setup cleanup handlers when plugin is loaded
* Called after Analytics.js completes plugin loading
*/
loaded: () => (a() && i && s(() => {
l && (l.unsubscribe(), l = null), i && (i.cleanup(), i = null, e.info("Click tracking cleaned up on page unload"));
}), !0)
};
};
export {
g as dotAnalyticsClickPlugin
};