Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/reworck/filament-settings
Easy setting management for filament
https://github.com/reworck/filament-settings
filament filament-package filament-plugin filamentadmin plugin
Last synced: 3 months ago
JSON representation
Easy setting management for filament
- Host: GitHub
- URL: https://github.com/reworck/filament-settings
- Owner: reworck
- License: mit
- Created: 2022-01-07T22:07:03.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-01T11:03:48.000Z (7 months ago)
- Last Synced: 2024-07-06T09:22:50.958Z (4 months ago)
- Topics: filament, filament-package, filament-plugin, filamentadmin, plugin
- Language: PHP
- Homepage:
- Size: 17.6 KB
- Stars: 43
- Watchers: 1
- Forks: 11
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-filament - reworck/filament-settings - Easy setting management for filament. (Complete Sections)
README
# Filament settings
This package allows for easy setting management using [Spatie's ValueStore package](https://github.com/spatie/valuestore)
## Content of the configuration file
```php
return [
// Group the menu item belongs to
'group' => 'Settings',// Sidebar label
'label' => 'Settings',// Path to the file to be used as storage
'path' => storage_path('app/settings.json'),
];
```## Installation
1. Require the package
```shell
composer require reworck/filament-settings
```2. publish the configuration file
```shell
php artisan vendor:publish --tag=filament-settings-config
```4. (Optionally) you can publish the views for the page and the view used by the livewire component
```shell
php artisan vendor:publish --tag=filament-settings-views
```## Usage
Define your fields by adding the following in the `boot` method of your `AppServiceProvider`
```php
\Reworck\FilamentSettings\FilamentSettings::setFormFields([
\Filament\Forms\Components\TextInput::make('title'),
]);
```After that you can access your values as you usually would using [spatie/valuestore](https://github.com/spatie/valuestore)
### Hiding the page for users
To hide the Settings page from some users add a `canManageSettings` method to your `User` model.
```php
public function canManageSettings(): bool
{
return $this->can('manage.settings');
}
```By default the page will be shown to all users.
## Testing
```shell
composer test
```## Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
## Credits
- [Quinten Buis](https://github.com/quintenbuis)
- [All Contributors](../../contributors)## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.