diff --git a/core/src/main/resources/lib/layout/dropdowns/item.jelly b/core/src/main/resources/lib/layout/dropdowns/item.jelly index bce5206f419e..e564c7eb38e3 100644 --- a/core/src/main/resources/lib/layout/dropdowns/item.jelly +++ b/core/src/main/resources/lib/layout/dropdowns/item.jelly @@ -37,6 +37,9 @@ THE SOFTWARE. Optional HREF for the menu item + + Optional class for the menu item + @@ -48,5 +51,6 @@ THE SOFTWARE. data-dropdown-icon="${icon}" data-dropdown-text="${attrs.text}" data-dropdown-href="${attrs.href}" + data-dropdown-clazz="${attrs.clazz}" /> diff --git a/war/src/main/js/components/dropdowns/templates.js b/war/src/main/js/components/dropdowns/templates.js index db8ac901c4d2..8f8e677a38f6 100644 --- a/war/src/main/js/components/dropdowns/templates.js +++ b/war/src/main/js/components/dropdowns/templates.js @@ -45,7 +45,7 @@ function menuItem(options) { const tag = itemOptions.type === "link" ? "a" : "button"; const item = createElementFromHtml(` - <${tag} class="jenkins-dropdown__item" href="${itemOptions.url}" id="${itemOptions.id}"> + <${tag} class="jenkins-dropdown__item ${itemOptions.clazz ? itemOptions.clazz : ''}" href="${itemOptions.url}" id="${itemOptions.id}"> ${ itemOptions.icon ? `
${ diff --git a/war/src/main/js/components/dropdowns/utils.js b/war/src/main/js/components/dropdowns/utils.js index 0cafe3f74dda..8a3677c939b1 100644 --- a/war/src/main/js/components/dropdowns/utils.js +++ b/war/src/main/js/components/dropdowns/utils.js @@ -153,6 +153,7 @@ function convertHtmlToItems(children) { id: attributes.dropdownId, icon: attributes.dropdownIcon, iconXml: attributes.dropdownIcon, + clazz: attributes.dropdownClazz, }; if (attributes.dropdownHref) {