Completed
Push — master ( fe01b0...4ca583 )
by Song
02:33
created

Limit::display()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 24

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
nc 2
nop 2
dl 0
loc 24
rs 9.536
c 0
b 0
f 0
1
<?php
2
3
namespace Encore\Admin\Grid\Displayers;
4
5
use Encore\Admin\Facades\Admin;
6
use Illuminate\Support\Str;
7
8
class Limit extends AbstractDisplayer
9
{
10
    protected function addScript()
11
    {
12
        $script = <<<JS
13
$('.limit-more').click(function () {
14
    $(this).parent('.limit-text').toggleClass('hide').siblings().toggleClass('hide');
15
});
16
JS;
17
18
        Admin::script($script);
19
    }
20
21
    public function display($limit = 100, $end = '...')
22
    {
23
        $this->addScript();
24
25
        $value = Str::limit($this->value, $limit, $end);
26
27
        $original = $this->getColumn()->getOriginal();
28
29
        if ($value == $original) {
30
            return $value;
31
        }
32
33
        return <<<HTML
34
<div class="limit-text">
35
    <span class="text">{$value}</span>
36
    &nbsp;<a href="javascript:void(0);" class="limit-more">&nbsp;<i class="fa fa-angle-double-down"></i></a>
37
</div>
38
<div class="limit-text hide">
39
    <span class="text">{$original}</span>
40
    &nbsp;<a href="javascript:void(0);" class="limit-more">&nbsp;<i class="fa fa-angle-double-up"></i></a>
41
</div>
42
HTML;
43
44
    }
45
}
46