← All changes
|
modules/atomic-widgets/elements/atomic-tabs/handlers/atomic-tabs-preview-handler.js
+3
-13
4.3.2
→
3.35.0-dev2
View file →
| @@ -1,8 +1,7 @@ | ||
| 1 | 1 | import { register } from '@elementor/frontend-handlers'; |
| 2 | 2 | import { Alpine, refreshTree } from '@elementor/alpinejs'; |
| 3 | -import { TAB_ELEMENT_TYPE, TAB_CONTENT_ELEMENT_TYPE, getIndex } from './utils'; | |
| 4 | -import { setActiveTabIndex } from './editor-tabs-state'; | |
| 3 | +import { TAB_ELEMENT_TYPE, TAB_CONTENT_ELEMENT_TYPE, getTabId, getIndex } from './utils'; | |
| 5 | 4 | |
| 6 | 5 | register( { |
| 7 | 6 | elementType: 'e-tabs', |
| 8 | 7 | id: 'e-tabs-preview-handler', |
| @@ -20,21 +19,12 @@ | ||
| 20 | 19 | return; |
| 21 | 20 | } |
| 22 | 21 | |
| 23 | 22 | const targetIndex = getIndex( targetElement, type ); |
| 24 | - setActiveTabIndex( element.dataset.id, targetIndex ); | |
| 23 | + Alpine.$data( element ).activeTab = getTabId( element.dataset.id, targetIndex ); | |
| 25 | 24 | }, { signal } ); |
| 26 | 25 | |
| 27 | 26 | // Re-initialize Alpine to sync with editor DOM manipulations that bypass Alpine's reactivity. |
| 28 | 27 | listenToChildren( [ TAB_ELEMENT_TYPE, TAB_CONTENT_ELEMENT_TYPE ] ) |
| 29 | - .render( ( event ) => { | |
| 30 | - const childElement = event.detail.element; | |
| 31 | - const nearestTabs = childElement.closest( '[data-e-type="e-tabs"]' ); | |
| 32 | - | |
| 33 | - if ( nearestTabs !== element ) { | |
| 34 | - return; | |
| 35 | - } | |
| 36 | - | |
| 37 | - refreshTree( element ); | |
| 38 | - } ); | |
| 28 | + .render( () => refreshTree( element ) ); | |
| 39 | 29 | }, |
| 40 | 30 | } ); |