Refactor block renderers to use wrapper renderer
[MAILPOET-2746]
This commit is contained in:
committed by
Veljko V
parent
65afeca59e
commit
72a0afa75b
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace MailPoet\Form\Block;
|
||||
|
||||
use MailPoet\Form\BlockWrapperRenderer;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Checkbox {
|
||||
@@ -9,11 +10,15 @@ class Checkbox {
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
/** @var BlockWrapperRenderer */
|
||||
private $wrapper;
|
||||
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, WPFunctions $wp) {
|
||||
public function __construct(BlockRendererHelper $rendererHelper, BlockWrapperRenderer $wrapper, WPFunctions $wp) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->wrapper = $wrapper;
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
@@ -23,8 +28,6 @@ class Checkbox {
|
||||
$fieldName = 'data[' . $this->rendererHelper->getFieldName($block) . ']';
|
||||
$fieldValidation = $this->rendererHelper->getInputValidation($block);
|
||||
|
||||
$html .= '<div class="mailpoet_paragraph">';
|
||||
|
||||
$html .= $this->rendererHelper->renderLabel($block, $formSettings);
|
||||
|
||||
$options = (!empty($block['params']['values'])
|
||||
@@ -60,8 +63,6 @@ class Checkbox {
|
||||
|
||||
$html .= '<span class="mailpoet_error_' . $block['id'] . '"></span>';
|
||||
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
return $this->wrapper->render($block, $html);
|
||||
}
|
||||
}
|
||||
|
@@ -2,23 +2,26 @@
|
||||
|
||||
namespace MailPoet\Form\Block;
|
||||
|
||||
use MailPoet\Form\BlockWrapperRenderer;
|
||||
|
||||
class Date {
|
||||
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper) {
|
||||
/** @var BlockWrapperRenderer */
|
||||
private $wrapper;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, BlockWrapperRenderer $wrapper) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->wrapper = $wrapper;
|
||||
}
|
||||
|
||||
public function render(array $block, array $formSettings): string {
|
||||
$html = '';
|
||||
$html .= '<div class="mailpoet_paragraph">';
|
||||
$html .= $this->rendererHelper->renderLabel($block, $formSettings);
|
||||
$html .= $this->renderDateSelect($block);
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
return $this->wrapper->render($block, $html);
|
||||
}
|
||||
|
||||
private function renderDateSelect(array $block = []): string {
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace MailPoet\Form\Block;
|
||||
|
||||
use MailPoet\Form\BlockWrapperRenderer;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Radio {
|
||||
@@ -12,8 +13,12 @@ class Radio {
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, WPFunctions $wp) {
|
||||
/** @var BlockWrapperRenderer */
|
||||
private $wrapper;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, BlockWrapperRenderer $wrapper, WPFunctions $wp) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->wrapper = $wrapper;
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
@@ -23,8 +28,6 @@ class Radio {
|
||||
$fieldName = 'data[' . $this->rendererHelper->getFieldName($block) . ']';
|
||||
$fieldValidation = $this->rendererHelper->getInputValidation($block);
|
||||
|
||||
$html .= '<div class="mailpoet_paragraph">';
|
||||
|
||||
$html .= $this->rendererHelper->renderLabel($block, $formSettings);
|
||||
|
||||
$options = (!empty($block['params']['values'])
|
||||
@@ -68,8 +71,6 @@ class Radio {
|
||||
|
||||
$html .= '<span class="mailpoet_error_' . $block['id'] . '"></span>';
|
||||
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
return $this->wrapper->render($block, $html);
|
||||
}
|
||||
}
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace MailPoet\Form\Block;
|
||||
|
||||
use MailPoet\Form\BlockWrapperRenderer;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Segment {
|
||||
@@ -12,8 +13,12 @@ class Segment {
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, WPFunctions $wp) {
|
||||
/** @var BlockWrapperRenderer */
|
||||
private $wrapper;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, BlockWrapperRenderer $wrapper, WPFunctions $wp) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->wrapper = $wrapper;
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
@@ -23,8 +28,6 @@ class Segment {
|
||||
$fieldName = 'data[' . $this->rendererHelper->getFieldName($block) . ']';
|
||||
$fieldValidation = $this->rendererHelper->getInputValidation($block);
|
||||
|
||||
$html .= '<div class="mailpoet_paragraph">';
|
||||
|
||||
$html .= $this->rendererHelper->renderLabel($block, $formSettings);
|
||||
|
||||
$options = (!empty($block['params']['values'])
|
||||
@@ -50,8 +53,6 @@ class Segment {
|
||||
|
||||
$html .= '<span class="mailpoet_error_' . $block['id'] . '"></span>';
|
||||
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
return $this->wrapper->render($block, $html);
|
||||
}
|
||||
}
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace MailPoet\Form\Block;
|
||||
|
||||
use MailPoet\Form\BlockWrapperRenderer;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class Select {
|
||||
@@ -12,8 +13,12 @@ class Select {
|
||||
/** @var WPFunctions */
|
||||
private $wp;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, WPFunctions $wp) {
|
||||
/** @var BlockWrapperRenderer */
|
||||
private $wrapper;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, BlockWrapperRenderer $wrapper, WPFunctions $wp) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->wrapper = $wrapper;
|
||||
$this->wp = $wp;
|
||||
}
|
||||
|
||||
@@ -23,7 +28,6 @@ class Select {
|
||||
$fieldName = 'data[' . $this->rendererHelper->getFieldName($block) . ']';
|
||||
$automationId = ($block['id'] == 'status') ? 'data-automation-id="form_status"' : '';
|
||||
|
||||
$html .= '<div class="mailpoet_paragraph">';
|
||||
$html .= $this->rendererHelper->renderLabel($block, $formSettings);
|
||||
$html .= '<select class="mailpoet_select" name="' . $fieldName . '" ' . $automationId . '>';
|
||||
|
||||
@@ -71,8 +75,6 @@ class Select {
|
||||
}
|
||||
$html .= '</select>';
|
||||
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
return $this->wrapper->render($block, $html);
|
||||
}
|
||||
}
|
||||
|
@@ -2,19 +2,25 @@
|
||||
|
||||
namespace MailPoet\Form\Block;
|
||||
|
||||
use MailPoet\Form\BlockWrapperRenderer;
|
||||
|
||||
class Submit {
|
||||
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper) {
|
||||
/** @var BlockWrapperRenderer */
|
||||
private $wrapper;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, BlockWrapperRenderer $wrapper) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->wrapper = $wrapper;
|
||||
}
|
||||
|
||||
public function render(array $block): string {
|
||||
$html = '';
|
||||
|
||||
$html .= '<div class="mailpoet_paragraph"><input type="submit" class="mailpoet_submit" ';
|
||||
$html .= '<input type="submit" class="mailpoet_submit" ';
|
||||
|
||||
$html .= 'value="' . $this->rendererHelper->getFieldLabel($block) . '" ';
|
||||
|
||||
@@ -24,8 +30,6 @@ class Submit {
|
||||
|
||||
$html .= '<span class="mailpoet_form_loading"><span class="mailpoet_bounce1"></span><span class="mailpoet_bounce2"></span><span class="mailpoet_bounce3"></span></span>';
|
||||
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
return $this->wrapper->render($block, $html);
|
||||
}
|
||||
}
|
||||
|
@@ -2,19 +2,27 @@
|
||||
|
||||
namespace MailPoet\Form\Block;
|
||||
|
||||
use MailPoet\Form\BlockWrapperRenderer;
|
||||
use MailPoet\Form\TextInputStylesRenderer;
|
||||
|
||||
class Text {
|
||||
|
||||
/** @var BlockRendererHelper */
|
||||
private $rendererHelper;
|
||||
|
||||
/** @var TextInputStylesRenderer */
|
||||
private $inputStylesRenderer;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, TextInputStylesRenderer $inputStylesRenderer) {
|
||||
/** @var BlockWrapperRenderer */
|
||||
private $wrapper;
|
||||
|
||||
public function __construct(
|
||||
BlockRendererHelper $rendererHelper,
|
||||
TextInputStylesRenderer $inputStylesRenderer,
|
||||
BlockWrapperRenderer $wrapper
|
||||
) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->inputStylesRenderer = $inputStylesRenderer;
|
||||
$this->wrapper = $wrapper;
|
||||
}
|
||||
|
||||
public function render(array $block, array $formSettings): string {
|
||||
@@ -34,7 +42,7 @@ class Text {
|
||||
$automationId = 'data-automation-id="form_' . $block['id'] . '" ';
|
||||
}
|
||||
|
||||
$html = '<div class="mailpoet_paragraph">';
|
||||
$html = '';
|
||||
|
||||
$html .= $this->rendererHelper->renderLabel($block, $formSettings);
|
||||
|
||||
@@ -60,8 +68,6 @@ class Text {
|
||||
|
||||
$html .= '/>';
|
||||
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
return $this->wrapper->render($block, $html);
|
||||
}
|
||||
}
|
||||
|
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace MailPoet\Form\Block;
|
||||
|
||||
use MailPoet\Form\BlockWrapperRenderer;
|
||||
use MailPoet\Form\TextInputStylesRenderer;
|
||||
|
||||
class Textarea {
|
||||
@@ -11,17 +12,23 @@ class Textarea {
|
||||
/** @var TextInputStylesRenderer */
|
||||
private $inputStylesRenderer;
|
||||
|
||||
public function __construct(BlockRendererHelper $rendererHelper, TextInputStylesRenderer $inputStylesRenderer) {
|
||||
/** @var BlockWrapperRenderer */
|
||||
private $wrapper;
|
||||
|
||||
public function __construct(
|
||||
BlockRendererHelper $rendererHelper,
|
||||
TextInputStylesRenderer $inputStylesRenderer,
|
||||
BlockWrapperRenderer $wrapper
|
||||
) {
|
||||
$this->rendererHelper = $rendererHelper;
|
||||
$this->inputStylesRenderer = $inputStylesRenderer;
|
||||
$this->wrapper = $wrapper;
|
||||
}
|
||||
|
||||
public function render(array $block, array $formSettings): string {
|
||||
$html = '';
|
||||
$styles = $this->inputStylesRenderer->render($block['styles'] ?? []);
|
||||
|
||||
$html .= '<div class="mailpoet_paragraph">';
|
||||
|
||||
$html .= $this->rendererHelper->renderLabel($block, $formSettings);
|
||||
|
||||
$lines = (isset($block['params']['lines']) ? (int)$block['params']['lines'] : 1);
|
||||
@@ -42,8 +49,6 @@ class Textarea {
|
||||
|
||||
$html .= '>' . $this->rendererHelper->getFieldValue($block) . '</textarea>';
|
||||
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
return $this->wrapper->render($block, $html);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user