Move inlined form styles to form styles in style element

[MAILPOET-2811]
This commit is contained in:
Rostislav Wolny
2020-05-20 12:16:17 +02:00
committed by Veljko V
parent 2eabab4150
commit 63a972db4a
8 changed files with 28 additions and 44 deletions

View File

@@ -140,7 +140,6 @@ class DisplayFormInWPContent {
'form_type' => $displayType,
'styles' => $this->formRenderer->renderStyles($formData, '#' . $htmlId),
'html' => $this->formRenderer->renderHTML($formData),
'form_element_styles' => $this->formRenderer->renderFormElementStyles($formData),
];
// (POST) non ajax success/error variables

View File

@@ -90,7 +90,6 @@ class PreviewPage {
'form_type' => $formType,
'styles' => $this->formRenderer->renderStyles($formData, '#' . $htmlId),
'html' => $this->formRenderer->renderHTML($formData),
'form_element_styles' => $this->formRenderer->renderFormElementStyles($formData),
'success' => $formType === 'others',
'error' => $formType === 'others',
'delay' => 1,

View File

@@ -30,7 +30,7 @@ class Renderer {
$html = '<style type="text/css">';
$html .= '.mailpoet_hp_email_label{display:none!important;}'; // move honeypot field out of sight
$html .= $this->styleUtils->prefixStyles($this->getCustomStyles($form), $prefix);
$html .= $this->styleUtils->renderFormDivWrapperStyles($form, $prefix);
$html .= $this->styleUtils->renderFormSettingsStyles($form, $prefix);
$html .= '</style>';
return $html;
@@ -94,8 +94,4 @@ class Renderer {
<input class="mailpoet_recaptcha_field" type="hidden" name="recaptcha">
</div>';
}
public function renderFormElementStyles(array $form): string {
return $this->styleUtils->renderFormElementStyles($form);
}
}

View File

@@ -111,10 +111,11 @@ EOL;
return implode(PHP_EOL, $formattedStyles);
}
public function renderFormDivWrapperStyles(array $form, string $selector = null): string {
public function renderFormSettingsStyles(array $form, string $selector = null): string {
if (is_null($selector)) return '';
if (!isset($form['settings'])) return '';
$formSettings = $form['settings'];
// Wrapper styles
$styles = [];
if (isset($formSettings['backgroundColor'])) {
@@ -146,28 +147,26 @@ EOL;
$styles[] = 'background-repeat: ' . $backgroundRepeat;
$styles[] = 'background-size: ' . $backgroundSize;
}
$media = "@media (max-width: 500px) {{$selector} {background-image: none;}}";
return $selector . '{' . join(';', $styles) . '}' . $media;
}
public function renderFormElementStyles(array $form): string {
if (!isset($form['settings'])) return '';
$formSettings = $form['settings'];
$styles = [];
if (isset($formSettings['fontColor'])) {
$styles[] = 'color: ' . trim($formSettings['fontColor']);
}
if (isset($formSettings['form_padding'])) {
$styles[] = 'padding: ' . $formSettings['form_padding'] . 'px';
}
if (isset($formSettings['alignment'])) {
$styles[] = 'text-align: ' . $formSettings['alignment'];
}
$formWrapperStyles = $selector . '{' . join(';', $styles) . ';}';
return join(';', $styles);
// Media styles
$media = "@media (max-width: 500px) {{$selector} {background-image: none;}}";
// Form element styles
$formStyles = [];
if (isset($formSettings['form_padding'])) {
$formStyles[] = 'padding: ' . $formSettings['form_padding'] . 'px';
}
$formElementStyles = $selector . ' form.mailpoet_form {' . join(';', $formStyles) . ';}';
return $formWrapperStyles . $formElementStyles . $media;
}
}

View File

@@ -226,7 +226,6 @@ class Widget extends \WP_Widget {
'after_widget' => $afterWidget,
'before_title' => $beforeTitle,
'after_title' => $afterTitle,
'form_element_styles' => $this->formRenderer->renderFormElementStyles($form),
];
// (POST) non ajax success/error variables