PluginProbe
Elementor Website Builder – more than just a page builder / 3.32.0-dev3
Elementor Website Builder – more than just a page builder v3.32.0-dev3
4.3.0-beta3 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 All 452 releases
← All changes | modules/global-classes/atomic-global-styles.php +10 -6 4.0.83.32.0-dev3 View file →
@@ -3,8 +3,9 @@
3 3 namespace Elementor\Modules\GlobalClasses;
4 4
5 5 use Elementor\Plugin;
6 6 use Elementor\Modules\AtomicWidgets\Styles\Atomic_Styles_Manager;
7 +use Elementor\Modules\AtomicWidgets\Cache_Validity;
7 8
8 9 class Atomic_Global_Styles {
9 10 const STYLES_KEY = 'global';
10 11
@@ -10,9 +11,9 @@
10 11
11 12 public function register_hooks() {
12 13 add_action(
13 14 'elementor/atomic-widgets/styles/register',
14 - fn( Atomic_Styles_Manager $styles_manager ) => $this->register_styles( $styles_manager ),
15 + fn( Atomic_Styles_Manager $styles_manager, array $post_ids ) => $this->register_styles( $styles_manager ),
15 16 20,
16 17 2
17 18 );
18 19
@@ -36,17 +37,18 @@
36 37 private function register_styles( Atomic_Styles_Manager $styles_manager ) {
37 38 $context = is_preview() ? Global_Classes_Repository::CONTEXT_PREVIEW : Global_Classes_Repository::CONTEXT_FRONTEND;
38 39
39 40 $get_styles = function () use ( $context ) {
40 - return Global_Classes_Repository::make()->context( $context )->all()->get_ordered_items()->map( function( $item ) {
41 + return Global_Classes_Repository::make()->context( $context )->all()->get_items()->map( function( $item ) {
41 42 $item['id'] = $item['label'];
42 43 return $item;
43 - })->reverse()->all(); // we should reverse the order of the items so that the last in the original array should be rendered first (to be overridden by the previous ones)
44 + })->all();
44 45 };
45 46
46 47 $styles_manager->register(
47 - [ self::STYLES_KEY, $context ],
48 + self::STYLES_KEY . '-' . $context,
48 49 $get_styles,
50 + [ self::STYLES_KEY, $context ]
49 51 );
50 52 }
51 53
52 54 private function on_post_delete( $post_id ) {
@@ -57,15 +59,17 @@
57 59 $this->invalidate_cache();
58 60 }
59 61
60 62 private function invalidate_cache( ?string $context = null ) {
63 + $cache_validity = new Cache_Validity();
64 +
61 65 if ( empty( $context ) || Global_Classes_Repository::CONTEXT_FRONTEND === $context ) {
62 - do_action( 'elementor/atomic-widgets/styles/clear', [ self::STYLES_KEY ] );
66 + $cache_validity->invalidate( [ self::STYLES_KEY ] );
63 67
64 68 return;
65 69 }
66 70
67 - do_action( 'elementor/atomic-widgets/styles/clear', [ self::STYLES_KEY, $context ] );
71 + $cache_validity->invalidate( [ self::STYLES_KEY, $context ] );
68 72 }
69 73
70 74 private function transform_classes_names( $ids ) {
71 75 $context = is_preview() ? Global_Classes_Repository::CONTEXT_PREVIEW : Global_Classes_Repository::CONTEXT_FRONTEND;