From 5347714bbe8dfb3f41330c6eb6c12d7f45d5e54e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Lys=C3=BD?= Date: Tue, 20 Apr 2021 11:05:07 +0200 Subject: [PATCH] Use AssetsLoader for enqueue css in formEditor [MAILPOET-3556] --- lib/Config/AssetsLoader.php | 33 +++++++++++++++++++++++++ lib/Config/Initializer.php | 42 ++++++++++++++++++-------------- lib/DI/ContainerConfigurator.php | 1 + views/form/editor.html | 5 ---- 4 files changed, 58 insertions(+), 23 deletions(-) create mode 100644 lib/Config/AssetsLoader.php diff --git a/lib/Config/AssetsLoader.php b/lib/Config/AssetsLoader.php new file mode 100644 index 0000000000..cffe9949e3 --- /dev/null +++ b/lib/Config/AssetsLoader.php @@ -0,0 +1,33 @@ +renderer = $rendererFactory->getRenderer(); + $this->wp = $wp; + } + + public function loadStyles(): void { + if (isset($_GET['page']) && $_GET['page'] === 'mailpoet-form-editor') { + $this->enqueueStyle('mailpoet-form-editor'); + $this->enqueueStyle('mailpoet-public'); + } + } + + private function enqueueStyle(string $name): void { + $this->wp->wpEnqueueStyle( + $name, + Env::$assetsUrl . '/dist/css/' . $this->renderer->getCssAsset("{$name}.css") + ); + } +} diff --git a/lib/Config/Initializer.php b/lib/Config/Initializer.php index 76e9ea2f1e..b342b96727 100644 --- a/lib/Config/Initializer.php +++ b/lib/Config/Initializer.php @@ -73,6 +73,9 @@ class Initializer { /** @var Localizer */ private $localizer; + /** @var AssetsLoader */ + private $assetsLoader; + const INITIALIZED = 'MAILPOET_INITIALIZED'; public function __construct( @@ -92,25 +95,27 @@ class Initializer { WCTransactionalEmails $wcTransactionalEmails, PostEditorBlock $postEditorBlock, WooCommerceHelper $wcHelper, - Localizer $localizer + Localizer $localizer, + AssetsLoader $assetsLoader ) { - $this->rendererFactory = $rendererFactory; - $this->accessControl = $accessControl; - $this->api = $api; - $this->activator = $activator; - $this->settings = $settings; - $this->router = $router; - $this->hooks = $hooks; - $this->changelog = $changelog; - $this->menu = $menu; - $this->cronTrigger = $cronTrigger; - $this->permanentNotices = $permanentNotices; - $this->shortcodes = $shortcodes; - $this->databaseInitializer = $databaseInitializer; - $this->wcTransactionalEmails = $wcTransactionalEmails; - $this->wcHelper = $wcHelper; - $this->postEditorBlock = $postEditorBlock; - $this->localizer = $localizer; + $this->rendererFactory = $rendererFactory; + $this->accessControl = $accessControl; + $this->api = $api; + $this->activator = $activator; + $this->settings = $settings; + $this->router = $router; + $this->hooks = $hooks; + $this->changelog = $changelog; + $this->menu = $menu; + $this->cronTrigger = $cronTrigger; + $this->permanentNotices = $permanentNotices; + $this->shortcodes = $shortcodes; + $this->databaseInitializer = $databaseInitializer; + $this->wcTransactionalEmails = $wcTransactionalEmails; + $this->wcHelper = $wcHelper; + $this->postEditorBlock = $postEditorBlock; + $this->localizer = $localizer; + $this->assetsLoader = $assetsLoader; } public function init() { @@ -187,6 +192,7 @@ class Initializer { $this->setupWidget(); $this->hooks->init(); $this->setupWoocommerceTransactionalEmails(); + $this->assetsLoader->loadStyles(); } catch (\Exception $e) { $this->handleFailedInitialization($e); } diff --git a/lib/DI/ContainerConfigurator.php b/lib/DI/ContainerConfigurator.php index 6ff0a97306..edee23ad59 100644 --- a/lib/DI/ContainerConfigurator.php +++ b/lib/DI/ContainerConfigurator.php @@ -93,6 +93,7 @@ class ContainerConfigurator implements IContainerConfigurator { // Config $container->autowire(\MailPoet\Config\AccessControl::class)->setPublic(true); $container->autowire(\MailPoet\Config\Activator::class)->setPublic(true); + $container->autowire(\MailPoet\Config\AssetsLoader::class)->setPublic(true); $container->autowire(\MailPoet\Config\Populator::class)->setPublic(true); $container->autowire(\MailPoet\Config\Changelog::class)->setPublic(true); $container->autowire(\MailPoet\Config\DatabaseInitializer::class); diff --git a/views/form/editor.html b/views/form/editor.html index ffc2a4f203..60e0f1192e 100644 --- a/views/form/editor.html +++ b/views/form/editor.html @@ -1,10 +1,5 @@ <% extends 'layout.html' %> -<% block after_css %> -<%= stylesheet('mailpoet-form-editor.css') %> -<%= stylesheet('mailpoet-public.css') %> -<% endblock %> - <% block container %>