Skip to content

Commit 7c45ae8

Browse files
authored
[5.1] Minor cleanup for modules JS (#42784)
1 parent 5349253 commit 7c45ae8

File tree

4 files changed

+15
-35
lines changed

4 files changed

+15
-35
lines changed

build/media_source/mod_menu/js/admin-menu.es6.js

Lines changed: 9 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
* @copyright (C) 2019 Open Source Matters, Inc. <https://www.joomla.org>
33
* @license GNU General Public License version 2 or later; see LICENSE.txt
44
*/
5-
const allMenus = document.querySelectorAll('ul.main-nav');
6-
allMenus.forEach((menu) => {
5+
6+
document.querySelectorAll('ul.main-nav').forEach((menu) => {
77
// eslint-disable-next-line no-new, no-undef
88
new MetisMenu(menu);
99
});
@@ -20,12 +20,10 @@ if (!sidebar) {
2020
if (sidebar && !sidebar.getAttribute('data-hidden')) {
2121
// Sidebar
2222
const menuToggle = document.getElementById('menu-collapse');
23-
const firsts = [].slice.call(sidebar.querySelectorAll('.collapse-level-1'));
2423

2524
// Apply 2nd level collapse
26-
firsts.forEach((first) => {
27-
const seconds = [].slice.call(first.querySelectorAll('.collapse-level-1'));
28-
seconds.forEach((second) => {
25+
sidebar.querySelectorAll('.collapse-level-1').forEach((first) => {
26+
first.querySelectorAll('.collapse-level-1').forEach((second) => {
2927
if (second) {
3028
second.classList.remove('collapse-level-1');
3129
second.classList.add('collapse-level-2');
@@ -40,10 +38,7 @@ if (sidebar && !sidebar.getAttribute('data-hidden')) {
4038
menuToggleIcon.classList.toggle('icon-toggle-on');
4139
menuToggleIcon.classList.toggle('icon-toggle-off');
4240

43-
const listItems = [].slice.call(document.querySelectorAll('.main-nav > li'));
44-
listItems.forEach((item) => {
45-
item.classList.remove('open');
46-
});
41+
document.querySelectorAll('.main-nav > li').forEach((item) => item.classList.remove('open'));
4742

4843
const elem = document.querySelector('.child-open');
4944
if (elem) {
@@ -58,14 +53,11 @@ if (sidebar && !sidebar.getAttribute('data-hidden')) {
5853
});
5954

6055
// Sidebar Nav
61-
const allLinks = wrapper.querySelectorAll('a.no-dropdown, a.collapse-arrow, .menu-dashboard > a');
6256
const currentUrl = window.location.href;
6357
const mainNav = document.querySelector('ul.main-nav');
64-
const menuParents = [].slice.call(mainNav.querySelectorAll('li.parent > a'));
65-
const subMenusClose = [].slice.call(mainNav.querySelectorAll('li.parent .close'));
6658

6759
// Set active class
68-
allLinks.forEach((link) => {
60+
wrapper.querySelectorAll('a.no-dropdown, a.collapse-arrow, .menu-dashboard > a').forEach((link) => {
6961
if (
7062
(!link.href.match(/index\.php$/) && currentUrl.indexOf(link.href) === 0)
7163
|| (link.href.match(/index\.php$/) && currentUrl.match(/index\.php$/))) {
@@ -120,20 +112,15 @@ if (sidebar && !sidebar.getAttribute('data-hidden')) {
120112
}));
121113
};
122114

123-
menuParents.forEach((parent) => {
115+
mainNav.querySelectorAll('li.parent > a').forEach((parent) => {
124116
parent.addEventListener('click', openToggle);
125117
parent.addEventListener('keyup', openToggle);
126118
});
127119

128120
// Menu close
129-
subMenusClose.forEach((subMenu) => {
121+
mainNav.querySelectorAll('li.parent .close').forEach((subMenu) => {
130122
subMenu.addEventListener('click', () => {
131-
const menuChildsOpen = [].slice.call(mainNav.querySelectorAll('.open'));
132-
133-
menuChildsOpen.forEach((menuChild) => {
134-
menuChild.classList.remove('open');
135-
});
136-
123+
mainNav.querySelectorAll('.open').forEach((menuChild) => menuChild.classList.remove('open'));
137124
mainNav.classList.remove('child-open');
138125
});
139126
});

build/media_source/mod_menu/js/menu.es6.js

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,9 @@
2727
menuHoverClass: 'show-menu',
2828
dir: 'ltr',
2929
};
30-
const topLevelChilds = nav.querySelectorAll(':scope > li');
3130

3231
// Set tabIndex to -1 so that top_level_childs can't receive focus until menu is open
33-
topLevelChilds.forEach((topLevelEl) => {
32+
nav.querySelectorAll(':scope > li').forEach((topLevelEl) => {
3433
const linkEl = topLevelEl.querySelector('a');
3534
if (linkEl) {
3635
linkEl.tabIndex = '0';
@@ -139,9 +138,6 @@
139138
}
140139

141140
document.addEventListener('DOMContentLoaded', () => {
142-
const navs = document.querySelectorAll('.nav');
143-
[].forEach.call(navs, (nav) => {
144-
setupNavigation(nav);
145-
});
141+
document.querySelectorAll('.nav').forEach((nav) => setupNavigation(nav));
146142
});
147143
})();

build/media_source/mod_quickicon/js/quickicon.es6.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ if (!Joomla) {
1212
throw new Error('Joomla API was not properly initialized');
1313
}
1414

15-
Array.from(document.querySelectorAll('.quickicon')).forEach((quickicon) => {
15+
document.querySelectorAll('.quickicon').forEach((quickicon) => {
1616
const counter = quickicon.querySelector('.quickicon-amount');
1717
if (!counter) {
1818
return;
@@ -30,7 +30,7 @@ Array.from(document.querySelectorAll('.quickicon')).forEach((quickicon) => {
3030
quickicon.classList.add('error');
3131
}
3232

33-
if (Object.prototype.hasOwnProperty.call(response, 'data')) {
33+
if (Object.hasOwn(response, 'data')) {
3434
const name = quickicon.querySelector('.quickicon-name');
3535
const nameSpan = document.createElement('span');
3636
quickicon.classList.add(response.data > 0 ? 'warning' : 'success');

build/media_source/mod_sampledata/js/sampledata-process.es6.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -149,9 +149,7 @@ const sampledataApply = (element) => {
149149
}
150150

151151
// Turn on the progress container
152-
const progressElements = [].slice.call(document.querySelectorAll(`.sampledata-progress-${type}`));
153-
154-
progressElements.forEach((progressElement) => {
152+
document.querySelectorAll(`.sampledata-progress-${type}`).forEach((progressElement) => {
155153
progressElement.classList.remove('d-none');
156154
});
157155

@@ -167,8 +165,7 @@ const sampledataApply = (element) => {
167165
const sampleDataWrapper = document.getElementById('sample-data-wrapper');
168166

169167
if (sampleDataWrapper) {
170-
const links = [].slice.call(sampleDataWrapper.querySelectorAll('.apply-sample-data'));
171-
links.forEach((link) => {
168+
sampleDataWrapper.querySelectorAll('.apply-sample-data').forEach((link) => {
172169
link.addEventListener('click', ({ currentTarget }) => sampledataApply(currentTarget));
173170
});
174171
}

0 commit comments

Comments
 (0)