Warning: Attempt to read property "taxonomy" on null in /home/h311177/public_html/wp-content/plugins/seo-by-rank-math/includes/frontend/paper/class-taxonomy.php on line 49

Warning: Attempt to read property "taxonomy" on null in /home/h311177/public_html/wp-content/plugins/seo-by-rank-math/includes/frontend/paper/class-taxonomy.php on line 54

Warning: Attempt to read property "taxonomy" on null in /home/h311177/public_html/wp-content/plugins/seo-by-rank-math/includes/class-term.php on line 110
1404/10/18
1404-07-28
مهر 28, 1404
1404/10/18

Warning: Attempt to read property "term_id" on null in /home/h311177/public_html/wp-content/plugins/elementor-pro/modules/mega-menu/traits/url-helper-trait.php on line 33

Warning: Attempt to read property "taxonomy" on null in /home/h311177/public_html/wp-content/plugins/elementor-pro/modules/mega-menu/traits/url-helper-trait.php on line 33

Warning: Attempt to read property "term_id" on null in /home/h311177/public_html/wp-content/plugins/elementor-pro/modules/mega-menu/traits/url-helper-trait.php on line 33

Warning: Attempt to read property "taxonomy" on null in /home/h311177/public_html/wp-content/plugins/elementor-pro/modules/mega-menu/traits/url-helper-trait.php on line 33
/* Exhibitor name filter scoped to #exhibitors-scope-1 */ (function(){ const SCOPE_SELECTOR = '#exhibitors-scope-1'; const normalize = s => (s||'').toString().trim().toLowerCase() .replace(/[يی]/g,'ی').replace(/[كک]/g,'ک').replace(/[\u200c\u200f\u0640]/g,''); const CARD_SELECTORS = [ '.company-card', '.elementor-loop-container .elementor-grid-item', '.e-loop__container .e-loop-item', '.elementor-posts-container article', '.elementor-grid .elementor-grid-item', '.e-loop-item', '.elementor-archive-post', 'article' ]; const NAME_SELECTORS = [ '.company-name', '.elementor-post__title', '.elementor-heading-title', '.elementor-widget-text-editor', 'h2','h3','h4' ]; function getCards(scope){ const sets = CARD_SELECTORS.map(sel => Array.from(scope.querySelectorAll(sel))); return Array.from(new Set(sets.flat())); } function getNameFromCard(card){ let name = card.getAttribute('data-company') || card.getAttribute('data-company_name') || ''; if(!name){ const el = card.querySelector(NAME_SELECTORS.join(',')); if(el) name = el.textContent || ''; } return normalize(name); } function applyFilter(scope){ const input = scope.querySelector('.exhibitorSearch'); if(!input) return; const q = normalize(input.value); const cards = getCards(scope); let shown = 0; cards.forEach(card=>{ const name = getNameFromCard(card); const match = (!q || name.includes(q)); card.style.display = match ? '' : 'none'; if(match) shown++; }); console.debug('[ExhibitorSearch] scope:', scope, 'q:', q, 'cards:', cards.length, 'shown:', shown); } function bind(scope){ const input = scope.querySelector('.exhibitorSearch'); const btn = scope.querySelector('.search-btn'); if(!input){ console.warn('[ExhibitorSearch] input not found in scope'); return; } const doFilter = ()=>applyFilter(scope); input.addEventListener('input', doFilter); if(btn){ btn.addEventListener('click', e=>{ e.preventDefault(); doFilter(); }); } const target = scope.querySelector('.elementor-loop-container, .e-loop__container, .elementor-posts-container, .elementor-grid') || scope; try{ new MutationObserver(()=>doFilter()).observe(target, {childList:true, subtree:true}); }catch(e){} doFilter(); } function boot(){ document.querySelectorAll(SCOPE_SELECTOR).forEach(bind); } if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot); else boot(); if(window.elementorFrontend && elementorFrontend.hooks){ elementorFrontend.hooks.addAction('frontend/element_ready/loop-grid.default', boot); elementorFrontend.hooks.addAction('frontend/element_ready/posts.default', boot); } })();