|
|
@@ -27,6 +27,7 @@ use Filament\Resources\Resource;
|
|
27
|
27
|
use Filament\Tables;
|
|
28
|
28
|
use Filament\Tables\Columns\ImageColumn;
|
|
29
|
29
|
use Filament\Tables\Columns\TextColumn;
|
|
|
30
|
+use Filament\Tables\Filters\SelectFilter;
|
|
30
|
31
|
use Filament\Tables\Table;
|
|
31
|
32
|
use Illuminate\Database\Eloquent\Builder;
|
|
32
|
33
|
use Illuminate\Database\Eloquent\SoftDeletingScope;
|
|
|
@@ -203,10 +204,41 @@ class ProjectResource extends Resource
|
|
203
|
204
|
->formatStateUsing(fn ($record) => $record->region->getTranslation("name", "zh_TW") . ' | ' . $record->getTranslation("address", "zh_TW")),
|
|
204
|
205
|
])
|
|
205
|
206
|
->filters([
|
|
206
|
|
- //
|
|
|
207
|
+ SelectFilter::make('visible')->label("上/下架")
|
|
|
208
|
+ ->options([
|
|
|
209
|
+ 0 => "下架",
|
|
|
210
|
+ 1 => "上架",
|
|
|
211
|
+ ])
|
|
|
212
|
+ ->query(
|
|
|
213
|
+ fn (array $data, Builder $query): Builder =>
|
|
|
214
|
+ $query->when(
|
|
|
215
|
+ $data['value'],
|
|
|
216
|
+ fn (Builder $query, $value): Builder => $query->where('visible', $data['value'])
|
|
|
217
|
+ )
|
|
|
218
|
+ ),
|
|
207
|
219
|
])
|
|
208
|
220
|
->actions([
|
|
209
|
221
|
Tables\Actions\EditAction::make(),
|
|
|
222
|
+ Tables\Actions\DeleteAction::make(),
|
|
|
223
|
+ \Filament\Tables\Actions\Action::make("audit")
|
|
|
224
|
+ ->label(fn ($record) => match ($record->visible) {
|
|
|
225
|
+ 0 => '上架',
|
|
|
226
|
+ 1 => '下架',
|
|
|
227
|
+ })
|
|
|
228
|
+ ->color(fn ($record) => match ($record->visible) {
|
|
|
229
|
+ 0 => 'warning',
|
|
|
230
|
+ 1 => 'gray',
|
|
|
231
|
+ })
|
|
|
232
|
+ ->icon(fn ($record) => match ($record->visible) {
|
|
|
233
|
+ 0 => 'heroicon-m-chevron-double-up',
|
|
|
234
|
+ 1 => 'heroicon-m-chevron-double-down',
|
|
|
235
|
+ })
|
|
|
236
|
+ ->action(function ($record): void {
|
|
|
237
|
+ $record->visible = !$record->visible;
|
|
|
238
|
+ $record->save();
|
|
|
239
|
+ })
|
|
|
240
|
+ ->outlined()
|
|
|
241
|
+ ->requiresConfirmation(),
|
|
210
|
242
|
])
|
|
211
|
243
|
->bulkActions([
|
|
212
|
244
|
Tables\Actions\BulkActionGroup::make([
|