eom-plus / nova-rating-field
A Laravel Rating Nova field.
Fund package maintenance!
operativeit
Installs: 15 682
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 1
Language:Vue
Requires
- php: ^7.3|^8.0
- laravel/nova: ^4.0
This package is auto-updated.
Last update: 2025-02-20 01:02:12 UTC
README
A Star rating field to use in your Laravel Nova apps. This package is highly based on nikaia/nova-rating-field thas is incompatible with Nova4 and looks unmaintained for a while.
This README was written by the original author and we just copy it here and change the package and field name.
Uses vue-star-rating.
Installation
You can install the package in to a Laravel app that uses Nova via composer:
composer require eom-plus/nova-rating-field
Next you can use the Eom-Plus\NovaRatingField\Rating
field in your Nova resource.
Usage
public function fields(Request $request) { return [ // ... Rating::make('Rating')->min(0)->max(5)->increment(0.5)->hideFromIndex(), // Defining a custom style for the index page. Rating::make('Rating')->min(0)->max(5)->increment(0.5)->hideRating() ->withStyles([ 'star-size' => 15, 'rounded-corners' => true, ])->onlyOnIndex()->sortable(), // ... ]; }
Defining properties
public function fields(Request $request) { Rating::make('Rating') // Miniumum rating (default: 0) ->min(0) // Maximum rating (default: 5) // This is how the component knows how many stars it should display. ->max(5) // Incremet (default: 1) // Can be float. The underlying eloquent colum must be defined as float in that case. // ie. 0.5 for half stars or 0.01 for fluid stars. ->increment(0.5) // Show rating value next to the stars ->hideRating() }
Customizing styles
You can style the component using withStyles
method. Options are passed to the the underlying vue component style props.
Default values are :
public function fields(Request $request) { Rating::make('Rating') ->withStyles([ 'star-size' => 30, 'active-color' => 'var(--primary)', // Primary nova theme color. 'inactive-color' => '#d8d8d8', 'border-color' => 'var(--60)', 'border-width' => 0, 'padding' => 10, 'rounded-corners' => false, 'inline' => false, 'glow' => 0, 'glow-color' => '#fff', 'text-class' => 'inline-block text-80 h-9 pt-2', ]); }
⭐️ Show Your Support
Please give a ⭐️ if this project helped you!
Other Packages You Might Like
- Nova Rating Field - A Star rating Nova 4 field to use in your Laravel Nova apps.
- Nova Feedback Field - An Emoji feedback Nova 4 field to use in your Laravel Nova apps.
- Nova Input Group - A Laravel Nova 4 text field formatted as input group
- Nova Signature - A Laravel Nova 4 signature pad
Take a look to our Github repositories as we have a lot of forked nova components with fixes that are still not merge into main owner branch.
License
The MIT License (MIT). Please see License File for more information.