← All changes
|
modules/components/documents/component.php
+0
-82
4.2.0-dev2
→
4.0.0-dev3
View file →
| @@ -3,11 +3,8 @@ | ||
| 3 | 3 | |
| 4 | 4 | use Elementor\Core\Base\Document; |
| 5 | 5 | use Elementor\Core\Utils\Api\Parse_Result; |
| 6 | 6 | use Elementor\Modules\Components\OverridableProps\Component_Overridable_Props_Parser; |
| 7 | -use Elementor\Modules\Components\PropTypes\Override_Prop_Type; | |
| 8 | -use Elementor\Modules\Components\PropTypes\Overridable_Prop_Type; | |
| 9 | -use Elementor\Modules\Components\Widgets\Component_Instance; | |
| 10 | 7 | |
| 11 | 8 | if ( ! defined( 'ABSPATH' ) ) { |
| 12 | 9 | exit; // Exit if accessed directly |
| 13 | 10 | } |
| @@ -149,85 +146,6 @@ | ||
| 149 | 146 | } |
| 150 | 147 | |
| 151 | 148 | public function print_elements_without_cache( array $elements_data ) { |
| 152 | 149 | $this->do_print_elements( $elements_data ); |
| 153 | - } | |
| 154 | - | |
| 155 | - public function align_overridable_props_with_elements() { | |
| 156 | - $elements_data = $this->get_elements_data(); | |
| 157 | - // format elements data to flat map of overridable prop key -> new origin value | |
| 158 | - $overridable_props_map = $this->get_elements_origin_values_map( $elements_data, [] ); | |
| 159 | - | |
| 160 | - if ( empty( $overridable_props_map ) ) { | |
| 161 | - return; | |
| 162 | - } | |
| 163 | - | |
| 164 | - $updated_overridable_props = $this->get_overridable_props(); | |
| 165 | - | |
| 166 | - foreach ( $updated_overridable_props->props as $prop ) { | |
| 167 | - | |
| 168 | - $new_origin_value = $overridable_props_map[ $prop->override_key ]; | |
| 169 | - | |
| 170 | - if ( isset( $new_origin_value ) ) { | |
| 171 | - $prop->origin_value = $new_origin_value; | |
| 172 | - } | |
| 173 | - } | |
| 174 | - | |
| 175 | - $this->update_overridable_props( $updated_overridable_props->to_associative_array() ); | |
| 176 | - } | |
| 177 | - | |
| 178 | - private function get_elements_origin_values_map( array $elements_data, array $overridable_props_map ) { | |
| 179 | - foreach ( $elements_data as $element ) { | |
| 180 | - if ( $this->is_component_instance( $element ) ) { | |
| 181 | - $component_instance = $element['settings']['component_instance']['value']; | |
| 182 | - $overrides = $component_instance['overrides']['value'] ?? []; | |
| 183 | - | |
| 184 | - if ( empty( $overrides ) ) { | |
| 185 | - continue; | |
| 186 | - } | |
| 187 | - | |
| 188 | - foreach ( $overrides as $item ) { | |
| 189 | - if ( $this->is_overridable_prop( $item ) ) { | |
| 190 | - $override_key = $item['value']['override_key']; | |
| 191 | - $override = $item['value']['origin_value']; | |
| 192 | - | |
| 193 | - if ( ! $this->is_override_prop( $override ) ) { | |
| 194 | - throw new \Exception( 'Invalid override value' ); | |
| 195 | - } | |
| 196 | - $overridable_props_map[ $override_key ] = $override['value']['override_value']; | |
| 197 | - } | |
| 198 | - } | |
| 199 | - | |
| 200 | - continue; | |
| 201 | - } | |
| 202 | - | |
| 203 | - if ( ! empty( $element['settings'] ) ) { | |
| 204 | - foreach ( $element['settings'] as $prop_key => $prop_value ) { | |
| 205 | - if ( isset( $prop_value['$$type'] ) && Overridable_Prop_Type::get_key() === $prop_value['$$type'] ) { | |
| 206 | - $override_key = $prop_value['value']['override_key']; | |
| 207 | - $origin_value = $prop_value['value']['origin_value']; | |
| 208 | - | |
| 209 | - $overridable_props_map[ $override_key ] = $origin_value; | |
| 210 | - } | |
| 211 | - } | |
| 212 | - } | |
| 213 | - | |
| 214 | - if ( is_array( $element['elements'] ) ) { | |
| 215 | - $overridable_props_map = $this->get_elements_origin_values_map( $element['elements'], $overridable_props_map ); | |
| 216 | - } | |
| 217 | - } | |
| 218 | - | |
| 219 | - return $overridable_props_map; | |
| 220 | - } | |
| 221 | - | |
| 222 | - private function is_overridable_prop( array $prop ): bool { | |
| 223 | - return isset( $prop['$$type'] ) && Overridable_Prop_Type::get_key() === $prop['$$type']; | |
| 224 | - } | |
| 225 | - | |
| 226 | - private function is_override_prop( array $prop ): bool { | |
| 227 | - return isset( $prop['$$type'] ) && Override_Prop_Type::get_key() === $prop['$$type']; | |
| 228 | - } | |
| 229 | - | |
| 230 | - private function is_component_instance( array $element ): bool { | |
| 231 | - return 'widget' === $element['elType'] && Component_Instance::get_element_type() === $element['widgetType']; | |
| 232 | 150 | } |
| 233 | 151 | } |