diff --git a/resources/views/fields/date.blade.php b/resources/views/fields/date.blade.php index f1aa7222d1..9041c7d296 100644 --- a/resources/views/fields/date.blade.php +++ b/resources/views/fields/date.blade.php @@ -1,10 +1,10 @@ @extends('filament::layouts.field-group') -@pushonce('head') +@pushonce('head:flatpickr-css') @endpushonce -@pushonce('js') +@pushonce('js:flatpickr') @endpushonce diff --git a/resources/views/fields/file.blade.php b/resources/views/fields/file.blade.php index e25757204f..4bf5184184 100644 --- a/resources/views/fields/file.blade.php +++ b/resources/views/fields/file.blade.php @@ -1,10 +1,14 @@ @extends('filament::layouts.field-group') -@pushonce('head') +@pushonce('head:filepond-css') @endpushonce -@pushonce('js') +@pushonce('js:livewire-sortable') + +@endpushonce + +@pushonce('js:filepond') @endpushonce @@ -14,6 +18,9 @@ x-data x-init=" FilePond.setOptions({ + @isset($field->extraAttributes['placeholder']) + labelIdle: '{{ $field->extraAttributes['placeholder'] }}', + @endisset allowMultiple: {{ isset($field->extraAttributes['multiple']) ? 'true' : 'false' }}, server: { process:(fieldName, file, metadata, load, error, progress, abort, transfer, options) => { @@ -49,7 +56,7 @@ @endif >
- @if (exif_imagetype(Filament::storage()->path($file))) + @if (Filament::isImage($file)) diff --git a/resources/views/fields/relation.blade.php b/resources/views/fields/relation.blade.php index 61485383b9..f795755692 100644 --- a/resources/views/fields/relation.blade.php +++ b/resources/views/fields/relation.blade.php @@ -1,5 +1,9 @@ @extends('filament::layouts.field-group') +@pushonce('js:livewire-sortable') + +@endpushonce + @section('field')
@endpushonce -@pushonce('js') +@pushonce('js:trix') - '; - if ($publishedAsset) { $assetWarning = ($publishedAsset !== $asset) ? '' : null; @@ -113,7 +109,6 @@ class Filament {$assetWarning} - {$additionalAssets} "); } @@ -122,7 +117,6 @@ class Filament return new HtmlString(" - {$additionalAssets} "); } @@ -234,4 +228,20 @@ class Filament $urlBuilder = UrlBuilderFactory::create('', config('app.key')); return route('filament.image', ['path' => ltrim($urlBuilder->getUrl($path, $manipulations), '/')]); } + + /** + * Determines if an asset is a valid image based on approved MIME Types. + * + * @param string $file + * + * @return bool + */ + public function isImage($file) + { + return in_array($this->storage()->getMimeType($file), [ + 'image/jpeg', + 'image/png', + 'image/gif', + ]); + } }