Merge pull request 'Added filter in sticker detail page' (#991) from ranjith-dev into master
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 13s
All checks were successful
Scan for leaked secrets using Kingfisher / kingfisher-secrets-scan (push) Successful in 13s
Reviewed-on: #991
This commit was merged in pull request #991.
This commit is contained in:
@@ -6,7 +6,9 @@ use App\Filament\Exports\StickerDetailExporter;
|
|||||||
use App\Filament\Imports\StickerDetailImporter;
|
use App\Filament\Imports\StickerDetailImporter;
|
||||||
use App\Filament\Resources\StickerDetailResource\Pages;
|
use App\Filament\Resources\StickerDetailResource\Pages;
|
||||||
use App\Filament\Resources\StickerDetailResource\RelationManagers;
|
use App\Filament\Resources\StickerDetailResource\RelationManagers;
|
||||||
|
use App\Models\Item;
|
||||||
use App\Models\ItemCharacteristic;
|
use App\Models\ItemCharacteristic;
|
||||||
|
use App\Models\Plant;
|
||||||
use App\Models\StickerDetail;
|
use App\Models\StickerDetail;
|
||||||
use App\Models\StickerStructureDetail;
|
use App\Models\StickerStructureDetail;
|
||||||
use Filament\Tables\Actions\ExportAction;
|
use Filament\Tables\Actions\ExportAction;
|
||||||
@@ -22,6 +24,10 @@ use Illuminate\Database\Eloquent\SoftDeletingScope;
|
|||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
use Closure;
|
use Closure;
|
||||||
use Illuminate\Support\Facades\File;
|
use Illuminate\Support\Facades\File;
|
||||||
|
use Filament\Tables\Filters\Filter;
|
||||||
|
use Filament\Forms\Components\Select;
|
||||||
|
use Filament\Forms\Components\DateTimePicker;
|
||||||
|
use Filament\Forms\Components\TextInput;
|
||||||
|
|
||||||
class StickerDetailResource extends Resource
|
class StickerDetailResource extends Resource
|
||||||
{
|
{
|
||||||
@@ -396,7 +402,49 @@ class StickerDetailResource extends Resource
|
|||||||
])
|
])
|
||||||
->filters([
|
->filters([
|
||||||
Tables\Filters\TrashedFilter::make(),
|
Tables\Filters\TrashedFilter::make(),
|
||||||
|
Filter::make('advanced_filters')
|
||||||
|
->label('Advanced Filters')
|
||||||
|
->form([
|
||||||
|
Select::make('sticker_id')
|
||||||
|
->label('Sticker ID')
|
||||||
|
->reactive()
|
||||||
|
->options(
|
||||||
|
StickerStructureDetail::query()
|
||||||
|
->pluck('sticker_id', 'id')
|
||||||
|
->toArray()
|
||||||
|
)
|
||||||
|
->searchable()
|
||||||
|
->afterStateUpdated(function ($state, callable $set, callable $get) {
|
||||||
|
$set('process_order', null);
|
||||||
|
}),
|
||||||
|
])
|
||||||
|
->query(function ($query, array $data) {
|
||||||
|
// Hide all records initially if no filters are applied
|
||||||
|
if (empty($data['sticker_id'])) {
|
||||||
|
return $query->whereRaw('1 = 0');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! empty($data['sticker_id'])) {
|
||||||
|
|
||||||
|
$stickerDetail = StickerStructureDetail::find($data['sticker_id']);
|
||||||
|
|
||||||
|
if ($stickerDetail) {
|
||||||
|
$query->where('sticker_structure_detail_id',$stickerDetail->id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// $query->orderBy('created_at', 'asc');
|
||||||
|
})
|
||||||
|
->indicateUsing(function (array $data) {
|
||||||
|
$indicators = [];
|
||||||
|
|
||||||
|
if (!empty($data['sticker_id'])) {
|
||||||
|
$indicators[] = 'Sticker ID: ' . StickerStructureDetail::where('id',$data['sticker_id'])->value('sticker_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
return $indicators;
|
||||||
|
}),
|
||||||
])
|
])
|
||||||
|
->filtersFormMaxHeight('280px')
|
||||||
->actions([
|
->actions([
|
||||||
Tables\Actions\ViewAction::make(),
|
Tables\Actions\ViewAction::make(),
|
||||||
Tables\Actions\EditAction::make(),
|
Tables\Actions\EditAction::make(),
|
||||||
|
|||||||
Reference in New Issue
Block a user