timothyasp/nova-badge-field

A Laravel Nova field.

Installs: 78 501

Dependents: 0

Suggesters: 0

Security: 0

Stars: 49

Watchers: 3

Forks: 6

Open Issues: 3

Language:Vue

1.0.3 2019-11-03 21:57 UTC

This package is auto-updated.

Last update: 2020-10-04 00:05:35 UTC


README

Simple Laravel Nova Badge field. It extends the Select field and allows a simple mapping of colors to values to display a "Badge" in the index.

Details Page

details page select

Index

index badge

Installation

You can install the package in to a Laravel app that uses Nova via composer:

composer require timothyasp/nova-badge-field

Usage

use Timothyasp\Badge\Badge;

$options = [
    'option1' => 'Option 1',
    'option2' => 'Option 2'
];

Badge::make('Field')
   ->options($options)
   ->colors([
      'option1' => '#ffffff',
      'option2' => '#000000'
   ]);

If you want to set the text color of the badge, set the color attribute on the option. If there isn't an option set, it defaults to setting the background color and the text color is set to a contrasting white/black color based on the brightness of the background.

use Timothyasp\Badge\Badge;

$options = [
    'option1' => 'Option 1',
    'option2' => 'Option 2'
];

Badge::make('Field')
   ->options($options)
   ->colors([
      'option1' => [
          'background' => '#ffffff',
          'color' => '#000000'
      ],
      'option2' => '#000000'
   ]);

If you prefer to use the label on the index and detail pages, you can use the ->displayUsingLabels() option.

use Timothyasp\Badge\Badge;

$options = [
  'option1' => 'Option 1',
  'option2' => 'Option 2'
];

Badge::make('Field')
   ->options($options)
   ->colors([
      'option1' => '#ffffff',
      'option2' => '#000000'
   ])->displayUsingLabels();

Credits

Built for QuizGriz - the #1 online trivia and quiz game site

License

The MIT License (MIT). Please see License File for more information.