illizian/nova-suggest-field-container

A Laravel Nova field container allowing Textarea's to contain typeahead suggestions

v0.1.1 2020-10-26 14:42 UTC

This package is auto-updated.

Last update: 2024-04-26 22:49:32 UTC


README

Latest Version on Packagist License

Description

A container for TextArea fields that enables typeahead auto suggestions

Demo

Demo

Installation

The package can be installed through Composer.

composer require illizian/nova-suggest-field-container

Usage

Wrap your TextArea with \Illizian\NovaSuggestWrapper\NovaSuggestWrapper, like so:

/* ... */
use \Illizian\NovaSuggestWrapper\NovaSuggestWrapper;
/* ... */

class Example extends Resource
{
    /* ... */
    public function fields(Request $request)
    {
        return [
            /* ... */
            NovaSuggestWrapper::make(
                [
                    Textarea::make(__('Textarea'), 'textarea')
                ]
            )->suggestions([ "foo", "foobar" ]),
        ];
    }

You can update the trigger character with the trigger(string $char) method, for example, here we allow people to mention User's by their username using the @ character:

/* ... */
use \App\Models\User;
use \Illizian\NovaSuggestWrapper\NovaSuggestWrapper;
/* ... */

class Example extends Resource
{
    /* ... */
    public function fields(Request $request)
    {
        $users = User::all()->pluck('username')->toArray();

        return [
            /* ... */
            NovaSuggestWrapper::make(
                [
                    Textarea::make(__('Textarea'), 'textarea')
                ]
            )->trigger('@')->suggestions($users),
        ];
    }

License

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