Skip to content

Commit 2cf3129

Browse files
committed
Add callout text and background color to template
1 parent 36331f2 commit 2cf3129

File tree

12 files changed

+59
-6
lines changed

12 files changed

+59
-6
lines changed

src/CssClassBuilder/CssClassBuilderInterface.php renamed to src/CssBuilder/CssClassBuilderInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Setono\SyliusCalloutPlugin\CssClassBuilder;
5+
namespace Setono\SyliusCalloutPlugin\CssBuilder;
66

77
use Setono\SyliusCalloutPlugin\Model\CalloutInterface;
88

src/CssBuilder/CssStyleBuilder.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace Setono\SyliusCalloutPlugin\CssBuilder;
4+
5+
use Setono\SyliusCalloutPlugin\Model\CalloutInterface;
6+
7+
class CssStyleBuilder implements CssStyleBuilderInterface
8+
{
9+
public function build(CalloutInterface $callout): string
10+
{
11+
$style = 'z-index: 999;';
12+
if ($callout->getColor()) {
13+
$style .= sprintf(' color: %s;', $callout->getColor());
14+
}
15+
if ($callout->getBackgroundColor()) {
16+
$style .= sprintf(' background-color: %s;', $callout->getBackgroundColor());
17+
}
18+
19+
return $style;
20+
}
21+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?php
2+
3+
namespace Setono\SyliusCalloutPlugin\CssBuilder;
4+
5+
use Setono\SyliusCalloutPlugin\Model\CalloutInterface;
6+
7+
interface CssStyleBuilderInterface
8+
{
9+
public function build(CalloutInterface $callout): string;
10+
}

src/CssClassBuilder/SemanticUiCssClassBuilder.php renamed to src/CssBuilder/SemanticUiCssClassBuilder.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace Setono\SyliusCalloutPlugin\CssClassBuilder;
5+
namespace Setono\SyliusCalloutPlugin\CssBuilder;
66

77
use Setono\SyliusCalloutPlugin\Model\CalloutInterface;
88
use Webmozart\Assert\Assert;

src/Resources/config/services.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<import resource="services/command.xml"/>
1010
<import resource="services/controller.xml"/>
1111
<import resource="services/css_class_builder.xml"/>
12+
<import resource="services/css_style_builder.xml"/>
1213
<import resource="services/event_subscriber.xml"/>
1314
<import resource="services/factory.xml"/>
1415
<import resource="services/fixture.xml"/>

src/Resources/config/services/css_class_builder.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
66
<services>
77
<service id="setono_sylius_callout.css_class_builder.semantic_ui"
8-
class="Setono\SyliusCalloutPlugin\CssClassBuilder\SemanticUiCssClassBuilder">
8+
class="Setono\SyliusCalloutPlugin\CssBuilder\SemanticUiCssClassBuilder">
99
</service>
1010

1111
<service id="setono_sylius_callout.css_class_builder.default"
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="UTF-8" ?>
2+
3+
<container xmlns="http://symfony.com/schema/dic/services"
4+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5+
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
6+
<services>
7+
<service id="setono_sylius_callout.css_style_builder.default"
8+
class="Setono\SyliusCalloutPlugin\CssBuilder\CssStyleBuilder">
9+
</service>
10+
11+
</services>
12+
</container>

src/Resources/config/services/twig.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
<argument type="service" id="setono_sylius_callout.css_class_builder.default"/>
1818
<argument type="service" id="setono_sylius_callout.provider.rendering_callout"/>
1919
<argument type="service" id="setono_sylius_callout.renderer.callout"/>
20+
<argument type="service" id="setono_sylius_callout.css_style_builder.default"/>
2021

2122
<tag name="twig.runtime"/>
2223
</service>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
{# @var \Setono\SyliusCalloutPlugin\Model\CalloutInterface callout #}
2-
<div class="{{ render_callout_class_attribute(callout) }}" style="z-index: 999">{{ render_callout(callout) }}</div>
2+
<div class="{{ render_callout_class_attribute(callout) }}" style="{{ render_callout_style(callout) }}">{{ render_callout(callout) }}</div>

src/Twig/CalloutExtension.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public function getFunctions(): array
2020
new TwigFunction('get_callout_assignment_delay', $this->getDelay(...)),
2121
new TwigFunction('render_callout_class_attribute', [CalloutRuntime::class, 'renderCalloutClassAttribute']),
2222
new TwigFunction('render_callout', [CalloutRuntime::class, 'renderCallout'], ['is_safe' => ['html']]),
23+
new TwigFunction('render_callout_style', [CalloutRuntime::class, 'renderCalloutStyle']),
2324
];
2425
}
2526

0 commit comments

Comments
 (0)