* added 'afterAdminSave' hook
this event is fired just after the save was correctly completed from Admin plugin
* Change of the new event hook name
consistency oblige, new name is `onAdminAfterSave`
* Separated Admin Controller into a generic and extendable Base controller. Added Autoload for properly loading classes
* Implemented custom class loader to force lowercase
* Removed composer autoloader for classes
* Updates
* Ability to pass custom upload URL for files
* Added new onAdminCanSave event for 3rd party plugins
* Moved files upload GC in onOutputGenerated event
* Cleanup
* Moved autoloader so it is always registering
* Fixed onOutputGenerated event location
* Moved `taskRemoveFileFromBlueprint`, `taskRemoveMedia `, `canEditMedia` methods to admin base controller
* Allow to globally define `blueprint_type` and `file_url_remove` for the file field
* Moved `isMultilang()` into base controller
* Properly generate thumbnails in proportions for file fields
* Simplified execute restrictions with blacklist
Using the same class that's used to list media when rendering
pages ensures a consistent experience. The goal here was to avoid
listing image alternatives, but retain all the files available
through $page->media()->all()
* Always delete image alternatives in AdminController#taskDelmedia
Previously, image alternatives would only be deleted if the base
image wasn't found, and only the first three alternatives would
be removed. This commit changes that, so that all image
alternatives are always deleted when the base image is.
* Remove use of $deleteCount in AdminController#taskDelmedia
# What this PR introduces
This PR introduces a `filepicker` field which is a replacement for the `pagemediaselect` field.
This field loads the files list via AJAX each time it's triggered. This means you can now upload a file via FTP or via Admin and the new file is immediately available to be selected.
Previously, `pagemediaselect` required a page reload to see the newly added files.
--
### Options
#### `accept`
`accept` allows file extensions. For example, to only allow `yaml` and `json` files:
```yaml
accept:
- .yaml
- .json
```
By default, any file is listed.
#### `folder`
```yaml
folder: 'user/plugins/testing`
```
folder has been enhanced to allow `self@` as well as `page@:` and `theme@:` prefixes.
Example of usage, assuming we have a blog item at the route `/blog/ajax-upload` (physical location being `user/pages/02.blog/ajax-upload`), with the `page@:` prefix the folder would be:
```yaml
folder: 'page@:/blog/ajax-upload'
```
#### `preview_images`
```yaml
preview_images: true
```
If enabled, shows a preview for the images file types
> ### NOTE: `self@` is not allowed outside of the Pages scope, an error will be thrown.
## Example usage
```
header.a_file:
type: filepicker
folder: 'user/plugins/admin'
label: Select a file
```
* Reworked the `file` field. All files get uploaded via Ajax and are stored upon Save
This improves the Save task tremendously as now there is no longer the need of waiting for the files to finish uploading. Fully backward compatible, `file` field now includes also a `limit` and `filesize` option in the blueprints. The former determines how many files are allowed to be uploaded when in combination with `multiple: true` (default: 10), the latter determines the file size limit (in MB) allowed for each file (default: 5MB)
* Added support for `accept: [‘*’]` to allow any file type
* Minor tweaks in the comments and messages
* Delete any orphan file when discarding the uploaded files session
* Minor optimization
* Fixed issue with `_json` elements where nested fields merging would get stored in an unexpected way
* Potential fix for wrong order of value in Datetime
* Fixed nested fields for files
* Fixed tmp streams
* Minor cleanup
* Update JSON data when removing a file. Implemented task to remove files that haven’t been saved yet, from the flash object session
* Ensure temporary files are deleted when removing un-saved files from the flash object session
* Fixed wrong reference of HTML file field when clicking on the drop zone area to pick a file
* Added JSON template for pages
* fix a CSS issue in page order
* More CSS fixes
* Trigger file field mutation when adding or removing a file
* Recompiled JS
* Removed twig templates that are no longer needed
* Fixed issue with nested header fields in a page, not properly merging data
* [internal] Fixed issue with collections not capable of handling both param and dot notations at the same time
* Reorganized FileField structure to be more consistent with the other fields
* Added support for dynamically created file fields (ie, autoinitialization on new lists items)
* Added translationable strings for file uploads errors
* Added translasions for all Dropzone available strings
* Changed default values
Adds a new notifications feature to the Admin plugin. It will now lookup notifications which are set up on getgrav.org and will inform users, and also alert for new updates and provide awareness on various topics.
Also fixes issue with Array field in `value_only` mode, improperly displaying the key when novalue was set, and fixes issue with drag handlers in Array not showing/hiding properly (#950)
Updated FontAwesome to 4.6.3