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

Limit   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 0
Metric Value
dl 0
loc 38
rs 10
c 0
b 0
f 0
wmc 3
lcom 1
cbo 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A addScript() 0 10 1
A display() 0 24 2
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