A Laravel Nova (v4) progress bar field
This package allows you to add progressbar fields to your resources and dashboards in Nova.
It basically takes a field with a decimal value between 0 and 1 and shows it as a percentage progress bar.
To edit a field, we recommend using the standard Number (\Laravel\Nova\Fields\Number) field.
This package is still work in progress. Feel free to help improve it.
Just run:
composer require flatroy/nova-progressbar-field
After this the setup will be complete, you can use the components listed here.
// in App\Nova\User
...
use Flatroy\FieldProgressbar\FieldProgressbar;
use Laravel\Nova\Fields\Number;
...
/**
* Get the fields displayed by the resource.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @return array
*/
public function fields(NovaRequest $request)
{
return [
Number::make(__('Score'), 'score')
->min(0.01)
->max(1)
->step(0.01)
->onlyOnForms(),
FieldProgressbar::make(__('Score'), 'score')
->sortable(),
];
}
public function cards(NovaRequest $request)
{
return [
FieldProgressbar::make('Awesomeness')
->options([
'color' => '#FFEA82',
]),
];
}
public function cards(NovaRequest $request)
{
return [
FieldProgressbar::make('Awesomeness')
->options([
'fromColor' => '#FFEA82',
'toColor' => '#40BF55',
'animateColor' => true,
]),
];
}
public function cards(NovaRequest $request)
{
return [
FieldProgressbar::make('Awesomeness')
->hideLabel()
->subtitleInDetail('custom subtitle'),
];
}
public function cards(NovaRequest $request)
{
return [
FieldProgressbar::make('Awesomeness')
->options([
'width' => 'medium',
]),
];
}
Feel free to come with suggestions for improvements.
Packages based on this package: nova-progressbar-field by Signifly