Skip to content

Blade (javaabu/forms) and Inertia React (@javaabu/forms) views #10

Closed

Description

@n4ff4h

Every view ships in both:

  • Blade with javaabu/forms v2 components
  • Inertia React (TypeScript) with @javaabu/forms and @javaabu/onu, shipped through javaabu/manifest
  • Config option to choose the stack; views publishable and overridable
  • Larger forms defined once with javaabu/stencil
  • Tests for both stacks

Activity

  1. added
    next-genNext-gen Javaabu packages
    featurePackage feature from the spec
    blockedWaiting on another package or a decision
    on Nov 4, 2026
  2. n4ff4h commented on Nov 4, 2026

    @n4ff4h
    CollaboratorAuthor

    Blocked on the view stacks, which are still being built:

    What's ready for the pages:

    • The controller already renders permissions::roles.{index,create,show,edit} (Blade) and permissions::Roles/{Index,Create,Show,Edit} (Inertia), chosen by config('permissions.views').
    • The props are fixed and documented in docs/basic-usage/managing-roles.md#pages: title, guard, routes, roles, search, role, and permission_groups with granted flags.
    • Views publish with --tag=permissions-views.

    The pages are thin layers over that. The permission picker from the roles-form-and-permission-list-component branch (select all, per-group select, search) is the reference for the UI.

    I'll pick this up once forms v2's components and manifest's Inertia support are on their branches.

  3. n4ff4h commented on Nov 4, 2026

    @n4ff4h
    CollaboratorAuthor

    Done on next-gen (f3b6384, 75a5f46, 5fa5a41; CI green).

    • Blade: resources/views/roles (index, create, edit, show, plus partials), built with javaabu/forms v2 components. They extend config('permissions.layout') / layout_section and work with both Onu and Bootstrap 6. A small script, permissions::roles, comes through javaabu/manifest and handles select all/none per permission group and data-confirm on delete.
    • React: resources/js/Pages/Roles/*.tsx with @javaabu/forms, registered with manifest (->js()->pages()), resolved with resolvePage(). Reusable components are exported as @javaabu/permissions: RoleForm, PermissionGroupFields, RoleActions. The text comes translated from the server in strings, as in exports.
    • Same props in both stacks: guard, routes, urls, can, plus translations on the forms. RoleResource gained can, links and permissions_count.
    • Decision: component tags of optional packages (<x-translatable::text>) live in their own partial, because Blade compiles every tag in a view even inside @if.
    • Decision: the React buttons have no icons for now. @javaabu/forms' IconName lacks eye/pencil/trash-2/check; that's Icon parity with javaabu/forms v2: eye, pencil, trash-2, check, … react-forms#21.
    • Tests: Blade pages (permissions, old input, Dhivehi with RTL, physical-direction classes, Bootstrap), Inertia props, manifest registration, and Vitest for the script and components.
  4. removed
    blockedWaiting on another package or a decision
    on Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    featurePackage feature from the specnext-genNext-gen Javaabu packages

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions