This Laravel Nova package adds a notes field to Nova's arsenal of fields.
- Notes field on Detail view
- Differentiation between user-added and system-added notes
- Ability to add notes through the UI or programmatically
- Ability to delete user-made notes (w/ confirmation modal)
- Customizable placeholder support
# Install the package via Composer
composer require optimistdigital/nova-notes-field
# Run automatically loaded migration(s)
php artisan migrate
Add HasNotes
trait to the model that has the notes:
use OptimistDigital\NovaNotesField\Traits\HasNotes;
class ExampleModel extends Model
{
use HasNotes;
}
Add NotesField
to the matching resource:
use OptimistDigital\NovaNotesField\NotesField;
class SomeResource extends Resource
{
// ...
public function fields(Request $request)
{
return [
// ...
NotesField::make('Notes')
->placeholder('Add note'), // Optional
]
}
}
To add notes programmatically, use the method provided by the HasNotes
trait:
/**
* Creates a new note and attaches it to the model.
*
* @param string $note The note text which can contain raw HTML.
* @param bool $user Enables or disables the use of `Auth::user()` to set as the creator.
* @param bool $system Defines whether the note is system created and can be deleted or not.
* @return \OptimistDigital\NovaNotesField\Models\Note
**/
public function addNote($note, $user = true, $system = true)
This project is open-sourced software licensed under the MIT license.