From 7c077d960393e14b56d43cceaa7f609c703ac55f Mon Sep 17 00:00:00 2001 From: GitLab Bot Date: Fri, 18 Oct 2019 00:07:45 +0000 Subject: Add latest changes from gitlab-org/gitlab@master --- .../javascripts/vue_shared/directives/track_event.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 app/assets/javascripts/vue_shared/directives/track_event.js (limited to 'app/assets/javascripts/vue_shared/directives') diff --git a/app/assets/javascripts/vue_shared/directives/track_event.js b/app/assets/javascripts/vue_shared/directives/track_event.js new file mode 100644 index 00000000000..d1c05c5c267 --- /dev/null +++ b/app/assets/javascripts/vue_shared/directives/track_event.js @@ -0,0 +1,20 @@ +import Tracking from '~/tracking'; + +export default { + bind(el, binding) { + el.dataset.trackingOptions = JSON.stringify(binding.value || {}); + + el.addEventListener('click', () => { + const { category, action, label, property, value } = JSON.parse(el.dataset.trackingOptions); + if (!category || !action) { + return; + } + Tracking.event(category, action, { label, property, value }); + }); + }, + update(el, binding) { + if (binding.value !== binding.oldValue) { + el.dataset.trackingOptions = JSON.stringify(binding.value || {}); + } + }, +}; -- cgit v1.2.1