2021-02-17 13:09:19 -05:00
|
|
|
import Tracking from '~/tracking';
|
2021-03-10 10:09:11 -05:00
|
|
|
import { TRACKING_CONTEXT_SCHEMA } from './constants';
|
|
|
|
import { getExperimentData } from './utils';
|
2021-02-17 13:09:19 -05:00
|
|
|
|
|
|
|
export default class ExperimentTracking {
|
2021-03-02 16:11:07 -05:00
|
|
|
constructor(experimentName, trackingArgs = {}) {
|
|
|
|
this.trackingArgs = trackingArgs;
|
2021-03-10 10:09:11 -05:00
|
|
|
this.data = getExperimentData(experimentName);
|
2021-02-17 13:09:19 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
event(action) {
|
2021-03-10 10:09:11 -05:00
|
|
|
if (!this.data) {
|
2021-02-17 13:09:19 -05:00
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return Tracking.event(document.body.dataset.page, action, {
|
2021-03-02 16:11:07 -05:00
|
|
|
...this.trackingArgs,
|
2021-02-17 13:09:19 -05:00
|
|
|
context: {
|
|
|
|
schema: TRACKING_CONTEXT_SCHEMA,
|
2021-03-10 10:09:11 -05:00
|
|
|
data: this.data,
|
2021-02-17 13:09:19 -05:00
|
|
|
},
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|