diff options
author | Heinrich Lee Yu <heinrich@gitlab.com> | 2019-02-15 12:17:03 +0800 |
---|---|---|
committer | Heinrich Lee Yu <heinrich@gitlab.com> | 2019-02-27 23:02:43 +0800 |
commit | e76e1e809f8ceefe40d823feb3ac27d1b3d96a09 (patch) | |
tree | 2d75ba1d9e70bcc562f5960baecd731abcba6c48 /app/assets | |
parent | bf0b7927dbd2461241d8a7e8815ee4fdc432f848 (diff) | |
download | gitlab-ce-e76e1e809f8ceefe40d823feb3ac27d1b3d96a09.tar.gz |
Improve glDropdown rendering performance
Return jQuery element instead of HTML for renderRow for labels select
Diffstat (limited to 'app/assets')
-rw-r--r-- | app/assets/javascripts/gl_dropdown.js | 18 | ||||
-rw-r--r-- | app/assets/javascripts/labels_select.js | 5 |
2 files changed, 4 insertions, 19 deletions
diff --git a/app/assets/javascripts/gl_dropdown.js b/app/assets/javascripts/gl_dropdown.js index a8ac2f510a4..27d8669b256 100644 --- a/app/assets/javascripts/gl_dropdown.js +++ b/app/assets/javascripts/gl_dropdown.js @@ -656,23 +656,7 @@ GitLabDropdown = (function() { if (this.options.renderMenu) { return this.options.renderMenu(html); } else { - var ul = document.createElement('ul'); - - for (var i = 0; i < html.length; i += 1) { - var el = html[i]; - - if (el instanceof $) { - el = el.get(0); - } - - if (typeof el === 'string') { - ul.innerHTML += el; - } else { - ul.appendChild(el); - } - } - - return ul; + return $('<ul>').append(html); } }; diff --git a/app/assets/javascripts/labels_select.js b/app/assets/javascripts/labels_select.js index f7a611fbca0..4497a00bc90 100644 --- a/app/assets/javascripts/labels_select.js +++ b/app/assets/javascripts/labels_select.js @@ -266,9 +266,10 @@ export default class LabelsSelect { selectedClass.push('label-item'); $a.attr('data-label-id', label.id); } + $a.addClass(selectedClass.join(' ')).html(`${colorEl} ${_.escape(label.title)}`); - // Return generated html - return $li.html($a).prop('outerHTML'); + + return $li.html($a); }, search: { fields: ['title'], |