diff --git a/app/Filament/Resources/ItemResource.php b/app/Filament/Resources/ItemResource.php index 8d8b06b11..535f05768 100644 --- a/app/Filament/Resources/ItemResource.php +++ b/app/Filament/Resources/ItemResource.php @@ -7,6 +7,7 @@ use App\Filament\Imports\ItemImporter; use App\Filament\Resources\ItemResource\Pages; use App\Models\Item; use Filament\Actions\Exports\Enums\ExportFormat; +use Filament\Facades\Filament; use Filament\Forms; use Filament\Forms\Components\TextInput; use Filament\Forms\Form; @@ -159,38 +160,58 @@ class ItemResource 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(fn ($record, $livewire, $column, $rowLoop) => $rowLoop->iteration), + ->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('Item Code') + ->alignCenter() ->sortable() ->searchable(), Tables\Columns\TextColumn::make('description') + ->label('Description') + ->alignCenter() ->sortable() ->searchable(), Tables\Columns\TextColumn::make('hourly_quantity') ->label('Hourly Quantity') - ->alignCenter() ->numeric() + ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('uom') ->label('Unit of Measure') ->alignCenter() ->sortable(), Tables\Columns\TextColumn::make('plant.name') + ->label('Plant') + ->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), ]) @@ -210,13 +231,19 @@ class ItemResource extends Resource ]) ->headerActions([ ImportAction::make() - ->importer(ItemImporter::class), + ->importer(ItemImporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view import item'); + }), // ->maxRows(100000), ExportAction::make() // ->columnMapping(true) // ->label('Export') - // ->fileName("items" . date('Y-m-d') . ".xlsx") - ->exporter(ItemExporter::class), + // ->fileName("Items Report " . date('Y-m-d H:i:s')) + ->exporter(ItemExporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view export item'); + }), // ->formats([ // ExportFormat::Xlsx, // ExportFormat::Csv,