| @@ -1,13 +1,10 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | namespace Elementor\Modules\Components\Widgets; |
| 3 | 3 | |
| 4 | -use Elementor\Modules\AtomicWidgets\Elements\Base\Atomic_Widget_Base; | |
| 5 | -use Elementor\Modules\AtomicWidgets\Elements\Base\Has_Template; | |
| 6 | -use Elementor\Modules\AtomicWidgets\PropsResolver\Render_Props_Resolver; | |
| 4 | +use Elementor\Modules\AtomicWidgets\Elements\Atomic_Widget_Base; | |
| 5 | +use Elementor\Modules\AtomicWidgets\Elements\Has_Template; | |
| 7 | 6 | use Elementor\Modules\Components\PropTypes\Component_Instance_Prop_Type; |
| 8 | -use Elementor\Modules\Components\PropTypes\Overridable_Prop_Type; | |
| 9 | -use Elementor\Modules\Components\Transformers\Overridable_Transformer; | |
| 10 | 7 | |
| 11 | 8 | if ( ! defined( 'ABSPATH' ) ) { |
| 12 | 9 | exit; // Exit if accessed directly. |
| 13 | 10 | } |
| @@ -36,9 +33,9 @@ | ||
| 36 | 33 | } |
| 37 | 34 | |
| 38 | 35 | protected static function define_props_schema(): array { |
| 39 | 36 | return [ |
| 40 | - 'component_instance' => Component_Instance_Prop_Type::make()->meta( Overridable_Prop_Type::ignore() )->required(), | |
| 37 | + 'component_instance' => Component_Instance_Prop_Type::make()->required(), | |
| 41 | 38 | ]; |
| 42 | 39 | } |
| 43 | 40 | |
| 44 | 41 | protected function parse_editor_settings( array $data ): array { |
| @@ -58,46 +55,6 @@ | ||
| 58 | 55 | protected function get_templates(): array { |
| 59 | 56 | return [ |
| 60 | 57 | 'elementor/elements/component' => __DIR__ . '/component.html.twig', |
| 61 | 58 | ]; |
| 62 | - } | |
| 63 | - | |
| 64 | - protected function define_render_context(): array { | |
| 65 | - $resolved_overrides = $this->get_resolved_overrides(); | |
| 66 | - $merged_overrides = $this->get_merged_overrides( $resolved_overrides ); | |
| 67 | - | |
| 68 | - return [ | |
| 69 | - [ | |
| 70 | - 'context_key' => Overridable_Transformer::class, | |
| 71 | - 'context' => [ 'overrides' => $merged_overrides ], | |
| 72 | - ], | |
| 73 | - [ | |
| 74 | - 'context' => [ 'instance_id' => $this->get_id() ], | |
| 75 | - ], | |
| 76 | - ]; | |
| 77 | - } | |
| 78 | - | |
| 79 | - private function get_resolved_overrides(): array { | |
| 80 | - $props = $this->get_settings(); | |
| 81 | - $overrides = $props['component_instance']['value']['overrides'] ?? null; | |
| 82 | - | |
| 83 | - if ( ! $overrides ) { | |
| 84 | - return []; | |
| 85 | - } | |
| 86 | - | |
| 87 | - $component_schema = $this->get_props_schema(); | |
| 88 | - $overrides_schema = $component_schema['component_instance']->get_shape_field( 'overrides' ); | |
| 89 | - | |
| 90 | - return Render_Props_Resolver::for_settings()->resolve( [ 'overrides' => $overrides_schema ], [ 'overrides' => $overrides ] ); | |
| 91 | - } | |
| 92 | - | |
| 93 | - private function get_merged_overrides( $value ): array { | |
| 94 | - $overrides_array = $value['overrides'] ?? []; | |
| 95 | - $overrides = []; | |
| 96 | - | |
| 97 | - foreach ( $overrides_array as $override ) { | |
| 98 | - $overrides[ $override['override_key'] ] = $override['override_value']; | |
| 99 | - } | |
| 100 | - | |
| 101 | - return $overrides; | |
| 102 | 59 | } |
| 103 | 60 | } |