jankapusta/nova-color-multi-status-field

Laravel Nova 字段,用于通过彩色方块行显示多个状态或活动历史(例如过去52周的活动)。

v0.9.9 2021-01-19 14:16 UTC

This package is auto-updated.

Last update: 2024-09-19 22:59:46 UTC


README

该字段允许在1个字段中显示(和存储/编辑)多个值作为数组或对象。它将根据颜色映射显示值 - 以彩色方块图标的形式。通常它以json格式存储(但这完全取决于Eloquent模型实现)。

字段接受数组和对象值。如果数据是对象,键将是可编辑的,并且将作为工具提示显示(悬停时)

github上的仓库

可以编辑具有字符串键的值

Screenshot Form

根据值到颜色的映射显示彩色方块。悬停时显示键

Screenshot Index

安装

您可以通过composer将此包安装到使用Nova的Laravel应用中

composer require jankapusta/nova-color-multi-status-field

用法

Laravel迁移示例

$table->json('guests_per_week');

Laravel模型示例

class Hotel extends Model {
    protected $casts = [
        'guests_per_week' => 'array',
    ];
    // ....
}

Hotel::create([
    'guests_per_week' => [
      'Feb 10' => 5,
      'Feb 17' => 1,
      'Feb 24' => 12,
      'Mar 3' => 4,
      'Mar 10' => 0,
      'Mar 17' => 8,
      'Mar 24' => 14,
      'Mar 31' => 2,
      'Apr 7' => 9,
    ],
]);

然后将字段添加到Nova资源中

ColorMultiStatus::make('Events per week', 'guests_per_week')
   ->colorMap([
            0 => 'white',
            2 => 'lightgrey',
            5 => '#d3dc83',
            8 => '#a7c742',
            13 => '#7dbd41',
            34 => '#6cda05',
        ])
// optional configuration
  ->iconSize(5) // in pixels - default is 4
  ->iconSpacing(2)   // in pixels - default is 1
  ->showTooltips(false) // to hide tooltips 
  ->width(80), // in pixels

许可证

MIT许可证(MIT)。有关更多信息,请参阅许可证文件