Tables, search, and modals

Almost every list in the app — enquiries, customers, products, stock, expenses — uses the same table component, the same search box style, and the same modal style. Learning the pattern once means you know it everywhere.

Tables

Lists are shown in a table with a header row at the top and one row per record below.

  • The first row is the header. Column widths and which columns are visible can be adjusted on screens that offer a Toggle Columns (Show or hide table columns) control.
  • Right-clicking a row opens a context menu with actions that screen has registered for that row.
  • Some screens also expose an inline actions menu on the row.

Most lists have a search box at the top. The columns each search box looks at are decided by the screen — for example, Search customers… on the customer list matches the customer name.

When a list also exposes filters (such as date range, status, or supplier), the filters apply on top of whatever you typed in the search box.

Pagination

Long lists — enquiries, orders, expense ledgers — are split into pages with a pager at the bottom. Lists with naturally short result sets do not show a pager.

Modals

Many actions open a modal: a small panel that appears in the middle of the screen with the page dimmed behind it. Modals are used for forms, confirmations, and detail views that do not need a full page of their own.

  • Close a modal by clicking the close button in the corner, or by pressing the Cancel button inside it where one is provided.
  • A modal that asks you to confirm a destructive action — such as deleting a record — always lists what is about to happen. Read the message before clicking the destructive button.

Confirmations and warnings

The app does not silently delete a record. Removals open a confirmation modal first. Take a moment to read it; the action is hard to undo afterwards.

Common questions

Why is a button greyed out?

Either the action does not apply to the row, or you do not have permission for it. Hover over the button for a tooltip.

How do I refresh a list?

Most lists refresh after you make a change. To force a refresh, switch to another module and back, or reload the page.

Last updated 2026-04-30