# Using the field
To add the Filemanager Field to a resource, we can simply add it to the resource's fields method.
use Infinety\Filemanager\FilemanagerField;
/**
* Get the fields displayed by the resource.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function fields(Request $request)
{
return [
FilemanagerField::make('Image'),
];
}
Store
Filemanager field will store a string in your DB column
# Search
Introducing Nova 2 is possible to custom fields to serve images for global search results. We added this feature in Nova Filemanager v2.2 😄
# Field Options
This field has some options to fit your needs.
# displayAsImage
Use this method if you want to have a similiar Image field. This will show an image in index, view, and edit pages.
FilemanagerField::make('Image')->displayAsImage(),
You can use rounded and squared methods to customize the preview and global search as in Image field. Default to rounded.
# folder
Use this method to set an initial folder for your field. This method accept Callable or String.
FilemanagerField::make('Image')->folder('users'),
//or
FilemanagerField::make('Image')->folder(function() {
return auth()->user()->id;
}),
# filterBy
If you want to filter all your files you can use this method. The given data should be a lowercase key of your filters in config/filemanager.php.
FilemanagerField::make('Image')->filterBy('images'),
# privateFiles
By default, the visibility of all uploaded files is public. If you want to upload private files use this method.
FilemanagerField::make('Image')->privateFiles(),
# validateUpload
You can add rules to validate the upload. Rules should be type as strings. Validation objects and closures are not working.
//Working
FilemanagerField::make('Image')->validateUpload('image', 'max:5000'),
//Not working
FilemanagerField::make('Image')->validateUpload('image', new ValidSize),
FilemanagerField::make('Image')->validateUpload('image', function($attribute, $value, $fail) {
if (filesize($value) > 5000) {
return $fail('The '.$attribute.' field must under 5Mb.');
}
}),
Remember
Only string typed rules will be validated in the upload
# hideUploadButton
This option will hide the upload button in the field.
# hideCreateFolderButton
This option will hide the create folder button in the field.
# hideRenameFolderButton
This option will hide the rename button in the folders.
# hideDeleteFolderButton
This option will hide the delete button in the folders.
# hideRenameFileButton
This option will hide the rename button in the files.
# hideDeleteFileButton
This option will hide the delete button in the files.
# noDragAndDropUpload
This option will be remove the drag and drop upload in the field.
Info
Methods: hideUploadButton, hideCreateFolderButton, hideRenameFolderButton, hideDeleteFolderButton, hideRenameFileButton, hideDeleteFileButton, noDragAndDropUpload will overwrite the config options.
# Chain methods
Of course you can chain methods of the field as your own fits.
FilemanagerField::make('Image')->displayAsImage()->filterBy('images'),
FilemanagerField::make('Image')
->privateFiles()
->folder(function() {
return auth()->user()->id;
}),
← Using the tool Events →