From fd8f82c3b186918412ccdac99c2cae461984d222 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Sat, 31 May 2025 10:40:26 +0530 Subject: [PATCH] Added Row Number, label, alignment on filter report and view rights for Importer and Exporter --- app/Filament/Resources/LineStopResource.php | 42 +++++++++++++++++---- 1 file changed, 35 insertions(+), 7 deletions(-) diff --git a/app/Filament/Resources/LineStopResource.php b/app/Filament/Resources/LineStopResource.php index f17abfd..1c8818a 100644 --- a/app/Filament/Resources/LineStopResource.php +++ b/app/Filament/Resources/LineStopResource.php @@ -2,11 +2,13 @@ namespace App\Filament\Resources; +use App\Filament\Exports\LineStopExporter; use App\Filament\Imports\LineStopImporter; use App\Filament\Resources\LineStopResource\Pages; use App\Filament\Resources\LineStopResource\RelationManagers; use App\Models\LineStop; use Doctrine\DBAL\Exception\InvalidColumnType\ColumnPrecisionRequired; +use Filament\Facades\Filament; use Filament\Forms; use Filament\Forms\Form; use Filament\Resources\Resource; @@ -16,6 +18,7 @@ use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\SoftDeletingScope; use Filament\Forms\Components\Section; +use Filament\Tables\Actions\ExportAction; class LineStopResource extends Resource { @@ -98,26 +101,43 @@ class LineStopResource extends Resource { return $table ->columns([ - Tables\Columns\TextColumn::make('id') - ->label('ID') - ->numeric() - ->sortable(), + // Tables\Columns\TextColumn::make('id') + // ->label('ID') + // ->numeric() + // ->sortable(), + Tables\Columns\TextColumn::make('No.') + ->label('No.') + ->getStateUsing(function ($record, $livewire, $column, $rowLoop) { + $paginator = $livewire->getTableRecords(); + $perPage = method_exists($paginator, 'perPage') ? $paginator->perPage() : 10; + $currentPage = method_exists($paginator, 'currentPage') ? $paginator->currentPage() : 1; + return ($currentPage - 1) * $perPage + $rowLoop->iteration; + }), Tables\Columns\TextColumn::make('code') + ->label('Line Stop Code') + ->alignCenter() ->sortable() ->searchable(), Tables\Columns\TextColumn::make('reason') + ->label('Line Stop Reason') + ->alignCenter() ->sortable() ->searchable(), Tables\Columns\TextColumn::make('created_at') + ->label('Created At') ->dateTime() - ->sortable() - ->toggleable(isToggledHiddenByDefault: true), + ->alignCenter() + ->sortable(), Tables\Columns\TextColumn::make('updated_at') + ->label('Updated At') ->dateTime() + ->alignCenter() ->sortable() ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('deleted_at') + ->label('Deleted At') ->dateTime() + ->alignCenter() ->sortable() ->toggleable(isToggledHiddenByDefault: true), ]) @@ -137,7 +157,15 @@ class LineStopResource extends Resource ]) ->headerActions([ ImportAction::make() - ->importer(LineStopImporter::class), + ->importer(LineStopImporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view import line stop'); + }), + ExportAction::make() + ->exporter(LineStopExporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view export line stop'); + }), ]); }