42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
/**
|
|
* @file
|
|
* Overrides vertical tabs theming to enable Claro designs.
|
|
*/
|
|
|
|
(($, Drupal) => {
|
|
/**
|
|
* Theme function for a vertical tab.
|
|
*
|
|
* @param {object} settings
|
|
* An object with the following keys:
|
|
* @param {string} settings.title
|
|
* The name of the tab.
|
|
*
|
|
* @return {object}
|
|
* This function has to return an object with at least these keys:
|
|
* - item: The root tab jQuery element
|
|
* - link: The anchor tag that acts as the clickable area of the tab
|
|
* (jQuery version)
|
|
* - summary: The jQuery element that contains the tab summary
|
|
*/
|
|
Drupal.theme.verticalTab = (settings) => {
|
|
const tab = {};
|
|
tab.title = $('<strong class="vertical-tabs__menu-item-title"></strong>');
|
|
tab.title[0].textContent = settings.title;
|
|
tab.item = $(
|
|
'<li class="vertical-tabs__menu-item" tabindex="-1"></li>',
|
|
).append(
|
|
(tab.link = $('<a href="#" class="vertical-tabs__menu-link"></a>').append(
|
|
$('<span class="vertical-tabs__menu-link-content"></span>')
|
|
.append(tab.title)
|
|
.append(
|
|
(tab.summary = $(
|
|
'<span class="vertical-tabs__menu-link-summary"></span>',
|
|
)),
|
|
),
|
|
)),
|
|
);
|
|
return tab;
|
|
};
|
|
})(jQuery, Drupal);
|