heading('Inhaltsverzeichnis') ->description('Generische Vorlage beim Erstellen neuer Projekte.') // ->recordClasses(fn ($record) => $record->part == 'gutachten' ? 'border-l-4' : 'border-l-4') ->columns([ TextColumn::make('ordnungszahl') ->label('Index') ->alignRight() ->getStateUsing(fn ($record): string => $record->ordnungszahl == '0' ? '' : number_format($record->ordnungszahl, 2)), IconColumn::make('neue_seite') ->tooltip('Start neue Seite') ->color('primary') ->alignCenter() ->label('Start') ->icon(fn (string $state): string => match ($state) { '1' => 'phosphor-file-plus', default => '' }), TextColumn::make('name') ->label('Überschrift') ->wrap(), IconColumn::make('ueberschrift_anzeigen') ->label('Anzeigen') ->alignCenter() ->tooltip('Überschrift anzeigen') ->color(fn ($state): string => $state ? 'primary' : 'gray') ->icon(fn ($state): string => $state ? 'phosphor-article-ny-times' : ''), IconColumn::make('textblock') ->color('primary') ->alignCenter() ->icon('phosphor-article') ->tooltip(fn ($record): HtmlString => new HtmlString($record->name)), IconColumn::make('tabellen') ->color('primary') ->alignCenter() ->icon('phosphor-table') ->tooltip(fn ($record): HtmlString => new HtmlString($record->name)), TextColumn::make('seite') ->alignCenter() ->badge() ->color(fn ($record): string => $record->seitenzahl_anzeige ? 'primary' : 'gray') ->getStateUsing(function ($record) { if ($record->seitenzahl_anzeige) { return $record->seite == '0' ? 'auto' : $record->seite; } }), ]) // ->paginated(false) ->defaultPaginationPageOption(5) ->persistFiltersInSession() ->deferFilters(false) ->filtersFormColumns(3) ->filters([ SelectFilter::make('part') ->selectablePlaceholder(false) ->default('standard') ->label('Gutachten Komponenten') ->options([ 'standard' => 'Gutachten Standard Texte', 'nutzwerte' => 'Nutzwerberechnung', 'paragraph' => 'Auszug Gutachten gem. §6', ]), ]) // ], layout: FiltersLayout::AboveContent) ->defaultSort('sort', direction: 'asc') ->reorderable('sort') ->recordActions([ EditAction::make()->iconButton()->hidden(fn ($record) => (bool) $record->no_edit), DeleteAction::make()->iconButton(), ]); } }