upskill-event-manager/assets/js/below-menu-no-toggle.js
Ben Reed cdc5ea85f4 feat: Add comprehensive CSS, JavaScript and theme asset infrastructure
Add massive collection of CSS, JavaScript and theme assets that were previously excluded:

**CSS Files (681 total):**
- HVAC plugin-specific styles (hvac-*.css): 34 files including dashboard, certificates, registration, mobile nav, accessibility fixes, animations, and welcome popup
- Theme framework files (Astra, builder systems, layouts): 200+ files
- Plugin compatibility styles (WooCommerce, WPForms, Elementor, Contact Form 7): 150+ files
- WordPress core and editor styles: 50+ files
- Responsive and RTL language support: 200+ files

**JavaScript Files (400+ total):**
- HVAC plugin functionality (hvac-*.js): 27 files including menu systems, dashboard enhancements, profile sharing, mobile responsive features, accessibility, and animations
- Framework and library files: jQuery plugins, GSAP, AOS, Swiper, Chart.js, Lottie, Isotope
- Plugin compatibility scripts: WPForms, WooCommerce, Elementor, Contact Form 7, LifterLMS
- WordPress core functionality: customizer, admin, block editor compatibility
- Third-party integrations: Stripe, SMTP, analytics, search functionality

**Assets:**
- Certificate background images and logos
- Comprehensive theme styling infrastructure
- Mobile-responsive design systems
- Cross-browser compatibility assets
- Performance-optimized minified versions

**Updated .gitignore:**
- Fixed asset directory whitelisting patterns to properly include CSS/JS/images
- Added proper directory structure recognition (!/assets/css/, !/assets/js/, etc.)
- Maintains security by excluding sensitive files while including essential assets

This commit provides the complete frontend infrastructure needed for:
- Full theme functionality and styling
- Plugin feature implementations
- Mobile responsiveness and accessibility
- Cross-browser compatibility
- Performance optimization
- Developer workflow support
2025-08-11 16:20:31 -03:00

100 lines
No EOL
3.2 KiB
JavaScript

/**
* Below Header Header Styling
*
* @package Astra Addon
* @since 1.0.0
*/
( function() {
var initial_window_width = screen.width;
var toggle_menu_style = document.querySelectorAll( '.ast-no-toggle-below-menu-enable' ) || 0;
if( ! toggle_menu_style.length ) {
return;
}
var __main_header_all = document.querySelectorAll( '.ast-below-header' );
var menu_toggle_all = document.querySelectorAll( '.ast-below-header' );
for (var i = 0; i < menu_toggle_all.length; i++) {
var parentList = __main_header_all[i].querySelectorAll( '.ast-below-header-menu .menu-item' );
var astra_menu_toggle = __main_header_all[i].querySelectorAll( '.ast-below-header-menu .ast-menu-toggle' );
// Add Eevetlisteners for Submenu.
if (astra_menu_toggle.length > 0) {
for (var k = 0; k < astra_menu_toggle.length; k++) {
astra_menu_toggle[k].removeEventListener('click', AstraToggleSubMenu);
astra_menu_toggle[k].addEventListener('click', AstraToggleSubMenu, false);
};
}
var astra_menu_toggle = __main_header_all[i].querySelectorAll( '.ast-below-header-menu > .menu-item > .ast-menu-toggle' );
BelowMenuNoToggle( astra_menu_toggle );
}
function BelowMenuNoToggle( astra_menu_toggle ) {
if( parseInt( window.innerWidth ) <= 480 ) {
for (var i = 0; i < astra_menu_toggle.length; i++) {
astra_menu_toggle[i].addEventListener( 'click', function ( event ) {
event.preventDefault();
var position = this.nextElementSibling.getBoundingClientRect();
var is_set = this.nextElementSibling.getAttribute('data-set');
if( null === is_set ) {
this.nextElementSibling.setAttribute('data-set', true);
this.nextElementSibling.style.width = 'auto';
left = '-' + parseFloat( position.left ) + 'px';
this.nextElementSibling.style.left = left;
var li_width = document.documentElement.clientWidth;
// set width of submenu to full screen.
this.nextElementSibling.style.width = li_width + 'px';
}
});
}
}
}
window.addEventListener( 'resize', function() {
if ( initial_window_width != screen.width ) {
// Update the window width for next time
initial_window_width = screen.width
if ( 'BODY' !== document.activeElement.tagName ) {
return;
}
// Select all sub-menus within .ast-below-header and remove inline styles.
document.querySelectorAll( '.ast-below-header .sub-menu' )
?.forEach( ( subMenu ) => subMenu.removeAttribute( 'style' ) );
// Select all list items within .ast-below-header and remove the 'ast-submenu-expanded' class.
document.querySelectorAll( '.ast-below-header li' )
?.forEach( ( listItem ) => listItem.classList.remove( 'ast-submenu-expanded' ) );
const __main_header_all = document.querySelectorAll( '.ast-below-header' );
const menu_toggle_all = document.querySelectorAll( '.ast-below-header' );
for ( let i = 0; i < menu_toggle_all.length; i++ ) {
const astra_menu_toggle = __main_header_all[i].querySelectorAll( '.ast-below-header-menu > .menu-item > .ast-menu-toggle' );
if ( astra_menu_toggle.length !== 0 ) {
for ( let i = 0; i < astra_menu_toggle.length; i++ ) {
astra_menu_toggle[i].nextElementSibling.removeAttribute( 'data-set' );
}
BelowMenuNoToggle( astra_menu_toggle );
}
}
}
});
})();