*/ public static string $model = \App\Models\Screening::class; /** * The single value that should be used to represent the resource when being displayed. * * @var string */ public static $title = 'id'; /** * The columns that should be searched. * * @var array */ public static $search = ['id']; /** * Indicates if the resource should be displayed in the sidebar. * * @var bool */ public static $displayInNavigation = true; /** * The group associated with the resource. * * @var string */ public static $group = 'Questionnaire'; /** * The relationships that should be eager loaded on index queries. * * @var array */ public static $with = ['user']; /** * Get the displayable label of the resource. */ public static function label(): string { return 'Screenings'; } /** * Get the displayable singular label of the resource. */ public static function singularLabel(): string { return 'Screening'; } /** * Get the fields displayed by the resource. * * @return array */ public function fields(NovaRequest $request): array { return [ ID::make()->sortable(), BelongsTo::make('User', 'user', User::class) ->sortable() ->filterable() ->rules('required') ->help('The person who completed this pre-screening.'), Number::make('Score') ->sortable() ->filterable() ->copyable() ->rules('required', 'integer') ->help('The number of "Yes" answers out of 10 pre-screening questions.'), Boolean::make('Passed') ->sortable() ->filterable() ->rules('required', 'boolean') ->help('Whether the user scored 5 or more points and was allowed to continue to the full questionnaire.'), DateTime::make('Created At') ->exceptOnForms() ->sortable() ->filterable() ->help('When this pre-screening was started.'), HasMany::make('Sessions', 'sessions', SessionResource::class), ]; } /** * Get the cards available for the request. * * @return array */ public function cards(NovaRequest $request): array { return []; } /** * Get the filters available for the resource. * * @return array */ public function filters(NovaRequest $request): array { return []; } /** * Get the lenses available for the resource. * * @return array */ public function lenses(NovaRequest $request): array { return []; } /** * Get the actions available for the resource. * * @return array */ public function actions(NovaRequest $request): array { return [ new DownloadExcel, ]; } }