schema([ TextInput::make('nama') ->required(),//kolom wajib diisi DatePicker::make('tgl_pembuatan') ->label('Tanggal') ->required(), TextInput::make('kuota'), Select::make('status') ->options([ 'dibuka' => 'Dibuka', 'ditutup' => 'Ditutup' ]) ->default('dibuka') ->required(), ]); } public static function table(Table $table): Table { return $table ->columns([ TextColumn::make('nama'), TextColumn::make('tgl_pembuatan') ->label('Tanggal'), TextColumn::make('kuota'), TextColumn::make('status') ->badge() ->color(fn (string $state): string => match ($state) { 'dibuka' => 'success', 'ditutup' => 'danger', default => 'gray', }), ]) ->filters([ // ]) ->actions([ Action::make('daftar') ->label('Daftar') ->icon('heroicon-o-pencil-square') ->color('primary') ->url(fn (Formulir $record): string => '/admin/wizard-form') ->openUrlInNewTab(false) ->visible(fn (Formulir $record): bool => $record->status === 'dibuka'), Action::make('toggleStatus') ->label(fn (Formulir $record): string => $record->status === 'dibuka' ? 'Tutup' : 'Buka') ->icon(fn (Formulir $record): string => $record->status === 'dibuka' ? 'heroicon-o-x-circle' : 'heroicon-o-check-circle') ->color(fn (Formulir $record): string => $record->status === 'dibuka' ? 'danger' : 'success') ->action(function (Formulir $record): void { $record->update([ 'status' => $record->status === 'dibuka' ? 'ditutup' : 'dibuka' ]); }), Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); } public static function getRelations(): array { return [ // ]; } public static function getPages(): array { return [ 'index' => Pages\ListFormulirs::route('/'), 'create' => Pages\CreateFormulir::route('/create'), 'edit' => Pages\EditFormulir::route('/{record}/edit'), ]; } }