Filament Admin
Tapix provides a first-class Filament v5 plugin that registers the import wizard and history pages directly into your admin panel.
Registering the Plugin
Add TapixPlugin to your panel provider:
use Tapix\Core\Filament\TapixPlugin;
public function panel(Panel $panel): Panel
{
return $panel
->plugins([
TapixPlugin::make()
->importers([
ContactImporter::class,
CompanyImporter::class,
])
->discoverImporters()
->navigationGroup('Import'),
]);
}
Configuration Methods
TapixPlugin::make()
Creates a new plugin instance. All subsequent configuration is chained from this call.
->importers(array $importers)
Register specific importer classes to make available in the wizard. Each class must extend the base Tapix importer.
->discoverImporters()
Auto-scan the app/Importers/ directory and register all importer classes found. This is a convenient alternative to manually listing each class with ->importers().
->navigationGroup(string $group)
Set the Filament navigation group under which the import pages appear in the sidebar.
Registered Pages
When TapixPlugin is registered, two pages are automatically added to your panel:
- ImportPage -- the full import wizard UI (upload, map, review, preview)
- ImportHistoryPage -- a table of past imports with status and metadata
Route Handling
When TapixPlugin is registered, built-in Tapix routes are automatically disabled via Tapix::disableRoutes(). Filament handles its own routing for the plugin pages, so the standalone routes are not needed.
TapixPlugin is registered, built-in Tapix routes are automatically disabled. You do not need to set routes.enabled to false in the config -- the plugin handles this for you.Tenant Support
When the panel has tenancy configured, TapixPlugin automatically registers SetTenantContextMiddleware as persistent tenant middleware. This ensures the correct tenant context is available during background import processing, so imported records are scoped to the appropriate tenant.
Tailwind CSS Setup
Add the Tapix views to your Filament theme's Tailwind content paths so that all utility classes are included in the compiled CSS:
content: [
'./vendor/tapix/core/resources/views/**/*.blade.php',
]
Without this, some Tapix UI elements may appear unstyled in your panel theme.