PluginProbe
Elementor Website Builder – more than just a page builder / 3.18.3
Elementor Website Builder – more than just a page builder v3.18.3
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/site-navigation/module.php +14 -23 4.0.73.18.3 View file →
@@ -2,40 +2,39 @@
2 2
3 3 namespace Elementor\Modules\SiteNavigation;
4 4
5 5 use Elementor\Core\Base\Module as Module_Base;
6 -use Elementor\Core\Experiments\Exceptions\Dependency_Exception;
7 6 use Elementor\Core\Experiments\Manager as Experiments_Manager;
8 7 use Elementor\Modules\SiteNavigation\Data\Controller;
9 -use Elementor\Modules\SiteNavigation\Rest_Fields\Page_User_Can;
10 8 use Elementor\Plugin;
11 9 use Elementor\Utils;
12 10
13 11
14 12 if ( ! defined( 'ABSPATH' ) ) {
15 - exit; // Exit if accessed directly.
13 + exit; // Exit if accessed directly
16 14 }
17 15
18 16 class Module extends Module_Base {
19 17 const PAGES_PANEL_EXPERIMENT_NAME = 'pages_panel';
20 - const PACKAGES = [
21 - 'editor-site-navigation',
22 - ];
18 +
23 19 /**
24 20 * Initialize the Site navigation module.
25 - *
26 21 * @return void
27 - * @throws \Exception If the experiment registration fails.
22 + * @throws \Exception
28 23 */
29 24 public function __construct() {
30 25 Plugin::$instance->data_manager_v2->register_controller( new Controller() );
31 26
27 + $is_tests = Utils::is_elementor_tests();
28 + $is_v2_experiment_on = Plugin::$instance->experiments->is_feature_active( 'editor_v2' );
29 + if ( ! $is_v2_experiment_on && ! $is_tests ) {
30 + return;
31 + }
32 +
32 33 $this->register_pages_panel_experiment();
33 34
34 - add_filter( 'elementor/editor/v2/packages', fn( $packages ) => $this->add_packages( $packages ) );
35 -
36 35 if ( Plugin::$instance->experiments->is_feature_active( self::PAGES_PANEL_EXPERIMENT_NAME ) ) {
37 - add_filter( 'elementor/editor/v2/scripts/env', function( $env ) {
36 + add_filter( 'elementor/editor/v2/scripts/env', function ( $env ) {
38 37 $env['@elementor/editor-site-navigation'] = [
39 38 'is_pages_panel_active' => true,
40 39 ];
41 40
@@ -40,10 +39,8 @@
40 39 ];
41 40
42 41 return $env;
43 42 } );
44 -
45 - $this->register_rest_fields();
46 43 }
47 44 }
48 45
49 46 /**
@@ -60,8 +57,9 @@
60 57 *
61 58 * @since 3.16.0
62 59 *
63 60 * @return void
61 + * @throws \Exception
64 62 */
65 63 private function register_pages_panel_experiment() {
66 64 Plugin::$instance->experiments->add_feature( [
67 65 'name' => self::PAGES_PANEL_EXPERIMENT_NAME,
@@ -68,17 +66,10 @@
68 66 'title' => esc_html__( 'Pages Panel', 'elementor' ),
69 67 'release_status' => Experiments_Manager::RELEASE_STATUS_ALPHA,
70 68 'default' => Experiments_Manager::STATE_INACTIVE,
71 69 'hidden' => true,
70 + 'dependencies' => [
71 + 'editor_v2',
72 + ],
72 73 ] );
73 - }
74 -
75 - private function register_rest_fields() {
76 - add_action( 'rest_api_init', function() {
77 - ( new Page_User_Can() )->register_rest_field();
78 - } );
79 - }
80 -
81 - private function add_packages( $packages ) {
82 - return array_merge( $packages, self::PACKAGES );
83 74 }
84 75 }