Register default patterns to the email editor via hooks
[MAILPOET-6243]
This commit is contained in:
committed by
Oluwaseun Olorunsola
parent
2409b5c8a1
commit
a3f292f74e
@ -366,6 +366,7 @@ class ContainerConfigurator implements IContainerConfigurator {
|
|||||||
$container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\EmailEditorPreviewEmail::class)->setPublic(true);
|
$container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\EmailEditorPreviewEmail::class)->setPublic(true);
|
||||||
$container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Blocks\BlockTypesController::class)->setPublic(true);
|
$container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Blocks\BlockTypesController::class)->setPublic(true);
|
||||||
$container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Blocks\BlockTypes\PoweredByMailpoet::class)->setPublic(true);
|
$container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Blocks\BlockTypes\PoweredByMailpoet::class)->setPublic(true);
|
||||||
|
$container->autowire(\MailPoet\EmailEditor\Integrations\MailPoet\Patterns\PatternsController::class)->setPublic(true);
|
||||||
// Features
|
// Features
|
||||||
$container->autowire(\MailPoet\Features\FeaturesController::class)->setPublic(true);
|
$container->autowire(\MailPoet\Features\FeaturesController::class)->setPublic(true);
|
||||||
$container->autowire(\MailPoet\Features\FeatureFlagsController::class)->setPublic(true);
|
$container->autowire(\MailPoet\Features\FeatureFlagsController::class)->setPublic(true);
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace MailPoet\EmailEditor\Integrations\MailPoet;
|
namespace MailPoet\EmailEditor\Integrations\MailPoet;
|
||||||
|
|
||||||
|
use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\PatternsController;
|
||||||
use MailPoet\Features\FeaturesController;
|
use MailPoet\Features\FeaturesController;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
@ -16,6 +17,8 @@ class EmailEditor {
|
|||||||
|
|
||||||
private EditorPageRenderer $editorPageRenderer;
|
private EditorPageRenderer $editorPageRenderer;
|
||||||
|
|
||||||
|
private PatternsController $patternsController;
|
||||||
|
|
||||||
private Cli $cli;
|
private Cli $cli;
|
||||||
|
|
||||||
private EmailEditorPreviewEmail $emailEditorPreviewEmail;
|
private EmailEditorPreviewEmail $emailEditorPreviewEmail;
|
||||||
@ -25,13 +28,15 @@ class EmailEditor {
|
|||||||
FeaturesController $featuresController,
|
FeaturesController $featuresController,
|
||||||
EmailApiController $emailApiController,
|
EmailApiController $emailApiController,
|
||||||
EditorPageRenderer $editorPageRenderer,
|
EditorPageRenderer $editorPageRenderer,
|
||||||
Cli $cli,
|
EmailEditorPreviewEmail $emailEditorPreviewEmail,
|
||||||
EmailEditorPreviewEmail $emailEditorPreviewEmail
|
PatternsController $patternsController,
|
||||||
|
Cli $cli
|
||||||
) {
|
) {
|
||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->featuresController = $featuresController;
|
$this->featuresController = $featuresController;
|
||||||
$this->emailApiController = $emailApiController;
|
$this->emailApiController = $emailApiController;
|
||||||
$this->editorPageRenderer = $editorPageRenderer;
|
$this->editorPageRenderer = $editorPageRenderer;
|
||||||
|
$this->patternsController = $patternsController;
|
||||||
$this->cli = $cli;
|
$this->cli = $cli;
|
||||||
$this->emailEditorPreviewEmail = $emailEditorPreviewEmail;
|
$this->emailEditorPreviewEmail = $emailEditorPreviewEmail;
|
||||||
}
|
}
|
||||||
@ -41,6 +46,7 @@ class EmailEditor {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$this->cli->initialize();
|
$this->cli->initialize();
|
||||||
|
$this->patternsController->initialize();
|
||||||
$this->wp->addFilter('mailpoet_email_editor_post_types', [$this, 'addEmailPostType']);
|
$this->wp->addFilter('mailpoet_email_editor_post_types', [$this, 'addEmailPostType']);
|
||||||
$this->wp->addAction('rest_delete_mailpoet_email', [$this->emailApiController, 'trashEmail'], 10, 1);
|
$this->wp->addAction('rest_delete_mailpoet_email', [$this->emailApiController, 'trashEmail'], 10, 1);
|
||||||
$this->wp->addFilter('mailpoet_is_email_editor_page', [$this, 'isEditorPage'], 10, 1);
|
$this->wp->addFilter('mailpoet_is_email_editor_page', [$this, 'isEditorPage'], 10, 1);
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
<?php declare(strict_types = 1);
|
||||||
|
|
||||||
|
namespace MailPoet\EmailEditor\Integrations\MailPoet\Patterns;
|
||||||
|
|
||||||
|
use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Library\DefaultContent;
|
||||||
|
use MailPoet\EmailEditor\Integrations\MailPoet\Patterns\Library\DefaultContentFull;
|
||||||
|
use MailPoet\Util\CdnAssetUrl;
|
||||||
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
|
class PatternsController {
|
||||||
|
private CdnAssetUrl $cdnAssetUrl;
|
||||||
|
private WPFunctions $wp;
|
||||||
|
|
||||||
|
public function __construct(
|
||||||
|
CdnAssetUrl $cdnAssetUrl,
|
||||||
|
WPFunctions $wpFunctions
|
||||||
|
) {
|
||||||
|
$this->cdnAssetUrl = $cdnAssetUrl;
|
||||||
|
$this->wp = $wpFunctions;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function initialize(): void {
|
||||||
|
$this->wp->addFilter('mailpoet_block_pattern_categories', [$this, 'registerCategories']);
|
||||||
|
$this->wp->addFilter('mailpoet_block_patterns', [$this, 'registerPatterns']);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function registerCategories(array $categories): array {
|
||||||
|
$categories[] = [
|
||||||
|
'name' => 'mailpoet',
|
||||||
|
'label' => _x('MailPoet', 'Block pattern category', 'mailpoet'),
|
||||||
|
'description' => __('A collection of email template layouts.', 'mailpoet'),
|
||||||
|
];
|
||||||
|
return $categories;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function registerPatterns($patterns): array {
|
||||||
|
$patterns[] = new DefaultContentFull($this->cdnAssetUrl);
|
||||||
|
$patterns[] = new DefaultContent($this->cdnAssetUrl);
|
||||||
|
return $patterns;
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user