tapp / filament-survey
Filament Laravel Survey plugin.
Installs: 7 029
Dependents: 0
Suggesters: 0
Security: 0
Stars: 26
Watchers: 4
Forks: 10
Open Issues: 5
Requires
- php: ^8.1
- filament/filament: ^3.0-stable
- filament/spatie-laravel-translatable-plugin: ^3.0-stable
- maatwebsite/excel: ^3.1
- spatie/eloquent-sortable: ^4.0
- spatie/laravel-package-tools: ^1.9
Requires (Dev)
- doctrine/dbal: ^3.6
README
A Filament plugin for Laravel Survey package.
This package provides Filament resources for Laravel Survey.
Requirements
- PHP 8.1+
- Laravel 10.0+
- Filament 3.0+
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.