add onegabes-better-options for inhaltselement

This commit is contained in:
salam committed 2026-05-20 10:14:13 +02:00
1 parent 79ccecf579
commit 30aad69d02
10 files changed
+395 -33

No files matched your search

@@ -8,8 +8,10 @@ use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\TextInputColumn;
use Filament\Tables\Enums\FiltersLayout;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Filters\Filter;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use ToneGabes\BetterOptions\Forms\Components\RadioCards;
class InhaltsverzeichnisTable
{
@@ -46,22 +48,50 @@ class InhaltsverzeichnisTable
->getStateUsing(fn ($record): string => $record->seite == 0 ? '' : $record->seite),
])
// ->paginated(false)
->defaultPaginationPageOption(5)
->persistFiltersInSession()
->deferFilters(false)
->filtersFormColumns(3)
->filtersFormColumns(1)
->defaultPaginationPageOption(50)
->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)
Filter::make('filters')
->schema([
RadioCards::make('part')
->columns(3)
->iconAfter()
->default('standard')
->indicatorBefore()
->hiddenIcon()
->hiddenLabel()
->options([
'standard' => 'Gutachten Standard',
'nutzwerte' => 'Nutzwertberechnung',
'paragraph' => 'Auszug Gutachten',
])
->idleIndicator('phosphor-circle')
->selectedIndicator('phosphor-circle-fill')
->descriptions([
'standard' => 'Inhaltsangabe, Texte',
'nutzwerte' => 'Tabellen',
'paragraph' => 'Gemäß Paragraph §6',
]),
])
->query(function (Builder $query, array $data): Builder {
return $query
->when(
$data['part'],
fn (Builder $query, $part): Builder => $query->where('part', $part),
);
}),
// SelectFilter::make('part')
// ->selectablePlaceholder(false)
// ->default('standard')
// ->label('Gutachten Komponenten')
// ->options([
// 'standard' => 'Gutachten Standard Texte',
// 'nutzwerte' => 'Nutzwertberechnung',
// 'paragraph' => 'Auszug Gutachten gem. §6',
// ]),
], layout: FiltersLayout::AboveContent)
->defaultSort('sort', direction: 'asc')
->reorderable('sort')
->recordActions([
@@ -24,10 +24,11 @@ class TextblocksTable
->html(),
])
->deferFilters(false)
->filtersFormColumns(3)
->filtersFormColumns(2)
->filters([
SelectFilter::make('id')
->label('Textblock')
->columns(1)
->preload()
->default(1)
->options(function (): array {
@@ -29,8 +29,11 @@ use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Columns\TextInputColumn;
use Filament\Tables\Enums\FiltersLayout;
use Filament\Tables\Filters\Filter;
use Filament\Tables\Filters\SelectFilter;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use ToneGabes\BetterOptions\Forms\Components\RadioCards;
class ProjektInhaltsverzeichnisRelationManager extends RelationManager
{
@@ -346,17 +349,52 @@ class ProjektInhaltsverzeichnisRelationManager extends RelationManager
->persistFiltersInSession()
->deferFilters(false)
->filtersFormColumns(3)
->persistFiltersInSession()
->deferFilters(false)
->filtersFormColumns(1)
->defaultPaginationPageOption(50)
->filters([
SelectFilter::make('part')
->selectablePlaceholder(false)
->default('standard')
->label('Gutachten Komponenten')
->options([
'standard' => 'Gutachten Standard Texte',
'nutzwerte' => 'Nutzwerberechnung',
'paragraph' => 'Auszug Gutachten gem. §6',
]),
], FiltersLayout::AboveContent)
Filter::make('partfilters')
->schema([
RadioCards::make('part')
->columns(3)
->iconAfter()
->indicatorBefore()
->hiddenIcon()
->hiddenLabel()
->default('standard')
->options([
'standard' => 'Gutachten Standard',
'nutzwerte' => 'Nutzwertberechnung',
'paragraph' => 'Auszug Gutachten',
])
->idleIndicator('phosphor-circle')
->selectedIndicator('phosphor-circle-fill')
->descriptions([
'standard' => 'Inhaltsangabe, Texte',
'nutzwerte' => 'Tabellen',
'paragraph' => 'Gemäß Paragraph §6',
]),
])
->query(function (Builder $query, array $data): Builder {
return $query
->when(
$data['part'],
fn (Builder $query, $part): Builder => $query->where('part', $part),
);
}),
], layout: FiltersLayout::AboveContent)
// ->filters([
// SelectFilter::make('part')
// ->selectablePlaceholder(false)
// ->default('standard')
// ->label('Gutachten Komponenten')
// ->options([
// 'standard' => 'Gutachten Standard Texte',
// 'nutzwerte' => 'Nutzwertberechnung',
// 'paragraph' => 'Auszug Gutachten gem. §6',
// ]),
// ], FiltersLayout::AboveContent)
->defaultSort('sort', direction: 'asc')
->reorderable('sort')
->headerActions([