Query Builder

Pick an entity → build a query → POST as JSON to /api/<entity>/search → backend translates to SQL via QueryBuilderWalker<T> → render PagedResult<T> in a <bs-datatable>. Pagination / filtering / sorting are all server-side.

Basic usage

0 matches
Wire-format JSON (what the demo POSTs)

JSON wire format

The component is JSON-only by design — schema validation and translation to your storage layer (SQL, OData, Mongo, …) belong on the server, where the user-controlled tree can be safely walked. The example below is what query() serialises to when the user picks status equals shipped AND total > 100.

Custom field editor

Keymap

  • Tab / Shift+Tab — move focus through controls in DOM order.
  • Enter on Add condition / Add group / Add sub-query — insert child.
  • Alt+ArrowUp / Alt+ArrowDown on a focused row — reorder among same-group siblings.
  • Esc — close any open dropdown.