Download the PHP package optimistdigital/nova-notes-field without Composer
On this page you can find all versions of the php package optimistdigital/nova-notes-field. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download optimistdigital/nova-notes-field
More information about optimistdigital/nova-notes-field
Files in optimistdigital/nova-notes-field
Package nova-notes-field
Short Description This Laravel Nova package adds a notes field to Nova's arsenal of fields.
License MIT
Informations about the package nova-notes-field
Nova Notes Field
This Laravel Nova package adds a notes field to Nova's arsenal of fields.
Requirements
php: >=8.0
laravel/nova: ^4.0
Features
- Notes field on Detail view
- Differentiation between user-added and system-added notes
- Ability to add notes through the UI or programmatically
- Ability to edit user-made notes
- Ability to delete user-made notes (w/ confirmation modal)
- Customizable placeholder support
- Set ability to hide or show the 'Add Note' button
Screenshots
Installation
Usage
Add HasNotes
trait to the model that has the notes:
Add NotesField
to the matching resource:
Adding notes programmatically
To add notes programmatically, use the method provided by the HasNotes
trait:
Editing notes programmatically
To edit notes programmatically, use the editNote
method provided by the HasNotes
trait:
Alternatively, you can simply update an existing Note record that's already in memory via standard Eloquent methods:
Configuration
Publish configuration
You can publish the configuration by running:
The available configuration option(s):
Config | Type | description |
---|---|---|
get_avatar_url | callable or string | Either enter the url attribute name on your model or a callable which allows you to generate your own URL for the user. The input parameter is the user model. By default, Gravatar is used for the user's avatars. |
table_name | string | Optionally provide your own table name for the notes table. Default is nova_notes . |
notes_model | string | Optionally provide your own Note model. |
use_trix_input | boolean | Optionally enable Trix WYSIWYG input by setting this to true . |
full_width_inputs | boolean | Optionally force all notes fields to display in full width. |
display_order | string | Optionally set the sort order for notes. Default is DESC . |
Custom edit & delete authorization
By default, only the user that wrote the note can edit/delete it and no one can edit/delete system notes.
You can define which user(s) can edit/delete which notes by defining a new Laravel authorization Gate called edit-nova-note
and delete-note-note
respectively.
In your AuthServiceProvider.php
add a Gate definition like so:
Localization
The translation file(s) can be published by using the following publish command:
You can add your translations to resources/lang/vendor/nova-notes-field/
by creating a new translations file with the locale name (ie se.json
) and copying the JSON from the existing en.json
.
Publishing migrations (optional)
If you want to edit the migration(s), you can publish the migrations like so:
Credits
License
This project is open-sourced software licensed under the MIT license.