Laravel Community Tools by Tighten
Laravel Nova icon Nova Packages
N

Rating Field

This package is possibly abandoned. Please proceed with care.

Readme

Nova Rating field

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.

Latest Version on Packagist Total Downloads GitHub forks GitHub issues License

image

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

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.

Reviews

By stllmtbrt on February 1, 2024

Works as expected. Thanks!

Back to Top
Added 2 years ago

This package is listed on the Packagist API, but has no stable tags.

Please note that the Packagist cache is pretty long, so some times you just need to check back in an hour.

Favorites

0 users favorited

Rating

5.00
(out of 5)
★★★★★
★★★★
★★★
★★
1 ratings

Brought to you by Tighten

Issues/Feature Requests Stats Package Ideas