This commit is contained in:
proelements
2026-02-16 11:44:35 +02:00
parent 08ec8d01f1
commit b499583e5a
348 changed files with 3915 additions and 1414 deletions

View File

@@ -4,6 +4,7 @@ namespace ElementorPro\Core\App;
use Elementor\Core\Base\App as BaseApp;
use Elementor\Core\Utils\Assets_Config_Provider;
use Elementor\Core\Utils\Collection;
use Elementor\TemplateLibrary\Source_Local;
use Elementor\Utils;
use ElementorPro\Plugin;
use ElementorPro\Core\App\Modules\SiteEditor\Module as SiteEditor;
@@ -11,6 +12,7 @@ use ElementorPro\Core\App\Modules\KitLibrary\Module as KitLibrary;
use ElementorPro\Core\App\Modules\Onboarding\Module as Onboarding;
use ElementorPro\Core\App\Modules\ImportExport\Module as ImportExport;
use ElementorPro\Core\App\Modules\ImportExportCustomization\Module as ImportExportCustomization;
use ElementorPro\Modules\ThemeBuilder\Module as ThemeBuilderModule;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
@@ -36,7 +38,19 @@ class App extends BaseApp {
}
public function set_menu_url() {
Plugin::elementor()->app->set_settings( 'menu_url', Plugin::elementor()->app->get_base_url() . '#/site-editor' );
$menu_url = Plugin::elementor()->app->get_base_url() . '#/site-editor';
$experiments_manager = Plugin::elementor()->experiments;
if ( $experiments_manager && ! $experiments_manager->is_feature_active( 'theme_builder_v2' ) ) {
$menu_url = add_query_arg(
'tabs_group',
ThemeBuilderModule::ADMIN_LIBRARY_TAB_GROUP,
admin_url( Source_Local::ADMIN_MENU_SLUG )
);
}
Plugin::elementor()->app->set_settings( 'menu_url', $menu_url );
}
protected function get_init_settings() {

View File

@@ -2,11 +2,12 @@
namespace ElementorPro\Core\App\Modules\SiteEditor;
use Elementor\Core\Admin\Menu\Admin_Menu_Manager;
use Elementor\Core\Experiments\Manager as ExperimentsManager;
use Elementor\Core\Frontend\Render_Mode_Manager;
use Elementor\Core\Base\Module as BaseModule;
use Elementor\Core\Common\Modules\Ajax\Module as Ajax;
use Elementor\Core\Experiments\Manager as ExperimentsManager;
use Elementor\Core\Frontend\Render_Mode_Manager;
use Elementor\TemplateLibrary\Source_Local;
use ElementorPro\Base\Editor_One_Trait;
use ElementorPro\Core\App\Modules\SiteEditor\Data\Controller;
use ElementorPro\Core\Behaviors\Feature_Lock;
use ElementorPro\Modules\ThemeBuilder\AdminMenuItems\Theme_Builder_Menu_Item;
@@ -24,6 +25,8 @@ if ( ! defined( 'ABSPATH' ) ) {
* Responsible for initializing Elementor Pro App functionality
*/
class Module extends BaseModule {
use Editor_One_Trait;
/**
* @var Feature_Lock
*/
@@ -109,6 +112,12 @@ class Module extends BaseModule {
return $settings;
}
private function should_default_to_site_editor(): bool {
$experiments_manager = Plugin::elementor()->experiments;
return $experiments_manager && $experiments_manager->is_feature_active( 'theme_builder_v2' );
}
private function add_default_new_site_editor_experiments( ExperimentsManager $manager ) {
$manager->add_feature( [
'name' => 'theme_builder_v2',
@@ -129,10 +138,7 @@ class Module extends BaseModule {
}
private function register_site_editor_menu() {
$experiments_manager = Plugin::elementor()->experiments;
// Unique case when the experiments manager is not initialized yet.
if ( ! $experiments_manager || ! $experiments_manager->is_feature_active( 'theme_builder_v2' ) ) {
if ( ! $this->should_default_to_site_editor() ) {
return;
}
@@ -152,10 +158,7 @@ class Module extends BaseModule {
}
private function register_admin_menu( Admin_Menu_Manager $admin_menu_manager ) {
$experiments_manager = Plugin::elementor()->experiments;
// Unique case when the experiments manager is not initialized yet.
if ( ! $experiments_manager || ! $experiments_manager->is_feature_active( 'theme_builder_v2' ) ) {
if ( ! $this->should_default_to_site_editor() ) {
return;
}
@@ -168,7 +171,7 @@ class Module extends BaseModule {
}
private function add_finder_item( array $categories ) {
if ( ! Plugin::elementor()->experiments->is_feature_active( 'theme_builder_v2' ) ) {
if ( ! $this->should_default_to_site_editor() ) {
return $categories;
}
@@ -183,11 +186,6 @@ class Module extends BaseModule {
return $categories;
}
/**
* Module constructor.
*
* @access public
*/
public function __construct() {
$this->lock = new Feature_Lock( [ 'type' => 'theme-builder' ] );
@@ -201,6 +199,10 @@ class Module extends BaseModule {
} );
add_action( 'elementor/admin/menu/register', function ( Admin_Menu_Manager $admin_menu ) {
if ( $this->is_editor_one_active() ) {
return;
}
$this->register_admin_menu( $admin_menu );
}, Theme_Builder_Table_View::ADMIN_MENU_PRIORITY + 1 );