PluginProbe
Elementor Website Builder – more than just a page builder / 3.35.0-dev2
Elementor Website Builder – more than just a page builder v3.35.0-dev2
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.35.0-dev2, at modules/atomic-widgets/styles/atomic-widget-base-styles.php

49 lines 1.2 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\Utils\Utils;
7 use Elementor\Plugin;
8
9 class Atomic_Widget_Base_Styles {
10 const STYLES_KEY = 'base';
11
12 public function register_hooks() {
13 add_action(
14 'elementor/atomic-widgets/styles/register',
15 fn( Atomic_Styles_Manager $styles_manager ) => $this->register_styles( $styles_manager ),
16 10,
17 1
18 );
19
20 add_action(
21 'elementor/core/files/clear_cache',
22 fn() => $this->invalidate_cache(),
23 );
24 }
25
26 private function register_styles( Atomic_Styles_Manager $styles_manager ) {
27 $styles_manager->register(
28 [ self::STYLES_KEY ],
29 fn () => $this->get_all_base_styles(),
30 );
31 }
32
33 private function invalidate_cache() {
34 do_action( 'elementor/atomic-widgets/styles/clear', [ self::STYLES_KEY ] );
35 }
36
37 public function get_all_base_styles(): array {
38 $elements = Plugin::$instance->elements_manager->get_element_types();
39 $widgets = Plugin::$instance->widgets_manager->get_widget_types();
40
41 return Collection::make( $elements )
42 ->merge( $widgets )
43 ->filter( fn( $element ) => Utils::is_atomic( $element ) )
44 ->map( fn( $element ) => $element->get_base_styles() )
45 ->flatten()
46 ->all();
47 }
48 }
49