schema([ TextInput::make('name') ->label(__('filament.resource.ai_model.form.name')) ->required() ->maxLength(255), TextInput::make('model_id') ->label(__('filament.resource.ai_model.form.model_id')) ->required() ->maxLength(255), TextInput::make('model_type') ->nullable() ->maxLength(255), Forms\Components\Toggle::make('enabled') ->label(__('filament.resource.ai_model.form.enabled')) ->default(true), Select::make('apiProviders') ->relationship('apiProviders', 'name') ->multiple() ->preload() ->searchable(false) ->label(__('filament.resource.ai_model.form.api_providers')), ]); } public static function table(Table $table): Table { return $table ->columns([ TextColumn::make('name')->label(__('filament.resource.ai_model.table.name'))->searchable()->sortable(), TextColumn::make('model_id')->label(__('filament.resource.ai_model.table.model_id'))->searchable()->sortable(), TextColumn::make('model_type')->label(__('filament.resource.ai_model.table.model_type'))->searchable()->sortable(), Tables\Columns\IconColumn::make('enabled') ->label(__('filament.resource.ai_model.table.enabled')) ->boolean(), TextColumn::make('apiProviders.name')->label(__('filament.resource.ai_model.table.api_providers'))->searchable()->sortable(), ]) ->filters([ // ]) ->actions([ Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]) ->emptyStateActions([ Tables\Actions\CreateAction::make(), ]); } public static function getRelations(): array { return [ // ]; } public static function getPages(): array { return [ 'index' => Pages\ListAiModels::route('/'), 'create' => Pages\CreateAiModel::route('/create'), 'edit' => Pages\EditAiModel::route('/{record}/edit'), ]; } }