Files
piratepoet/lib/Form/BlockStylesRenderer.php
Pavel Dohnal 0d4d0c7052 Render input padding
[MAILPOET-2809]
2020-04-29 14:31:24 +02:00

65 lines
2.1 KiB
PHP

<?php
namespace MailPoet\Form;
class BlockStylesRenderer {
public function renderForTextInput(array $styles, array $formSettings = []): string {
$rules = [];
if (isset($styles['full_width']) && intval($styles['full_width'])) {
$rules[] = 'width:100%;';
}
if (isset($styles['background_color'])) {
$rules[] = "background-color:{$styles['background_color']};";
}
if (isset($styles['border_size']) || isset($styles['border_radius']) || isset($styles['border_color'])) {
$rules[] = "border-style:solid;";
}
if (isset($styles['border_radius'])) {
$rules[] = "border-radius:" . intval($styles['border_radius']) . "px;";
}
if (isset($styles['border_size'])) {
$rules[] = "border-width:" . intval($styles['border_size']) . "px;";
}
if (isset($styles['border_color'])) {
$rules[] = "border-color:{$styles['border_color']};";
}
if (isset($formSettings['inputPadding'])) {
$rules[] = "padding:{$formSettings['inputPadding']}px;";
}
return implode('', $rules);
}
public function renderForButton(array $styles, array $formSettings = []): string {
$rules = [];
if (isset($styles['font_color'])) {
$rules[] = "color:{$styles['font_color']};";
}
if (isset($styles['font_size'])) {
$rules[] = "font-size:" . intval($styles['font_size']) . "px;";
}
if (isset($styles['bold']) && $styles['bold'] === '1') {
$rules[] = "font-weight:bold;";
}
if (isset($formSettings['inputPadding'])) {
$rules[] = "padding:{$formSettings['inputPadding']}px;";
}
return $this->renderForTextInput($styles) . implode('', $rules);
}
public function renderForSelect(array $styles, array $formSettings = []): string {
$rules = [];
if (isset($formSettings['inputPadding'])) {
$rules[] = "padding:{$formSettings['inputPadding']}px;";
}
if (isset($formSettings['alignment'])) {
if ($formSettings['alignment'] === 'right') {
$rules[] = 'margin: 0 0 0 auto;';
}
if ($formSettings['alignment'] === 'center') {
$rules[] = 'margin: 0 auto;';
}
}
return implode('', $rules);
}
}