yaroslawww/nova-list-card

This package is abandoned and no longer maintained. The author suggests using the think.studio/nova-list-card package instead.

Laravel Nova card with resources list

4.3.1 2023-07-08 10:29 UTC

This package is auto-updated.

Last update: 2023-08-28 15:03:55 UTC


README

Packagist License Packagist Version Total Downloads Build Status Code Coverage Scrutinizer Code Quality

nova-list-card

Nova Package
V1-V3 V1-V3
V4 V4

Install

composer require think.studio/nova-list-card

Usage

nova-list-card

class FundsWithReportsCount extends ListCard
{
    public function __construct($component = null)
    {
        parent::__construct($component);

        $this->resource(\App\Nova\Resources\Fund::class)
            ->heading($this->name(), 'Reports')
            ->withCount('reports')
            ->orderBy('reports_count', 'desc')
            ->limit(100)
            ->value('reports_count');
    }

    public function cacheFor(): int|Carbon
    {
        return Carbon::now()->addMinutes(2);
    }
}

nova-list-card

class FundsWithReportIncomeSum extends ListCard
{
    public function __construct($component = null)
    {
        parent::__construct($component);

        $this->resource(\App\Nova\Resources\Fund::class)
            ->heading($this->name(), 'Total Income')
            ->withSum('reports', 'income')
            ->orderBy('reports_sum_income', 'desc')
            ->limit(100)
            ->value('reports_sum_income');
    }
}

nova-list-card

class FundsCustomList extends ListCard
{

    public function __construct($component = null)
    {
        parent::__construct($component);

        $this->resource(\App\Nova\Resources\Fund::class)
            ->heading($this->name())
            ->limit(100)
            ->timestamp('updated_at', 'm/Y')
            ->queryCallback(fn (Builder $q) => $q->where('publication_status', 'draft'));
    }

    public function name(): string
    {
        return 'Draft funds';
    }
}

nova-list-card

class FundsWithValueFormat extends ListCard
{
    public function __construct($component = null)
    {
        parent::__construct($component);

        $this->resource(\App\Nova\Resources\Fund::class)
            ->heading($this->name(), 'Created at')
            ->limit(100)
            ->timestamp('updated_at', 'm/Y')
            ->value('created_at', 'datetime', 'm/Y')
            ->classes('bg-yellow-300')
            ->noMaxHeight();
    }
}

Credits

  • Think Studio