Move style rendering

[MAILPOET-2880]
This commit is contained in:
Pavel Dohnal
2020-05-13 15:03:37 +02:00
committed by Veljko V
parent e26f5318ff
commit 4cbaf975b0
3 changed files with 39 additions and 47 deletions

View File

@@ -30,6 +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->render($this->getStyles($form), $prefix);
$html .= $this->renderFormDivWrapperStyles($form, $prefix);
$html .= '</style>';
return $html;
@@ -94,7 +95,8 @@ class Renderer {
</div>';
}
public function renderFormElementStyles(array $form): string {
private function renderFormDivWrapperStyles(array $form, string $selector = null): string {
if (is_null($selector)) return '';
if (!isset($form['settings'])) return '';
$formSettings = $form['settings'];
$styles = [];
@@ -103,10 +105,6 @@ class Renderer {
$styles[] = 'background-color: ' . trim($formSettings['backgroundColor']);
}
if (isset($formSettings['fontColor'])) {
$styles[] = 'color: ' . trim($formSettings['fontColor']);
}
if (isset($formSettings['border_size']) && isset($formSettings['border_color'])) {
$styles[] = 'border: ' . $formSettings['border_size'] . 'px solid ' . $formSettings['border_color'];
}
@@ -115,14 +113,6 @@ class Renderer {
$styles[] = 'border-radius: ' . $formSettings['border_radius'] . 'px';
}
if (isset($formSettings['form_padding'])) {
$styles[] = 'padding: ' . $formSettings['form_padding'] . 'px';
}
if (isset($formSettings['alignment'])) {
$styles[] = 'text-align: ' . $formSettings['alignment'];
}
if (isset($formSettings['background_image_url'])) {
$styles[] = 'background-image: url(' . trim($formSettings['background_image_url']) . ')';
$backgroundPosition = 'center';
@@ -140,6 +130,27 @@ class Renderer {
$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'];
}
return join(';', $styles);
}