Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/experiment_tracking.js')
-rw-r--r--app/assets/javascripts/experiment_tracking.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/app/assets/javascripts/experiment_tracking.js b/app/assets/javascripts/experiment_tracking.js
new file mode 100644
index 00000000000..4611af3f857
--- /dev/null
+++ b/app/assets/javascripts/experiment_tracking.js
@@ -0,0 +1,25 @@
+import { get } from 'lodash';
+import Tracking from '~/tracking';
+
+const TRACKING_CONTEXT_SCHEMA = 'iglu:com.gitlab/gitlab_experiment/jsonschema/1-0-0';
+
+export default class ExperimentTracking {
+ constructor(experimentName, { label } = {}) {
+ this.label = label;
+ this.experimentData = get(window, ['gon', 'global', 'experiment', experimentName]);
+ }
+
+ event(action) {
+ if (!this.experimentData) {
+ return false;
+ }
+
+ return Tracking.event(document.body.dataset.page, action, {
+ label: this.label,
+ context: {
+ schema: TRACKING_CONTEXT_SCHEMA,
+ data: this.experimentData,
+ },
+ });
+ }
+}