tapp/filament-survey

Filament Laravel Survey plugin.

v3.1.0 2024-03-27 20:02 UTC

This package is auto-updated.

Last update: 2024-12-04 19:03:50 UTC


README

Latest Version on Packagist Code Style Action Status - Pint Total Downloads

A Filament plugin for Laravel Survey package.

This package provides Filament resources for Laravel Survey.

Requirements

Dependencies

Installation

Installing the required package (Laravel Survey)

This plugin uses a modifed version of Laravel Survey package: https://github.com/tappnetwork/laravel-survey/tree/translatable that adds translatable and sortable fields to the survey models. More details in this PR: matt-daneshvar/laravel-survey#39.

So you must install this version instead of requiring matt-daneshvar/laravel-survey. In order to do so, add to your project's composer.json:

"require": {
    ...
    "matt-daneshvar/laravel-survey": "dev-translatable",
},

"repositories": [
    ...
    {
        "type": "vcs",
        "url": "https://github.com/TappNetwork/laravel-survey"
    }
],

Install it using Composer

composer update

Publish the package migrations

php artisan vendor:publish --provider="MattDaneshvar\Survey\SurveyServiceProvider" --tag="migrations"

Run the migrations

php artisan migrate

Installing the Filament Survey plugin

Install the plugin via Composer:

composer require tapp/filament-survey:"^3.0"

Note For Filament 2.x check the 2.x branch

Optional: Publish the plugin's views, translations, and config

You can publish the view file with:

php artisan vendor:publish --tag="filament-survey-views"

You can publish the translations files with:

php artisan vendor:publish --tag="filament-survey-translations"

You can publish the config file with:

php artisan vendor:publish --tag="filament-survey-config"

Adding the plugin to a panel

Add this plugin to a panel on plugins() method (e.g. in app/Providers/Filament/AdminPanelProvider.php). This plugin requires the Spatie Translatable plugin, so it should also be added on a panel like so:

use Filament\SpatieLaravelTranslatablePlugin;
use Tapp\FilamentSurvey\FilamentSurveyPlugin;
 
public function panel(Panel $panel): Panel
{
    return $panel
        // ...
        ->plugins([
            FilamentSurveyPlugin::make(),
            SpatieLaravelTranslatablePlugin::make(),
            //...
        ]);
}

That's it! Now the surveys, answers, and entries resources will be displayed in the left sidebar in your Filament admin panel. To enable dedicated resources for Sections, and Questions, publish the config and add QuestionResource and SectionResource to the 'resources' array.