Server-driven tables — columns, filters, and actions from the API03

Storage IT ApiTables

An npm React module where the Laravel API owns the table: structure via load-table, rows via query-table — so a new admin grid is config, not another hand-coded column file.

2026
Year
Front-end lead
Role
Storage IT Solutions
Client
Storage IT ApiTables
Overview01

ApiTables is the shared data-grid layer behind Storage IT products. I extracted the Next.js module into storage-apitables — a published package with its own docs — so every operator table is driven by the backend instead of a one-off React file. Columns, filters, sort, row actions, and bulk actions arrive as JSON; the host injects axios, design-system primitives, and feature modals.

The pipeline is two calls. load-table describes the grid. query-table returns the page of rows. Each table instance gets an isolated Redux store, so two grids on one screen do not fight over filters. Filters can sit inline in headers or in a sheet; unmapped ones overflow into a popover. Custom controls stay in the host app and register by route or action key.

The docs at apitablesdocs.bolesa.net are the unified reference for the Laravel package and the React module — backend and frontend in one place, with the mental model a team can copy instead of reverse-engineering Bolesa.

Outcomes02

The capabilities that matter in a walkthrough — what a team can actually run.

  • The API owns the grid

    columns, filters, and actions come from load-table, not a hardcoded React column file

  • New admin tables ship as config

    drop in ReactApiTable, point at a table name, and the host supplies buttons, toasts, and feature modals

  • One package, many products

    published as storage-apitables on npm so Bolesa and the next Storage IT app share the same module

  • Isolated Redux per table

    two grids on one screen keep their own filters, sort, and selection

  • Row and bulk actions that refresh correctly

    POSTs, confirm/view modals, and custom-control routers without forking the table

  • Filters where operators expect them

    inline in headers, sheet layout, or overflow popover from the same structure payload

  • Host-injected UI

    the app keeps its design system; the package never ships a second button language

  • Docs that match the code

    Laravel and Next.js in one reference, from page load to rendered grid

Next project04
Prop Master

Inventory and sales ops for real estate brokerage teams

Ready to collaborate?↗

Tell me about your product

Share a short brief — problem, timeline, and stack — and I'll reply with a candid view on fit, effort, and the fastest path to a shippable milestone.