Add automation editor page
[MAILPOET-4287]
This commit is contained in:
32
mailpoet/lib/AdminPages/Pages/AutomationEditor.php
Normal file
32
mailpoet/lib/AdminPages/Pages/AutomationEditor.php
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
<?php declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace MailPoet\AdminPages\Pages;
|
||||||
|
|
||||||
|
use MailPoet\AdminPages\PageRenderer;
|
||||||
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
|
class AutomationEditor {
|
||||||
|
/** @var PageRenderer */
|
||||||
|
private $pageRenderer;
|
||||||
|
|
||||||
|
/** @var WPFunctions */
|
||||||
|
private $wp;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
PageRenderer $pageRenderer,
|
||||||
|
WPFunctions $wp
|
||||||
|
) {
|
||||||
|
$this->pageRenderer = $pageRenderer;
|
||||||
|
$this->wp = $wp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function render() {
|
||||||
|
$this->pageRenderer->displayPage('automation/editor.html', [
|
||||||
|
'sub_menu' => 'mailpoet-automation',
|
||||||
|
'api' => [
|
||||||
|
'root' => rtrim($this->wp->escUrlRaw($this->wp->restUrl()), '/'),
|
||||||
|
'nonce' => $this->wp->wpCreateNonce('wp_rest'),
|
||||||
|
],
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
@ -3,6 +3,7 @@
|
|||||||
namespace MailPoet\Config;
|
namespace MailPoet\Config;
|
||||||
|
|
||||||
use MailPoet\AdminPages\Pages\Automation;
|
use MailPoet\AdminPages\Pages\Automation;
|
||||||
|
use MailPoet\AdminPages\Pages\AutomationEditor;
|
||||||
use MailPoet\AdminPages\Pages\ExperimentalFeatures;
|
use MailPoet\AdminPages\Pages\ExperimentalFeatures;
|
||||||
use MailPoet\AdminPages\Pages\FormEditor;
|
use MailPoet\AdminPages\Pages\FormEditor;
|
||||||
use MailPoet\AdminPages\Pages\Forms;
|
use MailPoet\AdminPages\Pages\Forms;
|
||||||
@ -412,6 +413,23 @@ class Menu {
|
|||||||
'mailpoet-automation',
|
'mailpoet-automation',
|
||||||
[$this, 'automation']
|
[$this, 'automation']
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Automation editor
|
||||||
|
$automationEditorPage = $this->wp->addSubmenuPage(
|
||||||
|
true,
|
||||||
|
$this->setPageTitle('Automation Editor'),
|
||||||
|
'Automation Editor',
|
||||||
|
AccessControl::PERMISSION_MANAGE_EMAILS,
|
||||||
|
'mailpoet-automation-editor',
|
||||||
|
[$this, 'automationEditor']
|
||||||
|
);
|
||||||
|
|
||||||
|
// add body class for automation editor page
|
||||||
|
$this->wp->addAction('load-' . $automationEditorPage, function() {
|
||||||
|
$this->wp->addAction('admin_body_class', function ($classes) {
|
||||||
|
return ltrim($classes . ' block-editor-page');
|
||||||
|
});
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -448,6 +466,10 @@ class Menu {
|
|||||||
$this->container->get(Automation::class)->render();
|
$this->container->get(Automation::class)->render();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function automationEditor() {
|
||||||
|
$this->container->get(AutomationEditor::class)->render();
|
||||||
|
}
|
||||||
|
|
||||||
public function experimentalFeatures() {
|
public function experimentalFeatures() {
|
||||||
$this->container->get(ExperimentalFeatures::class)->render();
|
$this->container->get(ExperimentalFeatures::class)->render();
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ class ContainerConfigurator implements IContainerConfigurator {
|
|||||||
// AdminPages
|
// AdminPages
|
||||||
$container->autowire(\MailPoet\AdminPages\PageRenderer::class)->setPublic(true);
|
$container->autowire(\MailPoet\AdminPages\PageRenderer::class)->setPublic(true);
|
||||||
$container->autowire(\MailPoet\AdminPages\Pages\Automation::class)->setPublic(true);
|
$container->autowire(\MailPoet\AdminPages\Pages\Automation::class)->setPublic(true);
|
||||||
|
$container->autowire(\MailPoet\AdminPages\Pages\AutomationEditor::class)->setPublic(true);
|
||||||
$container->autowire(\MailPoet\AdminPages\Pages\ExperimentalFeatures::class)->setPublic(true);
|
$container->autowire(\MailPoet\AdminPages\Pages\ExperimentalFeatures::class)->setPublic(true);
|
||||||
$container->autowire(\MailPoet\AdminPages\Pages\FormEditor::class)->setPublic(true);
|
$container->autowire(\MailPoet\AdminPages\Pages\FormEditor::class)->setPublic(true);
|
||||||
$container->autowire(\MailPoet\AdminPages\Pages\Forms::class)->setPublic(true);
|
$container->autowire(\MailPoet\AdminPages\Pages\Forms::class)->setPublic(true);
|
||||||
|
@ -12,6 +12,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<a href="<%= admin_url('admin.php?page=mailpoet-automation-editor') %>">Automation Editor</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div id="mailpoet_automation"></div>
|
<div id="mailpoet_automation"></div>
|
||||||
|
|
||||||
<% endblock %>
|
<% endblock %>
|
||||||
|
5
mailpoet/views/automation/editor.html
Normal file
5
mailpoet/views/automation/editor.html
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<% extends 'layout.html' %>
|
||||||
|
|
||||||
|
<% block container %>
|
||||||
|
<div>Automation Editor</div>
|
||||||
|
<% endblock %>
|
Reference in New Issue
Block a user