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.0laravel/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.