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:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-09-03 12:08:20 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-09-03 12:08:20 +0300
commita1aeaba23e388ac96d34c135c6c55e414f823487 (patch)
tree12ac28cdba58353efe18053028d6028a965c6358 /app/assets/javascripts/deprecated_jquery_dropdown
parentd72fedf168dafcb38bd51b67f86804738000fb48 (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.js16
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);