From c60a78d85acd9f6ba118a9b7c448dabb34245328 Mon Sep 17 00:00:00 2001 From: dhanabalan Date: Sat, 31 May 2025 11:02:15 +0530 Subject: [PATCH] Added Row Number, label, alignment on filter report and view rights for Importer and Exporter --- .../Resources/StickerMasterResource.php | 171 ++++++++++++------ 1 file changed, 115 insertions(+), 56 deletions(-) diff --git a/app/Filament/Resources/StickerMasterResource.php b/app/Filament/Resources/StickerMasterResource.php index 1293e1f37..340213ba6 100644 --- a/app/Filament/Resources/StickerMasterResource.php +++ b/app/Filament/Resources/StickerMasterResource.php @@ -9,6 +9,7 @@ use App\Filament\Resources\StickerMasterResource\Pages; use App\Filament\Resources\StickerMasterResource\RelationManagers; use App\Models\StickerMaster; use Closure; +use Filament\Facades\Filament; use Filament\Forms; use Filament\Forms\Form; use Filament\Resources\Resource; @@ -406,86 +407,138 @@ class StickerMasterResource extends Resource return $table ->columns([ - Tables\Columns\TextColumn::make('id') - ->label('ID') - ->numeric() - ->sortable(), - Tables\Columns\TextColumn::make('item.code') - ->sortable() - ->searchable(), + // 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('plant.name') - ->sortable() - ->searchable(), + ->label('Plant') + ->alignCenter() + ->sortable() + ->searchable(), + Tables\Columns\TextColumn::make('item.code') + ->label('Item Code') + ->alignCenter() + ->sortable() + ->searchable(), Tables\Columns\CheckboxColumn::make('serial_number_motor') - ->disabled(true) - ->sortable(), + ->label('Serial Number Motor') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('serial_number_pump') - ->disabled(true) - ->sortable(), + ->label('Serial Number Pump') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('serial_number_pumpset') - ->disabled(true) - ->sortable(), + ->label('Serial Number Pumpset') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('pack_slip_motor') - ->disabled(true) - ->sortable(), + ->label('Pack Slip Motor') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('pack_slip_pump') - ->disabled(true) - ->sortable(), + ->label('Pack Slip Pump') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('pack_slip_pumpset') - ->disabled(true) - ->sortable(), + ->label('Pack Slip Pumpset') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('name_plate_motor') - ->disabled(true) - ->sortable(), + ->label('Name Plate Motor') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('name_plate_pump') - ->disabled(true) - ->sortable(), + ->label('Name Plate Pump') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('name_plate_pumpset') - ->disabled(true) - ->sortable(), + ->label('Name Plate Pumpset') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('tube_sticker_motor') - ->disabled(true) - ->sortable(), + ->label('Tube Sticker Motor') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('tube_sticker_pump') - ->disabled(true) - ->sortable(), + ->label('Tube Sticker Pump') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('tube_sticker_pumpset') - ->disabled(true) - ->sortable(), + ->label('Tube Sticker Pumpset') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\CheckboxColumn::make('warranty_card') - ->disabled(true) - ->sortable(), + ->label('Warranty Card') + ->disabled(true) + ->alignCenter() + ->sortable(), Tables\Columns\TextColumn::make('part_validation1') - ->sortable(), + ->label('Part Validation 1') + ->alignCenter(), Tables\Columns\TextColumn::make('part_validation2') - ->sortable(), + ->label('Part Validation 2') + ->alignCenter(), Tables\Columns\TextColumn::make('part_validation3') - ->sortable(), + ->label('Part Validation 3') + ->alignCenter(), Tables\Columns\TextColumn::make('part_validation4') - ->sortable(), + ->label('Part Validation 4') + ->alignCenter(), Tables\Columns\TextColumn::make('part_validation5') - ->sortable(), + ->label('Part Validation 5') + ->alignCenter(), Tables\Columns\TextColumn::make('panel_box_code') - ->sortable(), + ->label('Panel Box Code') + ->alignCenter(), Tables\Columns\TextColumn::make('load_rate') - ->sortable(), + ->label('Load Rate') + ->alignCenter() + ->sortable(), Tables\Columns\TextColumn::make('bundle_quantity') - ->sortable(), + ->label('Bundle Quantity') + ->alignCenter(), Tables\Columns\TextColumn::make('material_type') - ->label('Material Type') - ->sortable(), + ->label('Material Type') + ->alignCenter(), Tables\Columns\TextColumn::make('created_at') - ->dateTime() - ->sortable() - ->toggleable(isToggledHiddenByDefault: true), + ->label('Created At') + ->dateTime() + ->alignCenter() + ->sortable(), Tables\Columns\TextColumn::make('updated_at') - ->dateTime() - ->sortable() - ->toggleable(isToggledHiddenByDefault: true), + ->label('Updated At') + ->dateTime() + ->alignCenter() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), Tables\Columns\TextColumn::make('deleted_at') - ->dateTime() - ->sortable() - ->toggleable(isToggledHiddenByDefault: true), + ->label('Deleted At') + ->dateTime() + ->alignCenter() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ Tables\Filters\TrashedFilter::make(), @@ -503,9 +556,15 @@ class StickerMasterResource extends Resource ]) ->headerActions([ ImportAction::make() - ->importer(StickerMasterImporter::class), + ->importer(StickerMasterImporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view import sticker master'); + }), ExportAction::make() - ->exporter(StickerMasterExporter::class), + ->exporter(StickerMasterExporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view export sticker master'); + }), ]); }