Adminix Documentation Help

Panel

PanelModule renders a native Adminix card/container. It is layout-only: it does not own business logic, routes, jobs, or persistence.

Use it when a page needs a framed block with a title and nested modules.

use AlexKudrya\Adminix\AdminixPage; use AlexKudrya\Adminix\Enums\HttpMethodsEnum; use AlexKudrya\Adminix\Modules\Module; AdminixPage::uri('imports') ->name('imports') ->addModules( Module::panel() ->name('dump-panel') ->title('Raw DWH dump') ->icon('bi bi-file-earmark-arrow-down') ->addModules( Module::text() ->name('dump-copy') ->format('html') ->body('Read-only: reads <code>AD_IRB_LIMIT_VALUES_FOR_CRJR</code>.'), Module::link() ->name('dump-action') ->title('Download dump') ->icon('bi bi-download') ->uri('admin.imports.dump') ->method(HttpMethodsEnum::POST) ), Module::panel() ->name('import-panel') ->title('Run import') ->icon('bi bi-exclamation-triangle') ->color('orange') ->addModules( Module::text() ->name('import-copy') ->format('markdown') ->body('Runs `php artisan dwh:import --force`. **Changes production data.**'), Module::link() ->name('import-action') ->title('Run import') ->uri('admin.imports.run') ->method(HttpMethodsEnum::POST) ->confirm('Run import?') ) );

Layout

  • name() is required and must be unique on the page.

  • title() renders the header title.

  • icon() renders a Bootstrap icon in the header.

  • color() sets the panel accent/border color.

  • addModule() and addModules() accept any Adminix module.

  • Panels are half-width by default on wide screens and full-width on mobile.

  • fullWidth() makes the panel span the page width.

  • halfWidth() restores the default half-width layout.

Nested modules are resolved through their normal data providers. A nested ListModule still receives page route params, criteria, filters, and endpoint lookup by module name.

Scope

PanelModule is not an operation/import abstraction. Keep application routes, validation, commands, file handling, cancellation, deletion, and downloads in the consuming app. Compose the page from PanelModule, TextModule, LinkModule, ListModule, ProgressBarModule, or other existing modules.

Last modified: 23 June 2026