Completed
Push — master ( 5ea4f0...925a81 )
by Silvan
02:06
created

SlickWidget   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Test Coverage

Coverage 10.53%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 5
dl 0
loc 38
ccs 2
cts 19
cp 0.1053
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
B init() 0 25 1
A run() 0 4 1
1
<?php
2
3
namespace dev7ch\slick;
4
5
use dev7ch\slick\assets\PicturefillAsset;
6
use dev7ch\slick\assets\ResourcesAsset;
7
use dev7ch\slick\assets\SlickAsset;
8
9 1
\Yii::setAlias('@slick', '@bower/slick-carousel');
10 1
\Yii::setAlias('@resources', dirname(__DIR__).'/src/resources');
11
12
class SlickWidget extends \luya\base\Widget
13
{
14
    public $baseUrl;
15
    public $images;
16
    public $slickConfig = [];
17
    public $slickConfigWidget;
18
19 1
    public function init()
20
    {
21 1
        PicturefillAsset::register($this->getView());
22
        SlickAsset::register($this->getView());
23
        ResourcesAsset::register($this->getView());
24
25
        $this->slickConfig = $this->slickConfigWidget;
26
27
        $this->view->registerJs(
28
            "var slickSlider = $('.slick-slider').slick({"
29
                .implode(', ',
30
                    array_map(
31
                        function ($config, $option) {
32
                            return sprintf('%s:%s', $option, $config);
33
                        },
34
                        $this->slickConfig, array_keys($this->slickConfig)
35
                    )
36
                ).
37
            '});',
38
            \luya\web\View::POS_READY,
39
            'slickSlider'
40
        );
41
42
        parent::init();
43
    }
44
45
    public function run()
46
    {
47
        return $this->render('SlickSlider', ['widget' => $this]);
48
    }
49
}
50