Camps, columnes, filtres, accions, relation managers i widgets de dashboard, generats des d'una sola classe PHP. Frontend Vue SPA.
Tres passos, tots dins del teu projecte Laravel.
Una classe PHP amb els camps, les columnes, els filtres i les accions del teu model.
Un endpoint /schema i una API JSON, protegits amb Sanctum i les Policies del model.
Un frontend Vue precompilat renderitza el formulari, la taula i els filtres a partir de l’esquema.
Cada peça es defineix en PHP, dins del propi Resource, i es serveix a través d'un únic endpoint /schema.
Text, Select, Date, Toggle, File, Image, Repeater i RichEditor, cadascun amb les seves pròpies regles de validació.
Columnes calculades, badges i imatges amb closures value()/color(), no només pass-through d’atributs.
View, Edit, Delete, Restore, ForceDelete i accions a mida amb el seu propi schema i handler, amb suport bulk.
Filtres de taula reutilitzables, aplicats directament sobre la query del Resource.
Attach/Detach i accions pròpies de la relació, gestionades des del mateix panell del Resource pare.
Targetes d'estadístiques amb valor, color, icona i descripció, calculades a cada petició del dashboard.
Un component Vue propi, compartint la instància d'Arrel o totalment aïllat amb registerMountablePage.
Un TenantResolver a mida i un middleware configurable; Arrel no imposa cap estratègia.
fields(), columns() i actions() basten per generar el formulari, la taula i els endpoints. Sense DSL d'autorització separat: canViewAny(), canEdit()… deleguen a la Policy del model.
Llegeix la guia de Resources →final class PostResource extends Resource { protected static string $model = Post::class; protected static string $icon = 'document-text'; public function fields(): array { return [ Text::make('title')->rules('required', 'max:255'), Select::make('status')->options(['draft', 'published']), Toggle::make('is_featured'), ]; } public function columns(): array { return [ Column::make('title')->searchable()->sortable(), Column::make('status')->as('badge'), ]; } public function actions(): array { return [ViewAction::make(), EditAction::make(), DeleteAction::make()]; } }
Llicència per aplicació en producció.
Per a un sol projecte.
Renovació per 19€ / any
Contacta'nsPer a aplicacions il·limitades i tot l'equip.
Renovació per 49€ / any
Contacta'ns