odoo18/addons/website/static/src/js/plausible.js

33 lines
953 B
JavaScript

/** @odoo-module **/
import publicWidget from '@web/legacy/js/public/public_widget';
publicWidget.registry.o_plausible_push = publicWidget.Widget.extend({
selector: '.js_plausible_push',
/**
* @override
*/
start() {
window.plausible = window.plausible || function () {
(window.plausible.q = window.plausible.q || []).push(arguments);
};
this._push();
return this._super(...arguments);
},
//--------------------------------------------------------------------------
// Private
//--------------------------------------------------------------------------
/**
* Pushes the event `data-event-name` to Plausible with params
* `data-event-params`
*/
_push() {
const evName = this.$el.data('event-name').toString();
const evParams = this.$el.data('event-params') || {};
window.plausible(evName, {props: evParams});
},
});