Skip to content

Commit b650cd1

Browse files
committed
select collection when uploading
1 parent cd53927 commit b650cd1

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

packages/media/src/Resources/MediaResource/Pages/ListMedia.php

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use Filament\Actions\Action;
66
use Filament\Forms\Components\FileUpload;
7+
use Filament\Forms\Components\Select;
78
use Filament\Resources\Pages\ListRecords;
89
use Moox\Media\Models\Media;
910
use Moox\Media\Resources\MediaResource;
@@ -26,6 +27,18 @@ public function getHeaderActions(): array
2627
->label(__('media::fields.upload_file'))
2728
->icon(config('media.upload.resource.icon'))
2829
->form([
30+
Select::make('collection_name')
31+
->label(__('media::fields.collection'))
32+
->options(function () {
33+
return Media::query()
34+
->distinct()
35+
->pluck('collection_name', 'collection_name')
36+
->toArray();
37+
})
38+
->searchable()
39+
->default('default')
40+
->required()
41+
->live(),
2942
FileUpload::make('file')
3043
->label(__('media::fields.select_file'))
3144
->multiple(config('media.upload.resource.multiple'))
@@ -53,12 +66,13 @@ public function getHeaderActions(): array
5366
->previewable(config('media.upload.resource.show_preview'))
5467
->reorderable(config('media.upload.resource.reorderable'))
5568
->appendFiles(config('media.upload.resource.append_files'))
56-
->afterStateUpdated(function ($state) {
57-
if (! $state) {
69+
->afterStateUpdated(function ($state, $get) {
70+
if (!$state) {
5871
return;
5972
}
6073

6174
$processedFiles = session('processed_files', []);
75+
$collection = $get('collection_name') ?? 'default';
6276

6377
foreach ($state as $key => $tempFile) {
6478
if (in_array($key, $processedFiles)) {
@@ -91,7 +105,7 @@ public function getHeaderActions(): array
91105
$model->exists = true;
92106

93107
$fileAdder = app(FileAdderFactory::class)->create($model, $tempFile);
94-
$media = $fileAdder->preservingOriginal()->toMediaCollection('default');
108+
$media = $fileAdder->preservingOriginal()->toMediaCollection($collection);
95109

96110
$title = pathinfo($tempFile->getClientOriginalName(), PATHINFO_FILENAME);
97111

@@ -120,7 +134,8 @@ public function getHeaderActions(): array
120134

121135
session(['processed_files' => $processedFiles]);
122136
}),
123-
])->modalSubmitAction(false),
137+
])
138+
->modalSubmitAction(false),
124139
];
125140
}
126141
}

0 commit comments

Comments
 (0)