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

SlickWidget::run()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
crap 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