diff --git a/app/Filament/Resources/MfmParameterResource.php b/app/Filament/Resources/MfmParameterResource.php new file mode 100644 index 000000000..e2c717d62 --- /dev/null +++ b/app/Filament/Resources/MfmParameterResource.php @@ -0,0 +1,176 @@ +schema([ + Section::make('') + ->schema([ + Forms\Components\Select::make('plant_id') + ->label('Plant') + ->relationship('plant', 'name') + ->required(), + Forms\Components\Select::make('mfm_meter_id') + ->label('Mfm Meter') + ->relationship('mfmMeter', 'sequence') + ->required(), + Forms\Components\TextInput::make('name') + ->label('Parameter Name') + ->required(), + Forms\Components\TextInput::make('register_id') + ->label('Register ID') + ->required(), + Forms\Components\TextInput::make('identifier') + ->label('Identifier') + ->required(), + Forms\Components\TextInput::make('byte_to_convert') + ->label('Byte To Convert') + ->default(2) + ->required(), + Forms\Components\TextInput::make('type_to_convert') + ->label('Type To Convert') + ->required(), + Forms\Components\TextInput::make('decimal_to_display') + ->label('Decimal To Display') + ->default(1) + ->required(), + ]) + ->columns(8), + ]); + } + + public static function table(Table $table): Table + { + return $table + ->columns([ + Tables\Columns\TextColumn::make('id') + ->label('ID') + ->numeric() + ->sortable(), + Tables\Columns\TextColumn::make('plant.name') + ->label('Plant') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('mfmMeter.name') + ->label('Sequence') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('name') + ->label('Parameter Name') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('register_id') + ->label('Register ID') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('identifier') + ->label('Identifier') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('byte_to_convert') + ->label('Byte To Convert') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('type_to_convert') + ->label('Type To Convert') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('decimal_to_display') + ->label('Decimal To Display') + ->alignCenter() + ->sortable(), + Tables\Columns\TextColumn::make('created_at') + ->dateTime() + ->alignCenter() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('updated_at') + ->alignCenter() + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + Tables\Columns\TextColumn::make('deleted_at') + ->alignCenter() + ->dateTime() + ->sortable() + ->toggleable(isToggledHiddenByDefault: true), + ]) + ->filters([ + Tables\Filters\TrashedFilter::make(), + ]) + ->actions([ + Tables\Actions\ViewAction::make(), + Tables\Actions\EditAction::make(), + ]) + ->bulkActions([ + Tables\Actions\BulkActionGroup::make([ + Tables\Actions\DeleteBulkAction::make(), + Tables\Actions\ForceDeleteBulkAction::make(), + Tables\Actions\RestoreBulkAction::make(), + ]), + ]) + ->headerActions([ + ImportAction::make() + ->importer(MfmParameterImporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view import mfm parameter'); + }), + ExportAction::make() + ->exporter(MfmParameterExporter::class) + ->visible(function() { + return Filament::auth()->user()->can('view export mfm parameter'); + }), + ]); + } + + public static function getRelations(): array + { + return [ + // + ]; + } + + public static function getPages(): array + { + return [ + 'index' => Pages\ListMfmParameters::route('/'), + 'create' => Pages\CreateMfmParameter::route('/create'), + 'view' => Pages\ViewMfmParameter::route('/{record}'), + 'edit' => Pages\EditMfmParameter::route('/{record}/edit'), + ]; + } + + public static function getEloquentQuery(): Builder + { + return parent::getEloquentQuery() + ->withoutGlobalScopes([ + SoftDeletingScope::class, + ]); + } +} diff --git a/app/Filament/Resources/MfmParameterResource/Pages/CreateMfmParameter.php b/app/Filament/Resources/MfmParameterResource/Pages/CreateMfmParameter.php new file mode 100644 index 000000000..411cc0ce6 --- /dev/null +++ b/app/Filament/Resources/MfmParameterResource/Pages/CreateMfmParameter.php @@ -0,0 +1,12 @@ +