gkermer/nova-text-auto-complete

A Laravel Nova text autocomplete field.

0.0.5 2020-08-28 14:44 UTC

This package is auto-updated.

Last update: 2024-04-22 21:27:35 UTC


README

This Nova field provides a capability of auto-completed searching for results inside a text input field.

Nova text with autocomplete demo

Installation

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

composer require gkermer/nova-text-auto-complete

Usage

To add an autocomplete text field, use the Gkermer\TextAutoComplete\TextAutoComplete field in your Nova resource:

use Gkermer\TextAutoComplete\TextAutoComplete;
TextAutoComplete::make('Favourite Fruit')->items([
    'Apple',
    'Apricots',
    'Avocado',
    'Banana',
    'Blueberries',
]),

Assuming you have an Eloquent model Fruit with attribute name, you could get the items by:

TextAutoComplete::make('Favourite Fruit')->items(
    Fruit::pluck('name')
),

However, imagine the Fruit has hundreds or thousands records and the drop-down selection menu is populated with so many items. Then you could find the items like so:

TextAutoComplete::make('Favourite Fruit')->items(function($search) {
    return Fruit::where('name', 'like', '%' . $search . '%')
        ->get()
        ->pluck('name');
}),

License

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