Use AssetsLoader for enqueue css in formEditor
[MAILPOET-3556]
This commit is contained in:
33
lib/Config/AssetsLoader.php
Normal file
33
lib/Config/AssetsLoader.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace MailPoet\Config;
|
||||||
|
|
||||||
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
|
class AssetsLoader {
|
||||||
|
|
||||||
|
/** @var Renderer */
|
||||||
|
private $renderer;
|
||||||
|
|
||||||
|
/** @var WPFunctions */
|
||||||
|
private $wp;
|
||||||
|
|
||||||
|
public function __construct(RendererFactory $rendererFactory, WPFunctions $wp) {
|
||||||
|
$this->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")
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -73,6 +73,9 @@ class Initializer {
|
|||||||
/** @var Localizer */
|
/** @var Localizer */
|
||||||
private $localizer;
|
private $localizer;
|
||||||
|
|
||||||
|
/** @var AssetsLoader */
|
||||||
|
private $assetsLoader;
|
||||||
|
|
||||||
const INITIALIZED = 'MAILPOET_INITIALIZED';
|
const INITIALIZED = 'MAILPOET_INITIALIZED';
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
@ -92,25 +95,27 @@ class Initializer {
|
|||||||
WCTransactionalEmails $wcTransactionalEmails,
|
WCTransactionalEmails $wcTransactionalEmails,
|
||||||
PostEditorBlock $postEditorBlock,
|
PostEditorBlock $postEditorBlock,
|
||||||
WooCommerceHelper $wcHelper,
|
WooCommerceHelper $wcHelper,
|
||||||
Localizer $localizer
|
Localizer $localizer,
|
||||||
|
AssetsLoader $assetsLoader
|
||||||
) {
|
) {
|
||||||
$this->rendererFactory = $rendererFactory;
|
$this->rendererFactory = $rendererFactory;
|
||||||
$this->accessControl = $accessControl;
|
$this->accessControl = $accessControl;
|
||||||
$this->api = $api;
|
$this->api = $api;
|
||||||
$this->activator = $activator;
|
$this->activator = $activator;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->router = $router;
|
$this->router = $router;
|
||||||
$this->hooks = $hooks;
|
$this->hooks = $hooks;
|
||||||
$this->changelog = $changelog;
|
$this->changelog = $changelog;
|
||||||
$this->menu = $menu;
|
$this->menu = $menu;
|
||||||
$this->cronTrigger = $cronTrigger;
|
$this->cronTrigger = $cronTrigger;
|
||||||
$this->permanentNotices = $permanentNotices;
|
$this->permanentNotices = $permanentNotices;
|
||||||
$this->shortcodes = $shortcodes;
|
$this->shortcodes = $shortcodes;
|
||||||
$this->databaseInitializer = $databaseInitializer;
|
$this->databaseInitializer = $databaseInitializer;
|
||||||
$this->wcTransactionalEmails = $wcTransactionalEmails;
|
$this->wcTransactionalEmails = $wcTransactionalEmails;
|
||||||
$this->wcHelper = $wcHelper;
|
$this->wcHelper = $wcHelper;
|
||||||
$this->postEditorBlock = $postEditorBlock;
|
$this->postEditorBlock = $postEditorBlock;
|
||||||
$this->localizer = $localizer;
|
$this->localizer = $localizer;
|
||||||
|
$this->assetsLoader = $assetsLoader;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function init() {
|
public function init() {
|
||||||
@ -187,6 +192,7 @@ class Initializer {
|
|||||||
$this->setupWidget();
|
$this->setupWidget();
|
||||||
$this->hooks->init();
|
$this->hooks->init();
|
||||||
$this->setupWoocommerceTransactionalEmails();
|
$this->setupWoocommerceTransactionalEmails();
|
||||||
|
$this->assetsLoader->loadStyles();
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
$this->handleFailedInitialization($e);
|
$this->handleFailedInitialization($e);
|
||||||
}
|
}
|
||||||
|
@ -93,6 +93,7 @@ class ContainerConfigurator implements IContainerConfigurator {
|
|||||||
// Config
|
// Config
|
||||||
$container->autowire(\MailPoet\Config\AccessControl::class)->setPublic(true);
|
$container->autowire(\MailPoet\Config\AccessControl::class)->setPublic(true);
|
||||||
$container->autowire(\MailPoet\Config\Activator::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\Populator::class)->setPublic(true);
|
||||||
$container->autowire(\MailPoet\Config\Changelog::class)->setPublic(true);
|
$container->autowire(\MailPoet\Config\Changelog::class)->setPublic(true);
|
||||||
$container->autowire(\MailPoet\Config\DatabaseInitializer::class);
|
$container->autowire(\MailPoet\Config\DatabaseInitializer::class);
|
||||||
|
@ -1,10 +1,5 @@
|
|||||||
<% extends 'layout.html' %>
|
<% extends 'layout.html' %>
|
||||||
|
|
||||||
<% block after_css %>
|
|
||||||
<%= stylesheet('mailpoet-form-editor.css') %>
|
|
||||||
<%= stylesheet('mailpoet-public.css') %>
|
|
||||||
<% endblock %>
|
|
||||||
|
|
||||||
<% block container %>
|
<% block container %>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
Reference in New Issue
Block a user