SeviaFlow Get Started

UI: Resource Pages

The UI package maps registered resource slugs to Livewire pages under the configured route prefix.

Default Resource Routes

RouteRoute nameLivewire component
GET /admin/resources/{resource}seviaflow.resources.indexSeviaFlow\Ui\Livewire\ResourceIndex
GET /admin/resources/{resource}/createseviaflow.resources.createSeviaFlow\Ui\Livewire\ResourceForm
GET /admin/resources/{resource}/{record}seviaflow.resources.showSeviaFlow\Ui\Livewire\ResourceShow
GET /admin/resources/{resource}/{record}/editseviaflow.resources.editSeviaFlow\Ui\Livewire\ResourceForm

Index Pages

Index pages use Resource::table(), Core columns, Core filters, Core search/sort/pagination and Core authorization. Resource actions and bulk actions are resolved from the same Resource class.

Create And Edit Pages

Create/edit pages use Resource::form(). Field state and visibility methods such as requiredOnCreate(), readonlyOnEdit() and hiddenOnShow() are evaluated by context.

Show Pages

Show pages use Resource::show(). If you do not override show(), Core returns the same definition as form(). Override it only when the detail page needs a different set of fields:

use SeviaFlow\Core\Resources\Fields\TextField;
use SeviaFlow\Core\Resources\Form;

// Inside the Resource class:
public static function show(Form $form): Form
{
    return $form->fields([
        TextField::make('name')->label('Customer'),
        TextField::make('email')->label('Email address'),
    ]);
}

This defines what appears on the record detail page; create and edit pages continue to use form(). For fields that appear only in a particular context without defining a separate show form, see Forms & Sections.

Relationships And Workflows

Show pages can render relation definitions from relations() and transition controls from workflow() where supported by the current UI services.