Highlight the MailPoet > Emails menu item when editing email post

[MAILPOET-6090]
This commit is contained in:
Rostislav Wolny
2024-11-13 14:09:19 +01:00
committed by Oluwaseun Olorunsola
parent 03686a09cd
commit bc7bb56f90

View File

@ -26,6 +26,7 @@ use MailPoet\AdminPages\Pages\Upgrade;
use MailPoet\AdminPages\Pages\WelcomeWizard; use MailPoet\AdminPages\Pages\WelcomeWizard;
use MailPoet\AdminPages\Pages\WooCommerceSetup; use MailPoet\AdminPages\Pages\WooCommerceSetup;
use MailPoet\DI\ContainerWrapper; use MailPoet\DI\ContainerWrapper;
use MailPoet\EmailEditor\Integrations\MailPoet\EmailEditor;
use MailPoet\Form\Util\CustomFonts; use MailPoet\Form\Util\CustomFonts;
use MailPoet\Util\License\Features\CapabilitiesManager; use MailPoet\Util\License\Features\CapabilitiesManager;
use MailPoet\WP\Functions as WPFunctions; use MailPoet\WP\Functions as WPFunctions;
@ -83,6 +84,9 @@ class Menu {
/** @var CustomFonts */ /** @var CustomFonts */
private $customFonts; private $customFonts;
/** @var EmailEditor */
private $emailEditor;
private CapabilitiesManager $capabilitiesManager; private CapabilitiesManager $capabilitiesManager;
public function __construct( public function __construct(
@ -92,7 +96,8 @@ class Menu {
ContainerWrapper $container, ContainerWrapper $container,
Router $router, Router $router,
CustomFonts $customFonts, CustomFonts $customFonts,
CapabilitiesManager $capabilitiesManager CapabilitiesManager $capabilitiesManager,
EmailEditor $emailEditor
) { ) {
$this->accessControl = $accessControl; $this->accessControl = $accessControl;
$this->wp = $wp; $this->wp = $wp;
@ -101,6 +106,7 @@ class Menu {
$this->router = $router; $this->router = $router;
$this->customFonts = $customFonts; $this->customFonts = $customFonts;
$this->capabilitiesManager = $capabilitiesManager; $this->capabilitiesManager = $capabilitiesManager;
$this->emailEditor = $emailEditor;
} }
public function init() { public function init() {
@ -685,6 +691,13 @@ class Menu {
return $parentFile; return $parentFile;
} }
// In case we are on the email editor page, we want to highlight the Emails menu item
if ($this->emailEditor->isEditorPage(false)) {
$plugin_page = self::EMAILS_PAGE_SLUG;
$submenu_file = self::EMAILS_PAGE_SLUG;
return self::EMAILS_PAGE_SLUG;
}
if ($parentFile === self::MAIN_PAGE_SLUG || !self::isOnMailPoetAdminPage()) { if ($parentFile === self::MAIN_PAGE_SLUG || !self::isOnMailPoetAdminPage()) {
return $parentFile; return $parentFile;
} }