Skip to content

Commit 34731b7

Browse files
authored
fix the display of media conversions (#49)
* fix the display of media conversions * remove die and dump
1 parent 0c214a1 commit 34731b7

File tree

6 files changed

+40
-29
lines changed

6 files changed

+40
-29
lines changed

src/Uploaders/MediaAjaxUploader.php

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,29 @@ class MediaAjaxUploader extends BackpackAjaxUploader
2121

2222
public function __construct(array $crudObject, array $configuration)
2323
{
24-
parent::__construct($crudObject, $configuration);
24+
2525
$this->mediaName = $configuration['mediaName'] ?? $crudObject['name'];
2626
$this->savingEventCallback = $configuration['whenSaving'] ?? null;
2727
$this->collection = $configuration['collection'] ?? 'default';
28+
29+
$this->displayConversions = $configuration['displayConversions'] ?? [];
30+
31+
$modelDefinition = $this->getModelInstance($crudObject)->getRegisteredMediaCollections()
32+
->reject(function ($item) {
33+
return $item->name !== $this->collection;
34+
})
35+
->first();
36+
37+
$configuration['disk'] ??= $modelDefinition?->diskName ?? null;
38+
39+
$configuration['disk'] = empty($configuration['disk']) ? ($crudObject['disk'] ?? config('media-library.disk_name')) : $configuration['disk'];
40+
41+
// read https://spatie.be/docs/laravel-medialibrary/v11/advanced-usage/using-a-custom-directory-structure#main
42+
// on how to customize file directory
43+
$crudObject['prefix'] = $configuration['path'] = '';
44+
45+
parent::__construct($crudObject, $configuration);
46+
2847
}
2948

3049
public function uploadRepeatableFiles($values, $previousValues, $entry = null)

src/Uploaders/MediaDropzoneUploader.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use Backpack\CRUD\app\Library\CrudPanel\CrudPanelFacade as CRUD;
66
use Backpack\CRUD\app\Library\Uploaders\Support\Interfaces\UploaderInterface;
77
use Illuminate\Database\Eloquent\Model;
8-
use Illuminate\Support\Arr;
98
use Illuminate\Support\Facades\Log;
109
use Illuminate\Support\Str;
1110
use Prologue\Alerts\Facades\Alert;

src/Uploaders/MediaUploader.php

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,6 @@ abstract class MediaUploader extends Uploader
1919
use Traits\HandleRepeatableUploads;
2020
use Traits\DeletesUploadedFiles;
2121

22-
public $displayConversions;
23-
2422
public $order;
2523

2624
public function __construct(array $crudObject, array $configuration)
@@ -34,7 +32,7 @@ public function __construct(array $crudObject, array $configuration)
3432

3533
$modelDefinition = $this->getModelInstance($crudObject)->getRegisteredMediaCollections()
3634
->reject(function ($item) {
37-
$item->name !== $this->collection;
35+
return $item->name !== $this->collection;
3836
})
3937
->first();
4038

@@ -63,27 +61,4 @@ protected function get(HasMedia|Model $entry)
6361

6462
return $media->first();
6563
}
66-
67-
68-
69-
/**************************************************
70-
* Private methods- default implementation *
71-
**************************************************/
72-
73-
private function getModelInstance($crudObject): Model
74-
{
75-
return new ($crudObject['baseModel'] ?? get_class(app('crud')->getModel()));
76-
}
77-
78-
private function getConversionToDisplay($item)
79-
{
80-
foreach ($this->displayConversions as $displayConversion) {
81-
if ($item->hasGeneratedConversion($displayConversion)) {
82-
return $displayConversion;
83-
}
84-
}
85-
86-
return false;
87-
}
88-
8964
}

src/Uploaders/Traits/AddMediaToModels.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,9 @@ public function storeUploadedFiles(Model $entry): Model
5050

5151
return $entry;
5252
}
53+
54+
private function getModelInstance($crudObject): Model
55+
{
56+
return new ($crudObject['baseModel'] ?? get_class(app('crud')->getModel()));
57+
}
5358
}

src/Uploaders/Traits/IdentifiesMedia.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ public function getMediaIdentifier($media, $entry = null)
2222

2323
return $path->getPathForConversions($media).$conversion->getConversionFile($media);
2424
}
25+
2526
if (is_null($path)) {
26-
dd($media);
27+
return '';
2728
}
2829

2930
return $path->getPath($media).$media->file_name;

src/Uploaders/Traits/RetrievesUploadedFiles.php

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
trait RetrievesUploadedFiles
88
{
9+
public $displayConversions = [];
10+
911
public function retrieveUploadedFiles(Model $entry): Model
1012
{
1113
$media = $this->getPreviousFiles($entry);
@@ -64,4 +66,14 @@ public function getPreviousFiles(Model $entry): mixed
6466
return $media->first();
6567
}
6668

69+
public function getConversionToDisplay($item)
70+
{
71+
foreach ($this->displayConversions as $displayConversion) {
72+
if ($item->hasGeneratedConversion($displayConversion)) {
73+
return $displayConversion;
74+
}
75+
}
76+
77+
return false;
78+
}
6779
}

0 commit comments

Comments
 (0)