🚀 Advanced Web Server Manager
Complete File Manager & Terminal - Standalone Version
By Sid Gifari | Gifari Industries
Current path:
/
/
mnt
/
web613
/
c2
/
38
/
570372438
/
htdocs
/
STRATO-apps
/
wordpress_02
/
app
/
wp-content
/
plugins
/
elementor
/
modules
/
atomic-widgets
/
elements
/
atomic-tabs
/
handlers
✏️
Editing: atomic-tabs-preview-handler.js
import { register } from '@elementor/frontend-handlers'; import { Alpine, refreshTree } from '@elementor/alpinejs'; import { TAB_ELEMENT_TYPE, TAB_CONTENT_ELEMENT_TYPE, getIndex } from './utils'; import { setActiveTabIndex } from './editor-tabs-state'; register( { elementType: 'e-tabs', id: 'e-tabs-preview-handler', callback: ( { element, signal, listenToChildren } ) => { window?.parent.addEventListener( 'elementor/navigator/item/click', ( event ) => { const { id, type } = event.detail; if ( type !== TAB_ELEMENT_TYPE && type !== TAB_CONTENT_ELEMENT_TYPE ) { return; } const targetElement = Alpine.$data( element ).$refs[ id ]; if ( ! targetElement ) { return; } const targetIndex = getIndex( targetElement, type ); setActiveTabIndex( element.dataset.id, targetIndex ); }, { signal } ); // Re-initialize Alpine to sync with editor DOM manipulations that bypass Alpine's reactivity. listenToChildren( [ TAB_ELEMENT_TYPE, TAB_CONTENT_ELEMENT_TYPE ] ) .render( ( event ) => { const childElement = event.detail.element; const nearestTabs = childElement.closest( '[data-e-type="e-tabs"]' ); if ( nearestTabs !== element ) { return; } refreshTree( element ); } ); }, } );
💾 Save Changes
❌ Cancel