Passed
Push — master ( 843207...29f725 )
by mark
36:53 queued 19:40
created

getTwigChartFunctionPlugins()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 7
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerShop\Yves\ChartWidget;
9
10
use Spryker\Yves\Kernel\AbstractBundleDependencyProvider;
11
use Spryker\Yves\Kernel\Container;
12
use SprykerShop\Yves\ChartWidget\Plugin\Twig\TwigBarChartPlugin;
13
use SprykerShop\Yves\ChartWidget\Plugin\Twig\TwigChartPlugin;
14
use SprykerShop\Yves\ChartWidget\Plugin\Twig\TwigLineChartPlugin;
15
use SprykerShop\Yves\ChartWidget\Plugin\Twig\TwigPieChartPlugin;
16
17
class ChartWidgetDependencyProvider extends AbstractBundleDependencyProvider
18
{
19
    public const PLUGIN_TWIG_CHART_FUNCTIONS = 'PLUGIN_TWIG_CHART_FUNCTIONS';
20
    public const PLUGIN_CHARTS = 'PLUGIN_CHARTS';
21
22
    /**
23
     * @param \Spryker\Yves\Kernel\Container $container
24
     *
25
     * @return \Spryker\Yves\Kernel\Container
26
     */
27
    public function provideDependencies(Container $container): Container
28
    {
29
        $container = $this->addTwigChartFunctionPlugins($container);
30
        $container = $this->addChartPlugins($container);
31
32
        return $container;
33
    }
34
35
    /**
36
     * @param \Spryker\Yves\Kernel\Container $container
37
     *
38
     * @return \Spryker\Yves\Kernel\Container
39
     */
40
    protected function addTwigChartFunctionPlugins(Container $container): Container
41
    {
42
        $container[static::PLUGIN_TWIG_CHART_FUNCTIONS] = function () {
43
            return $this->getTwigChartFunctionPlugins();
44
        };
45
46
        return $container;
47
    }
48
49
    /**
50
     * @param \Spryker\Yves\Kernel\Container $container
51
     *
52
     * @return \Spryker\Yves\Kernel\Container
53
     */
54
    protected function addChartPlugins(Container $container): Container
55
    {
56
        $container[static::PLUGIN_CHARTS] = function () {
57
            return $this->getChartPlugins();
58
        };
59
60
        return $container;
61
    }
62
63
    /**
64
     * @return \Spryker\Shared\Chart\Dependency\Plugin\TwigChartFunctionPluginInterface[]
65
     */
66
    protected function getTwigChartFunctionPlugins(): array
67
    {
68
        return [
69
            new TwigPieChartPlugin(),
70
            new TwigBarChartPlugin(),
71
            new TwigLineChartPlugin(),
72
            new TwigChartPlugin(),
73
        ];
74
    }
75
76
    /**
77
     * @return \Spryker\Shared\Chart\Dependency\Plugin\ChartPluginInterface[]
78
     */
79
    protected function getChartPlugins(): array
80
    {
81
        return [];
82
    }
83
}
84