Fix rendering issues in form blocks

[MAILPOET-3415]
This commit is contained in:
Rostislav Wolny
2021-02-11 12:45:49 +01:00
committed by Veljko V
parent 6e911ffd1d
commit c1aef842d2
29 changed files with 196 additions and 58 deletions

View File

@@ -4,6 +4,7 @@ namespace MailPoet\Form\Block;
use MailPoet\Form\BlockStylesRenderer;
use MailPoet\Form\BlockWrapperRenderer;
use MailPoet\WP\Functions as WPFunctions;
class Date {
@@ -16,14 +17,19 @@ class Date {
/** @var BlockStylesRenderer */
private $blockStylesRenderer;
/** @var WPFunctions */
private $wp;
public function __construct(
BlockRendererHelper $rendererHelper,
BlockStylesRenderer $blockStylesRenderer,
BlockWrapperRenderer $wrapper
BlockWrapperRenderer $wrapper,
WPFunctions $wp
) {
$this->rendererHelper = $rendererHelper;
$this->wrapper = $wrapper;
$this->blockStylesRenderer = $blockStylesRenderer;
$this->wp = $wp;
}
public function render(array $block, array $formSettings): string {
@@ -55,7 +61,7 @@ class Date {
foreach ($dateSelectors as $dateSelector) {
if ($dateSelector === 'DD') {
$html .= '<select class="mailpoet_date_day" ';
$html .= ' style="' . $this->blockStylesRenderer->renderForSelect([], $formSettings) . '"';
$html .= ' style="' . $this->wp->escAttr($this->blockStylesRenderer->renderForSelect([], $formSettings)) . '"';
$html .= $this->rendererHelper->getInputValidation($block, [
'required-message' => __('Please select a day', 'mailpoet'),
]);
@@ -64,7 +70,7 @@ class Date {
$html .= '</select>';
} else if ($dateSelector === 'MM') {
$html .= '<select class="mailpoet_select mailpoet_date_month" data-automation-id="form_date_month" ';
$html .= ' style="' . $this->blockStylesRenderer->renderForSelect([], $formSettings) . '"';
$html .= ' style="' . $this->wp->escAttr($this->blockStylesRenderer->renderForSelect([], $formSettings)) . '"';
$html .= $this->rendererHelper->getInputValidation($block, [
'required-message' => __('Please select a month', 'mailpoet'),
]);
@@ -73,7 +79,7 @@ class Date {
$html .= '</select>';
} else if ($dateSelector === 'YYYY') {
$html .= '<select class="mailpoet_date_year" data-automation-id="form_date_year" ';
$html .= ' style="' . $this->blockStylesRenderer->renderForSelect([], $formSettings) . '"';
$html .= ' style="' . $this->wp->escAttr($this->blockStylesRenderer->renderForSelect([], $formSettings)) . '"';
$html .= $this->rendererHelper->getInputValidation($block, [
'required-message' => __('Please select a year', 'mailpoet'),
]);
@@ -83,7 +89,7 @@ class Date {
}
}
$html .= '<span class="mailpoet_error_' . $block['id'] . '"></span>';
$html .= '<span class="mailpoet_error_' . $this->wp->escAttr($block['id']) . '"></span>';
return $html;
}