PluginProbe
Elementor Website Builder – more than just a page builder / 3.34.3
Elementor Website Builder – more than just a page builder v3.34.3
4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 4.0.8 4.1.0-beta1 4.1.0-dev1 4.0.7 All 451 releases
← All changes | modules/components/widgets/component-instance.php +3 -46 4.0.73.34.3 View file →
@@ -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 }