added changes in schedule component
This commit is contained in:
@@ -16,6 +16,7 @@ use Filament\Forms\Form;
|
|||||||
use Filament\Resources\Resource;
|
use Filament\Resources\Resource;
|
||||||
use Filament\Tables;
|
use Filament\Tables;
|
||||||
use Filament\Tables\Columns\TextColumn;
|
use Filament\Tables\Columns\TextColumn;
|
||||||
|
use Filament\Tables\Grouping\Group;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
use Illuminate\Support\Carbon;
|
use Illuminate\Support\Carbon;
|
||||||
use Illuminate\Support\Str;
|
use Illuminate\Support\Str;
|
||||||
@@ -89,6 +90,7 @@ class ScheduleResource extends Resource
|
|||||||
->itemLabel(fn (array $state): ?string => $state['title'] ?? 'Новый файл')
|
->itemLabel(fn (array $state): ?string => $state['title'] ?? 'Новый файл')
|
||||||
->collapsible()
|
->collapsible()
|
||||||
->cloneable()
|
->cloneable()
|
||||||
|
->maxItems(1)
|
||||||
->defaultItems(1),
|
->defaultItems(1),
|
||||||
]),
|
]),
|
||||||
]);
|
]);
|
||||||
@@ -97,16 +99,21 @@ class ScheduleResource extends Resource
|
|||||||
public static function table(Table $table): Table
|
public static function table(Table $table): Table
|
||||||
{
|
{
|
||||||
return $table
|
return $table
|
||||||
->columns([
|
->defaultGroup(
|
||||||
TextColumn::make('educationalGroup.title')
|
Group::make('educationalGroup.title')
|
||||||
->label('Учебная группа')
|
->titlePrefixedWithLabel(false)
|
||||||
->sortable()
|
->collapsible()
|
||||||
->searchable(),
|
->getTitleFromRecordUsing(function ($record): string {
|
||||||
|
$groupTitle = $record->educationalGroup->title;
|
||||||
|
|
||||||
TextColumn::make('file_count')
|
return 'Группа: ' . $groupTitle;
|
||||||
->label('Файлов')
|
|
||||||
->getStateUsing(fn ($record) => count($record->file ?? []))
|
})
|
||||||
->badge(),
|
)
|
||||||
|
->columns([
|
||||||
|
TextColumn::make('title')
|
||||||
|
->label('Название')
|
||||||
|
->getStateUsing(fn ($record) => $record->file[0]['title']),
|
||||||
|
|
||||||
TextColumn::make('educationalGroup.education_form_id')
|
TextColumn::make('educationalGroup.education_form_id')
|
||||||
->formatStateUsing(fn ($state) => FormEducation::tryFrom($state)->getLabel())
|
->formatStateUsing(fn ($state) => FormEducation::tryFrom($state)->getLabel())
|
||||||
@@ -165,6 +172,7 @@ class ScheduleResource extends Resource
|
|||||||
'index' => Pages\ListSchedules::route('/'),
|
'index' => Pages\ListSchedules::route('/'),
|
||||||
'create' => Pages\CreateSchedule::route('/create'),
|
'create' => Pages\CreateSchedule::route('/create'),
|
||||||
'edit' => Pages\EditSchedule::route('/{record}/edit'),
|
'edit' => Pages\EditSchedule::route('/{record}/edit'),
|
||||||
|
'upload' => Pages\ScheduleResource\Pages\UploadSchedules::route('/upload'), // Добавьте эту строку
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,6 +5,7 @@ namespace App\Filament\Resources\ScheduleResource\Pages;
|
|||||||
use App\Filament\Resources\ScheduleResource;
|
use App\Filament\Resources\ScheduleResource;
|
||||||
use Filament\Actions;
|
use Filament\Actions;
|
||||||
use Filament\Resources\Pages\ListRecords;
|
use Filament\Resources\Pages\ListRecords;
|
||||||
|
use Filament\Support\Colors\Color;
|
||||||
|
|
||||||
class ListSchedules extends ListRecords
|
class ListSchedules extends ListRecords
|
||||||
{
|
{
|
||||||
@@ -14,6 +15,11 @@ class ListSchedules extends ListRecords
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
Actions\CreateAction::make(),
|
Actions\CreateAction::make(),
|
||||||
|
Actions\Action::make('uploadSchedules') // Дайте уникальное имя для вашего действия
|
||||||
|
->label('Быстрая загрузка расписания') // Текст, который будет отображаться на кнопке
|
||||||
|
->url(ScheduleResource::getUrl('upload')) // Используйте getUrl для получения маршрута
|
||||||
|
->color(Color::Indigo)
|
||||||
|
->icon('heroicon-o-arrow-up-tray'), // Опционально: добавьте иконку
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user