diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-03 12:08:20 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-03 12:08:20 +0300 |
commit | a1aeaba23e388ac96d34c135c6c55e414f823487 (patch) | |
tree | 12ac28cdba58353efe18053028d6028a965c6358 /app/assets/javascripts/deprecated_jquery_dropdown | |
parent | d72fedf168dafcb38bd51b67f86804738000fb48 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/assets/javascripts/deprecated_jquery_dropdown')
-rw-r--r-- | app/assets/javascripts/deprecated_jquery_dropdown/render.js | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/app/assets/javascripts/deprecated_jquery_dropdown/render.js b/app/assets/javascripts/deprecated_jquery_dropdown/render.js index 66546aa834f..167bc4c286e 100644 --- a/app/assets/javascripts/deprecated_jquery_dropdown/render.js +++ b/app/assets/javascripts/deprecated_jquery_dropdown/render.js @@ -1,3 +1,5 @@ +import { slugify } from '~/lib/utils/text_utility'; + const renderersByType = { divider(element) { element.classList.add('divider'); @@ -95,15 +97,22 @@ function checkSelected(data, options) { return options.parent.querySelector(`input[name='${options.fieldName}']`) == null; } -function createLink(url, selected, options) { +function createLink(data, selected, options, index) { const link = document.createElement('a'); - link.href = url; + link.href = getPropertyWithDefault(data, options, 'url', '#'); if (options.icon) { link.classList.add('d-flex', 'align-items-center'); } + if (options.trackSuggestionClickedLabel) { + link.setAttribute('data-track-event', 'click_text'); + link.setAttribute('data-track-label', options.trackSuggestionClickedLabel); + link.setAttribute('data-track-value', index); + link.setAttribute('data-track-property', slugify(data.category || 'no-category')); + } + link.classList.toggle('is-active', selected); return link; @@ -123,8 +132,7 @@ function assignTextToLink(el, data, options) { function renderLink(row, data, { options, group, index }) { const selected = checkSelected(data, options); - const url = getPropertyWithDefault(data, options, 'url', '#'); - const link = createLink(url, selected, options); + const link = createLink(data, selected, options, index); assignTextToLink(link, data, options); |