| @@ -3,11 +3,13 @@ | ||
| 3 | 3 | |
| 4 | 4 | use Elementor\Modules\AtomicWidgets\Elements\Base\Atomic_Widget_Base; |
| 5 | 5 | use Elementor\Modules\AtomicWidgets\Elements\Base\Has_Template; |
| 6 | 6 | use Elementor\Modules\AtomicWidgets\PropsResolver\Render_Props_Resolver; |
| 7 | +use Elementor\Modules\Components\Components_Repository; | |
| 7 | 8 | use Elementor\Modules\Components\PropTypes\Component_Instance_Prop_Type; |
| 8 | 9 | use Elementor\Modules\Components\PropTypes\Overridable_Prop_Type; |
| 9 | 10 | use Elementor\Modules\Components\Transformers\Overridable_Transformer; |
| 11 | +use Elementor\Modules\Components\Utils\Format_Component_Elements_Id; | |
| 10 | 12 | |
| 11 | 13 | if ( ! defined( 'ABSPATH' ) ) { |
| 12 | 14 | exit; // Exit if accessed directly. |
| 13 | 15 | } |
| @@ -98,6 +100,35 @@ | ||
| 98 | 100 | $overrides[ $override['override_key'] ] = $override['override_value']; |
| 99 | 101 | } |
| 100 | 102 | |
| 101 | 103 | return $overrides; |
| 104 | + } | |
| 105 | + | |
| 106 | + public function get_inner_elements_data_for_search(): array { | |
| 107 | + $component_id = $this->get_component_id(); | |
| 108 | + | |
| 109 | + if ( null === $component_id ) { | |
| 110 | + return []; | |
| 111 | + } | |
| 112 | + | |
| 113 | + $repository = new Components_Repository(); | |
| 114 | + $component = $repository->get( $component_id ); | |
| 115 | + | |
| 116 | + if ( ! $component ) { | |
| 117 | + return []; | |
| 118 | + } | |
| 119 | + | |
| 120 | + $elements_data = $component->get_elements_data(); | |
| 121 | + | |
| 122 | + return Format_Component_Elements_Id::format( $elements_data, [ $this->get_id() ] ); | |
| 123 | + } | |
| 124 | + | |
| 125 | + private function get_component_id(): ?int { | |
| 126 | + $settings = $this->get_settings(); | |
| 127 | + | |
| 128 | + if ( ! isset( $settings['component_instance']['value']['component_id']['value'] ) ) { | |
| 129 | + return null; | |
| 130 | + } | |
| 131 | + | |
| 132 | + return (int) $settings['component_instance']['value']['component_id']['value']; | |
| 102 | 133 | } |
| 103 | 134 | } |