schema([ TextInput::make('title')->label('Название кафедры')->required() ->live(onBlur: true) ->afterStateUpdated(function (string $operation, $state, Forms\Set $set) { $set('slug', Str::slug($state)); }), TextInput::make('slug')->label('Slug')->unique(ignoreRecord: true)->readOnly()->required(), Forms\Components\Select::make('faculty_id') ->options(Faculty::all()->pluck('title', 'id')) ->label('Факультет') ->required(), Toggle::make('is_active')->default(true)->label('Активная кафедра')->inline(false), ]); } public static function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('title')->label('Название'), Tables\Columns\TextColumn::make('faculty.title')->label('Факультет')->words(2) ]) ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); } public static function getRelations(): array { return [ RelationManagers\WorkersRelationManager::class, RelationManagers\TeachersRelationManager::class, RelationManagers\ProgramsRelationManager::class, ]; } public static function getPages(): array { return [ 'index' => Pages\ListDepartments::route('/'), 'create' => Pages\CreateDepartment::route('/create'), 'edit' => Pages\EditDepartment::route('/{record}/edit'), ]; } }