Campos, columnas, filtros, acciones, relation managers y widgets de dashboard, generados desde una sola clase PHP. Frontend Vue SPA.
Tres pasos, todos dentro de tu proyecto Laravel.
Una clase PHP con los campos, las columnas, los filtros y las acciones de tu modelo.
Un endpoint /schema y una API JSON, protegidos con Sanctum y las Policies del modelo.
Un frontend Vue precompilado renderiza el formulario, la tabla y los filtros a partir del esquema.
Cada pieza se define en PHP, dentro del propio Resource, y se sirve a través de un único endpoint /schema.
Text, Select, Date, Toggle, File, Image, Repeater y RichEditor, cada uno con sus propias reglas de validación.
Columnas calculadas, badges e imágenes con closures value()/color(), no solo pass-through de atributos.
View, Edit, Delete, Restore, ForceDelete y acciones a medida con su propio schema y handler, con soporte bulk.
Filtros de tabla reutilizables, aplicados directamente sobre la query del Resource.
Attach/Detach y acciones propias de la relación, gestionadas desde el mismo panel del Resource padre.
Tarjetas de estadísticas con valor, color, icono y descripción, calculadas en cada petición del dashboard.
Un componente Vue propio, compartiendo la instancia de Arrel o totalmente aislado con registerMountablePage.
Un TenantResolver a medida y un middleware configurable; Arrel no impone ninguna estrategia.
fields(), columns() y actions() bastan para generar el formulario, la tabla y los endpoints. Sin DSL de autorización aparte: canViewAny(), canEdit()… delegan en la Policy del modelo.
Lee la guía 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()]; } }
Licencia por aplicación en producción.
Para un solo proyecto.
Se renueva por 19€ / año
ContáctanosPara aplicaciones ilimitadas y todo el equipo.
Se renueva por 49€ / año
Contáctanos