diff --git a/assets/js/src/post_editor_block/blocks.jsx b/assets/js/src/post_editor_block/blocks.jsx index b43abc6938..726af786bc 100644 --- a/assets/js/src/post_editor_block/blocks.jsx +++ b/assets/js/src/post_editor_block/blocks.jsx @@ -1 +1 @@ -import './form_block.jsx'; +import './subscription_form/form_block.jsx'; diff --git a/assets/js/src/post_editor_block/edit.jsx b/assets/js/src/post_editor_block/subscription_form/edit.jsx similarity index 100% rename from assets/js/src/post_editor_block/edit.jsx rename to assets/js/src/post_editor_block/subscription_form/edit.jsx diff --git a/assets/js/src/post_editor_block/form_block.jsx b/assets/js/src/post_editor_block/subscription_form/form_block.jsx similarity index 86% rename from assets/js/src/post_editor_block/form_block.jsx rename to assets/js/src/post_editor_block/subscription_form/form_block.jsx index 88c3feed0d..894176fc36 100644 --- a/assets/js/src/post_editor_block/form_block.jsx +++ b/assets/js/src/post_editor_block/subscription_form/form_block.jsx @@ -4,7 +4,7 @@ import Edit from './edit.jsx'; const wp = window.wp; const { registerBlockType } = wp.blocks; -registerBlockType('mailpoet/form-block', { +registerBlockType('mailpoet/subscription-form-block', { title: window.locale.subscriptionForm, icon: Icon, category: 'widgets', diff --git a/assets/js/src/post_editor_block/icon.jsx b/assets/js/src/post_editor_block/subscription_form/icon.jsx similarity index 100% rename from assets/js/src/post_editor_block/icon.jsx rename to assets/js/src/post_editor_block/subscription_form/icon.jsx diff --git a/lib/Config/PostEditorBlock.php b/lib/Config/PostEditorBlock.php index 2d665e0c44..cf9d2ec803 100644 --- a/lib/Config/PostEditorBlock.php +++ b/lib/Config/PostEditorBlock.php @@ -1,15 +1,13 @@ wp->registerBlockType('mailpoet/subscription-form-block-render', [ + // this has to be here until we drop support for WordPress < 5.0 + if (!function_exists('register_block_type')) return; + + if (is_admin()) { + $this->initAdmin(); + } else { + $this->initFrontend(); + } + + $this->wp->registerBlockType('mailpoet/form-block-render', [ 'attributes' => [ 'form' => [ 'type' => 'number', @@ -41,10 +48,25 @@ class SubscriptionFormBlock { ]); } - public function initAdmin() { - $this->wp->registerBlockType('mailpoet/subscription-form-block', [ + private function initAdmin() { + $this->wp->wpEnqueueScript( + 'mailpoet-block-form-block-js', + Env::$assetsUrl . '/dist/js/' . $this->renderer->getJsAsset('post_editor_block.js'), + ['wp-blocks', 'wp-components', 'wp-server-side-render', 'wp-block-editor'], + Env::$version, + true + ); + + $this->wp->wpEnqueueStyle( + 'mailpoetblock-form-block-css', + Env::$assetsUrl . '/dist/css/' . $this->renderer->getCssAsset('post-editor-block.css'), + ['wp-edit-blocks'], + Env::$version + ); + + $this->wp->registerBlockType('mailpoet/form-block', [ 'style' => 'mailpoetblock-form-block-css', - 'editor_script' => 'mailpoet/subscription-form-block', + 'editor_script' => 'mailpoet/form-block', ]); $this->wp->addAction('admin_head', function() { @@ -64,8 +86,8 @@ class SubscriptionFormBlock { }); } - public function initFrontend() { - $this->wp->registerBlockType('mailpoet/subscription-form-block', [ + private function initFrontend() { + $this->wp->registerBlockType('mailpoet/form-block', [ 'render_callback' => [$this, 'renderForm'], ]); } @@ -80,4 +102,5 @@ class SubscriptionFormBlock { 'form_type' => 'html', ]); } + }