jankapusta / nova-color-multi-status-field
Laravel Nova 字段,用于通过彩色方块行显示多个状态或活动历史(例如过去52周的活动)。
v0.9.9
2021-01-19 14:16 UTC
Requires
- php: >=7.1.0
README
该字段允许在1个字段中显示(和存储/编辑)多个值作为数组或对象。它将根据颜色映射显示值 - 以彩色方块图标的形式。通常它以json格式存储(但这完全取决于Eloquent模型实现)。
字段接受数组和对象值。如果数据是对象,键将是可编辑的,并且将作为工具提示显示(悬停时)
可以编辑具有字符串键的值
根据值到颜色的映射显示彩色方块。悬停时显示键
安装
您可以通过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)。有关更多信息,请参阅许可证文件。