@atlaskit/analytics-listeners
Version:
Fabric analytics listeners to be used by the products
32 lines • 983 B
JavaScript
import _defineProperty from "@babel/runtime/helpers/defineProperty";
import React from 'react';
import { AnalyticsListener } from '@atlaskit/analytics-next';
import { sendEvent } from './analytics-web-client-wrapper';
export default class GenericAnalyticsListener extends React.Component {
constructor(...args) {
super(...args);
_defineProperty(this, "listenerHandler", event => {
const {
client,
logger,
channel,
processEvent
} = this.props;
if (!event.payload) {
return;
}
logger.debug(`Received ${channel} event`, event);
const payload = processEvent(event, logger);
logger.debug(`Processed ${channel} event`, payload);
if (payload) {
sendEvent(logger, client)(payload);
}
});
}
render() {
return /*#__PURE__*/React.createElement(AnalyticsListener, {
onEvent: this.listenerHandler,
channel: this.props.channel
}, this.props.children);
}
}