Portal Community

Dashboard Layout

The dashboard renders a paginated list of all forms accessible to your tenant. It uses FormDefinitionApiClient.listForms() to fetch forms from the API, with built-in caching that reduces repeated calls by up to 80%.

The dashboard has three primary zones:

Form List API Call

The dashboard calls listForms() with pagination and sorting parameters. This is the same API you call when embedding a form browser in your own application:

import { FormDefinitionApiClient } from '@atlas-forms/api-client-js';

const client = new FormDefinitionApiClient({ baseUrl: 'https://api.example.com' });

const result = await client.listForms(tenantId, {
  search: 'invoice',
  sort: { field: 'lastModifiedOn', direction: 'desc' },
  page: { pageNumber: 1, pageSize: 20 }
});

// result.data — array of FormDefinition
// result.metadata.totalCount — total matching forms
// result.metadata.totalPages — pages available

Status Badges

Each form card displays a status badge indicating where the form sits in its lifecycle:

StatusMeaningEditableAPI Visible
DraftWork in progress, not yet publishedYesNo
In ReviewSubmitted for approval, locked for editsNoNo
PublishedLive and accessible via APINo (create new version)Yes
ArchivedRetired — not deleted, not accessibleNoNo

Search and Filter

The search bar performs real-time filtering using the API's search parameter. Results update as you type with a 300ms debounce to avoid excessive API calls.

Filter Options

Form Card Information

Each card in the grid shows:

Pagination

The dashboard uses server-side pagination. The default page size is 20 forms. Use the page controls at the bottom to navigate. The total count displays in the top-right corner of the list.

Performance Tip The dashboard caches listForms() responses for 5 minutes. If you just published a form and don't see the status change, use the Refresh button to bypass the cache and fetch live data.

Bulk Actions

Select multiple forms using the checkboxes to perform bulk operations: