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-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
← All changes | modules/editor-one/module.php +27 -12 4.2.0-dev23.34.1 View file →
@@ -1,20 +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\Menu_Config;
8 -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;
9 9 use Elementor\Modules\EditorOne\Components\Sidebar_Navigation_Handler;
10 -use Elementor\Modules\EditorOne\Components\Top_Bar_Handler;
10 +use Elementor\Plugin;
11 11
12 12 if ( ! defined( 'ABSPATH' ) ) {
13 13 exit;
14 14 }
15 +
15 16 class Module extends BaseModule {
16 17
18 + const EXPERIMENT_NAME = 'e_editor_one';
19 +
17 20 const CUSTOM_REACT_APP_PAGES = [
18 21 'elementor-element-manager',
19 22 ];
20 23
@@ -21,8 +24,19 @@
21 24 public function get_name(): string {
22 25 return 'editor-one';
23 26 }
24 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 +
25 39 public function __construct() {
26 40 parent::__construct();
27 41
28 42 if ( is_admin() ) {
@@ -27,15 +41,12 @@
27 41
28 42 if ( is_admin() ) {
29 43 $this->add_component( 'editor-one-menu-manager', new Elementor_One_Menu_Manager() );
30 44 $this->add_component( 'sidebar-navigation-handler', new Sidebar_Navigation_Handler() );
31 - $this->add_component( 'top-bar-handler', new Top_Bar_Handler() );
32 45 }
33 46
34 47 add_action( 'current_screen', function () {
35 - $menu_data_provider = Menu_Data_Provider::instance();
36 -
37 - if ( ! $menu_data_provider->is_editor_one_admin_page() ) {
48 + if ( ! $this->is_feature_enabled() || ! Admin::is_elementor_admin_page() ) {
38 49 return;
39 50 }
40 51
41 52 add_action( 'admin_enqueue_scripts', function () {
@@ -41,12 +52,17 @@
41 52 add_action( 'admin_enqueue_scripts', function () {
42 53 $this->enqueue_styles();
43 54 } );
44 55 } );
56 + }
45 57
46 - add_filter( 'elementor/admin-top-bar/is-active', function ( $_is_active ) {
47 - return false;
48 - } );
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 );
49 65 }
50 66
51 67 /**
52 68 * Check if current page has a custom React app that uses @elementor/ui
@@ -72,9 +88,8 @@
72 88 /**
73 89 * Enqueue admin styles
74 90 */
75 91 private function enqueue_styles() {
76 -
77 92 wp_enqueue_style( 'elementor-admin' );
78 93
79 94 wp_enqueue_style(
80 95 'elementor-editor-one-common',