https://github.com/cswni/filament-export-spanish
Filament export with spanish lang support
https://github.com/cswni/filament-export-spanish
csv excel export filamentphp laravel pdf-generation spanish
Last synced: over 1 year ago
JSON representation
Filament export with spanish lang support
- Host: GitHub
- URL: https://github.com/cswni/filament-export-spanish
- Owner: cswni
- Created: 2023-01-13T17:09:56.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-01-13T17:41:30.000Z (over 3 years ago)
- Last Synced: 2025-03-10T01:30:58.788Z (over 1 year ago)
- Topics: csv, excel, export, filamentphp, laravel, pdf-generation, spanish
- Language: PHP
- Homepage:
- Size: 205 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Filament Export - Spanish translation
[](https://packagist.org/packages/alperenersoy/filament-export) [](https://packagist.org/packages/alperenersoy/filament-export) [](https://packagist.org/packages/alperenersoy/filament-export)
Customizable export and print functionality for Filament Admin Panel.
This package provides a bulk action and header action to export your filament tables easily.

## Requirements
- PHP 8
- [Filament 2.0](https://github.com/laravel-filament/filament)
### Dependencies
- [spatie/simple-excel](https://github.com/spatie/simple-excel)
- [barryvdh/laravel-dompdf](https://github.com/barryvdh/laravel-dompdf)
## Installation
```bash
composer require cswni/filament-export
```
## Using
### Simple Usage
#### Bulk Action
You can export selected rows with the bulk action.
```php
$table->bulkActions([
...
FilamentExportBulkAction::make('export')
...
]);
```
#### Header Action
You can filter, search, sort and export your table with the header action.
```php
$table->headerActions([
...
FilamentExportHeaderAction::make('export')
...
]);
```
Since ButtonAction is deprecated you may use this action with ->button() instead.
### Full Usage
Both actions provide functions for configuration.
```php
FilamentExportBulkAction::make('export')
->fileName('My File') // Default file name
->timeFormat('m y d') // Default time format for naming exports
->defaultFormat('pdf') // xlsx, csv or pdf
->defaultPageOrientation('landscape') // Page orientation for pdf files. portrait or landscape
->directDownload() // Download directly without showing modal
->disableAdditionalColumns() // Disable additional columns input
->disableFilterColumns() // Disable filter columns input
->disableFileName() // Disable file name input
->disableFileNamePrefix() // Disable file name prefix
->disablePreview() // Disable export preview
->withHiddenColumns() //Show the columns which are toggled hidden
->fileNameFieldLabel('File Name') // Label for file name input
->formatFieldLabel('Format') // Label for format input
->pageOrientationFieldLabel('Page Orientation') // Label for page orientation input
->filterColumnsFieldLabel('filter columns') // Label for filter columns input
->additionalColumnsFieldLabel('Additional Columns') // Label for additional columns input
->additionalColumnsTitleFieldLabel('Title') // Label for additional columns' title input
->additionalColumnsDefaultValueFieldLabel('Default Value') // Label for additional columns' default value input
->additionalColumnsAddButtonLabel('Add Column') // Label for additional columns' add button
```
You can also use default bulk action and header action functions to customize actions.
## Performance Tips for Large Datasets
- Since header action does server-side pagination you may choose header action over bulk action.
- You may disable preview.
- You may enable direct download.
## Configuration
Publish configuration
```bash
php artisan vendor:publish --provider="AlperenErsoy\FilamentExport\FilamentExportServiceProvider" --tag="config"
```
You can configure these settings:
```php
return [
'default_format' => 'xlsx',
'time_format' => 'M_d_Y-H_i',
'default_page_orientation' => 'portrait',
'disable_additional_columns' => false,
'disable_filter_columns' => false,
'disable_file_name' => false,
'disable_preview' => false,
'use_snappy' => false,
'action_icon' => 'heroicon-o-document-download',
'preview_icon' => 'heroicon-o-eye',
'export_icon' => 'heroicon-o-download',
'print_icon' => 'heroicon-o-printer',
'cancel_icon' => 'heroicon-o-x-circle'
];
```
## Overriding Views
Publish views
```bash
php artisan vendor:publish --provider="AlperenErsoy\FilamentExport\FilamentExportServiceProvider" --tag="views"
```
This package has two views:
1. "components\table_view.blade.php" view is used for preview.
2. "pdf.blade.php" view is used as pdf export template.
3. "print.blade.php" view is used as print template.
### Using Custom Variables In Templates
```php
FilamentExportBulkAction::make('export')
->extraViewData([
'myVariable' => 'My Variable'
])
```
or use closures
```php
FilamentExportHeaderAction::make('export')
->extraViewData(fn ($action) => [
'recordCount' => $action->getRecords()->count()
])
```
Then use them in the templates as regular blade variables:
```blade
{{ $myVariable }}
```
## Using Snappy
By default, this package uses [dompdf](https://github.com/barryvdh/laravel-dompdf) as pdf generator.
If you want to use Snappy instead you need to install **barryvdh/laravel-snappy** to your project and configure it yourself. (See [barryvdh/laravel-snappy](https://github.com/barryvdh/laravel-snappy) for more information.)
To use snappy for PDF exports:
1. You can simply add ->snappy() to your actions.
```php
FilamentExportBulkAction::make('export')
->snappy()
```
or
```php
FilamentExportHeaderAction::make('export')
->snappy()
```
2. You can update the config file to use it as default.
```php
[
...
'use_snappy' => true,
...
]
```