AccountFlow
The account provisioning flow: the accounts list, one account with its tabs, a new account, a new product on an account, and configuring that product alone or many products at once, one page at a time.
Master
Walk the accounts flow: open an account from its blue Account ID, switch to Account Products and add one with New account product, or press New for a new account and Submit it. Cancel and the trail go back. Start jumps straight to a page; Stage narrows the box the frame lives in.
Usage
Use AccountFlow for the screens people move between when they set up and look after accounts. It is a blueprint: each page is a kit pattern the screen builds, and the screen owns which one is showing, the records and what was just saved. list is a kit ListPage: a Toolbar with filters, search, the view picker and refresh, and a Table whose Account ID is a link Cell that opens the account, with Pagination under it; Table View is the default, and List View swaps the Table for a kit ListView of the same accounts whose rows open the account; the page's New and Export go in the AppShell's kit PageHeader, not in the Toolbar. account is a kit RecordPage: a PageHeader with the account name, its status Badge, Copy and the one strong brand Button; Tabs for Details, Contract, Contacts, Account Products (with a count), Account Packages, Revenue Contract and Account Docs; a Scoreboard of the account's numbers; and on Details, one full-width layout-stack of collapsible Sections: Account information is open; it, Billing profile, System information and Payments & aging put their FormDisplay labels at the start; Billing profile, Invoices, Account products, System information, Payments & aging, Shipping address and Quick links (a kit LinkList) follow, each closed at start; FormDisplay pairs sit in two columns; values that open another record are a kit Link. On Account Products the tab holds a Table of the account's products with Pagination, and the strong brand Button becomes New account product. newAccount is a kit FormPage: Cancel and Submit in the header, a Form with an id and collapsible sections of Inputs, Selects, Lookups, RadioGroups and Checkboxes, its labels at the start. newProduct is a kit FormPage for one product on the account: Product and Contract Lookups, Start and End DatePickers and a Rating method Select, with Cancel and Next. provisionProduct is a kit FormPage that configures the product picked on newProduct: numbered collapsible sections with FormDisplay for values that come from the product, and an Estimate Section with a Scoreboard after the Form; Provision is the one strong brand Button. bulkProducts is a kit FormPage for adding many products at once: a DataGrid of rows, an Add batch Drawer, and a Summary Section with a Scoreboard; Provision N of M is the one strong brand Button. Pass view, and the flow shows that page, starts it at its top and moves focus to its title so the change is heard. After a save, send people back to the account with a success Callout as the RecordPage notice. See contracts/accountflow.json for the full contract.
Do's
- Prototyping account screens that link together: find an account, open it, add an account or a product.
- Showing how a list, a record and its create forms hand over to each other.
- Adding products to an account: pick one and configure it, or add many at once in a grid.
Don'ts
- Do not put the list's New and Export in its Toolbar. Page actions go in the PageHeader; the Toolbar keeps filters, search, the view and refresh.
- Do not show the Account ID as plain text. It is a link Cell, so people can tell it opens the account.
- Do not use Inputs to show saved account values. Use FormDisplay.
- Do not build a second list, record or form layout inside it. Use ListPage, RecordPage and FormPage.
- Do not keep the view or the records in the pattern. The screen owns them.
- Do not put page padding on it. The AppShell page owns that; read contracts/layout.json.
- Do not put a second strong brand Button on provisionProduct or bulkProducts: Save draft and Validate stay subtle beside the one Provision.
<AccountFlow />