Completed
Push — master ( 9908c2...a56dae )
by Silvan
02:09
created

SlickWidget   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 5

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 5
dl 0
loc 38
ccs 19
cts 19
cp 1
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 2
    public function init()
20
    {
21 2
        PicturefillAsset::register($this->getView());
22 2
        SlickAsset::register($this->getView());
23 2
        ResourcesAsset::register($this->getView());
24
25 2
        $this->slickConfig = $this->slickConfigWidget;
26
27 2
        $this->view->registerJs(
28
            "var slickSlider = $('.slick-slider').slick({"
29 2
                .implode(', ',
30 2
                    array_map(
31 2
                        function ($config, $option) {
32 2
                            return sprintf('%s:%s', $option, $config);
33 2
                        },
34 2
                        $this->slickConfig, array_keys($this->slickConfig)
35
                    )
36
                ).
37 2
            '});',
38 2
            \luya\web\View::POS_READY,
39 2
            'slickSlider'
40
        );
41
42 2
        parent::init();
43 2
    }
44
45 2
    public function run()
46
    {
47 2
        return $this->render('SlickSlider', ['widget' => $this]);
48
    }
49
}
50