nanuc/tall-resources

本包最新版本(dev-master)没有可用的许可信息。

dev-master 2023-11-30 15:13 UTC

This package is not auto-updated.

Last update: 2024-09-20 03:50:00 UTC


README

为您的模型定义资源,然后在表单和表格中使用。目前它使用优秀的包 tanthammar/tall-forms 用于表单,以及 MedicOneSystems/livewire-datatables 用于数据表。

安装

composer require nanuc/tall-resources@dev-master

使用方法

定义资源

namespace Domain\User\Resources;

use Nanuc\TallResources\Resources\Fields\Email;
use Nanuc\TallResources\Resources\Fields\TextString;
use Nanuc\TallResources\Resources\TallResource;

class UserResource extends TallResource
{
    protected function fields()
    {
        return [
            TextString::make('Name'),
            Email::make('Email'),
        ];
    }
}

在表单中使用

public function fields()
{
    return UserResource::asForm();
}

可选地,您可以定义要显示的字段

public function fields()
{
    return UserResource::asForm(['name', 'created_at']);
}

在表格中使用

public function columns()
{
    return UserResource::asTable();
}

表格配置

操作

您可以为表格定义显示为最后一列的操作。如果有带有操作参数的路由,将使用它;否则,将调用带有操作参数的 Livewire 方法。

public function columns()
{
    $tableConfiguration = new TallTableConfiguration(
        viewAction: 'users.view',
        editAction: 'edit',
        deleteAction: 'users.delete',
        actionKey: 'id'  // optional; defaults to 'id'
    );
    return UserResource::asTable($tableConfiguration);
}

可用字段

文本字符串

电子邮件

日期

布尔值