Skip to content
This repository has been archived by the owner on Jun 30, 2023. It is now read-only.

Mirror of elevate-digital/nova-charcounted-fields.

License

Notifications You must be signed in to change notification settings

outl1ne/nova-charcounted-fields

Repository files navigation

Nova Charcounter Fields

Text and textarea fields with a character counter for Laravel Nova.

Installation

Add the GitHub URL to your repositories list in composer.json:

"repositories": [
  {
    "type": "vcs",
    "url": "[email protected]:optimistdigital/nova-charcounted-fields.git"
  }
]

You can require this package using composer:

composer require elevate-digital/nova-charcounted-fields

Usage

You can add the field with a resolver as follows:

use ElevateDigital\CharcountedFields\TextCounted;
use ElevateDigital\CharcountedFields\TextareaCounted;

TextCounted::make('Meta title')

Image of character counter

You can use the text and textarea fields with charactercounters on you Nova model. The max number of characters aren't enforced, but just encouraged with warning colors and the counter. (You could enforce the max number of characters with Nova's built in rules and with a maxlength extra attribute).

TextCounted::make('Meta title')
    ->maxChars(60)
    ->warningAt(50)
    ->withMeta(['extraAttributes' => ['maxlength' => '65']]),

TextareaCounted::make('Meta description')
    ->maxChars(160)
    ->warningAt(150)
    ->rows(3),

The maxChars and warningAt are both optional. The color of the counter will change when the max or warningAt limit is reached. Image of character counter with indication