PluginProbe
Elementor Website Builder – more than just a page builder / 3.31.4
Elementor Website Builder – more than just a page builder v3.31.4
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
elementor / modules / atomic-widgets / styles / atomic-widget-base-styles.php

atomic-widget-base-styles.php in Elementor Website Builder – more than just a page builder 3.31.4, at modules/atomic-widgets/styles/atomic-widget-base-styles.php

53 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Elementor\Modules\AtomicWidgets\Styles;
4
5 use Elementor\Core\Utils\Collection;
6 use Elementor\Modules\AtomicWidgets\Cache_Validity;
7 use Elementor\Modules\AtomicWidgets\Utils;
8 use Elementor\Plugin;
9
10 class Atomic_Widget_Base_Styles {
11 const STYLES_KEY = 'base';
12
13 public function register_hooks() {
14 add_action(
15 'elementor/atomic-widgets/styles/register',
16 fn( Atomic_Styles_Manager $styles_manager ) => $this->register_styles( $styles_manager ),
17 10,
18 1
19 );
20
21 add_action(
22 'elementor/core/files/clear_cache',
23 fn() => $this->invalidate_cache(),
24 );
25 }
26
27 private function register_styles( Atomic_Styles_Manager $styles_manager ) {
28 $styles_manager->register(
29 self::STYLES_KEY,
30 fn () => $this->get_all_base_styles(),
31 [ self::STYLES_KEY ]
32 );
33 }
34
35 private function invalidate_cache() {
36 $cache_validity = new Cache_Validity();
37
38 $cache_validity->invalidate( [ self::STYLES_KEY ] );
39 }
40
41 public function get_all_base_styles(): array {
42 $elements = Plugin::$instance->elements_manager->get_element_types();
43 $widgets = Plugin::$instance->widgets_manager->get_widget_types();
44
45 return Collection::make( $elements )
46 ->merge( $widgets )
47 ->filter( fn( $element ) => Utils::is_atomic( $element ) )
48 ->map( fn( $element ) => $element->get_base_styles() )
49 ->flatten()
50 ->all();
51 }
52 }
53