summaryrefslogtreecommitdiff
path: root/src/Columns/LinkColumn.php
blob: edb1140287ae564ed7f221af167b338112719855 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php

namespace Lightscale\LaralightTables\Columns;

use Illuminate\Database\Eloquent\Model;

use Closure;

class LinkColumn extends ElementColumn
{
    protected string $element = 'a';

    private Closure $urlFn;

    public function url(callable $fn) : static
    {
        $this->urlFn = Closure::fromCallable($fn);
        return $this;
    }

    public function getElemAttributes(Model $row) : array
    {
        return parent::getElemAttributes($row) + [
            'href' => $this->urlFn->call($this, $row),
        ];
    }

}