Skip to content
Snippets Groups Projects
Commit 2fe31cde authored by HRITICK MALLICK's avatar HRITICK MALLICK Committed by Vladimir Roudakov
Browse files

Issue #3449528 by Hritick, jannakha, N-I, Vali Hutchison: Remove jquery dependency

parent b9d060b8
No related branches found
No related tags found
2 merge requests!673449528-remove-jquery-dependency: Removed jquery dependency and converted jquery code into vanilla js.,!55Aligning Apply button in Views Exposed Filter.
Pipeline #194737 passed with warnings
......@@ -121,7 +121,6 @@ drupal.nav-tabs:
js/nav-tabs.js: {}
dependencies:
- core/matchmedia
- core/jquery
- core/drupal
- core/once
- core/drupal.debounce
......
......@@ -5,18 +5,22 @@
* Element requires to have class .is-collapsible and attribute
* [data-drupal-nav-tabs]
*/
(($, Drupal, once) => {
function init(i, tab) {
const tabObj = $(tab);
const target = tab.find('[data-drupal-nav-tabs-target]');
((Drupal, once) => {
function init(index, tab) {
const target = tab.querySelector('[data-drupal-nav-tabs-target]');
const openMenu = () => {
target.toggleClass('is-open');
const toggle = target.find('.tab-toggle');
toggle.attr('aria-expanded', (_, isExpanded) => !(isExpanded === 'true'));
target.classList.toggle('is-open');
const toggle = target.querySelector('.tab-toggle');
const isExpanded = toggle.getAttribute('aria-expanded') === 'true';
toggle.setAttribute('aria-expanded', !isExpanded);
};
tabObj.on('click.tabs', '[data-drupal-nav-tabs-toggle]', openMenu);
tab.addEventListener('click', (event) => {
if (event.target.matches('[data-drupal-nav-tabs-toggle]')) {
openMenu();
}
});
}
/**
......@@ -24,13 +28,10 @@
*/
Drupal.behaviors.navTabs = {
attach(context) {
once(
'nav-tabs',
'[data-drupal-nav-tabs].is-collapsible',
context,
).forEach((value, i) => {
$(value).each(init);
const elements = once('nav-tabs', '[data-drupal-nav-tabs].is-collapsible', context);
elements.forEach((element, index) => {
init(index, element);
});
},
};
})(jQuery, Drupal, once);
})(Drupal, once);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment