PluginProbe
Elementor Website Builder – more than just a page builder / 3.34.1
Elementor Website Builder – more than just a page builder v3.34.1
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/editor-one/module.php +27 -14 4.1.23.34.1 View file →
@@ -1,21 +1,23 @@
1 1 <?php
2 2
3 3 namespace Elementor\Modules\EditorOne;
4 4
5 -use Elementor\Core\Admin\EditorOneMenu\Elementor_One_Menu_Manager;
5 +use Elementor\Core\Admin\Admin;
6 6 use Elementor\Core\Base\Module as BaseModule;
7 -use Elementor\Modules\EditorOne\Classes\Editor_One_Pointer;
8 -use Elementor\Modules\EditorOne\Classes\Menu_Config;
9 -use Elementor\Modules\EditorOne\Classes\Menu_Data_Provider;
7 +use Elementor\Core\Experiments\Manager as Experiments_Manager;
8 +use Elementor\Modules\EditorOne\Components\Elementor_One_Menu_Manager;
10 9 use Elementor\Modules\EditorOne\Components\Sidebar_Navigation_Handler;
11 -use Elementor\Modules\EditorOne\Components\Top_Bar_Handler;
10 +use Elementor\Plugin;
12 11
13 12 if ( ! defined( 'ABSPATH' ) ) {
14 13 exit;
15 14 }
15 +
16 16 class Module extends BaseModule {
17 17
18 + const EXPERIMENT_NAME = 'e_editor_one';
19 +
18 20 const CUSTOM_REACT_APP_PAGES = [
19 21 'elementor-element-manager',
20 22 ];
21 23
@@ -22,8 +24,19 @@
22 24 public function get_name(): string {
23 25 return 'editor-one';
24 26 }
25 27
28 + public static function get_experimental_data(): array {
29 + return [
30 + 'name' => static::EXPERIMENT_NAME,
31 + 'title' => esc_html__( 'Editor one', 'elementor' ),
32 + 'description' => esc_html__( 'General', 'elementor' ),
33 + 'hidden' => true,
34 + 'default' => Experiments_Manager::STATE_INACTIVE,
35 + 'release_status' => Experiments_Manager::RELEASE_STATUS_DEV,
36 + ];
37 + }
38 +
26 39 public function __construct() {
27 40 parent::__construct();
28 41
29 42 if ( is_admin() ) {
@@ -28,16 +41,12 @@
28 41
29 42 if ( is_admin() ) {
30 43 $this->add_component( 'editor-one-menu-manager', new Elementor_One_Menu_Manager() );
31 44 $this->add_component( 'sidebar-navigation-handler', new Sidebar_Navigation_Handler() );
32 - $this->add_component( 'top-bar-handler', new Top_Bar_Handler() );
33 - $this->add_component( 'editor-one-pointer', new Editor_One_Pointer() );
34 45 }
35 46
36 47 add_action( 'current_screen', function () {
37 - $menu_data_provider = Menu_Data_Provider::instance();
38 -
39 - if ( ! $menu_data_provider->is_editor_one_admin_page() ) {
48 + if ( ! $this->is_feature_enabled() || ! Admin::is_elementor_admin_page() ) {
40 49 return;
41 50 }
42 51
43 52 add_action( 'admin_enqueue_scripts', function () {
@@ -43,12 +52,17 @@
43 52 add_action( 'admin_enqueue_scripts', function () {
44 53 $this->enqueue_styles();
45 54 } );
46 55 } );
56 + }
47 57
48 - add_filter( 'elementor/admin-top-bar/is-active', function ( $_is_active ) {
49 - return false;
50 - } );
58 + /**
59 + * Check if Editor One feature is enabled
60 + *
61 + * @return bool
62 + */
63 + private function is_feature_enabled() {
64 + return Plugin::$instance->experiments->is_feature_active( static::EXPERIMENT_NAME );
51 65 }
52 66
53 67 /**
54 68 * Check if current page has a custom React app that uses @elementor/ui
@@ -74,9 +88,8 @@
74 88 /**
75 89 * Enqueue admin styles
76 90 */
77 91 private function enqueue_styles() {
78 -
79 92 wp_enqueue_style( 'elementor-admin' );
80 93
81 94 wp_enqueue_style(
82 95 'elementor-editor-one-common',