Table Component Documentation
Waldur Homeport uses a unified table structure to display list data, grids, search queries, and custom filters.
To make table integration rules, properties, and layouts easier to navigate, the documentation is divided into 8 modular pillars:
Documentation Pillars
| Pillar | Description |
|---|---|
| Pillar 1: Getting Started | Core import rules, Null/Empty wrappers (renderFieldOrDash), and a basic example. |
| Pillar 2: Data Fetching & Type Safety | fetchData handlers, createFetcher (SDK functions), custom mock fetchers, createClientPaginatedFetcher (static lists), search query input (queryField), and type safety. |
| Pillar 3: Column Setup & Configuration | Column parameters (width, alignment, copying, ellipsis, click blocking), sorting, optional columns, and key fetching. |
| Pillar 4: Row Actions & Selection | 3-dots action menus (ActionsDropdown + ActionItem), row expansion (isRowExpandable), multi-select, and bulk toolbars. |
| Pillar 5: Filters & URL Sync | OpenAPI generated filters, Redux caching, syncing to URL query formatting (uuid::name), and cell inline filtering. |
| Pillar 6: Visual Customizations | Grid layouts (gridItem + gridSize + gridSpace), custom empty placeholders, header titles, styling class triggers, and standalone mode. |
| Pillar 7: Layout Wrappers & Portals | Rendering multiple tables within tabs (TableWithTabs) and forwarding rendering portals (portal). |
| Pillar 8: Form Integration | Embedding tables as input fields in react-final-form (fieldType, fieldName, rowValidate). |
Complex Table Example
Below is a complete, real-world example demonstrating how multiple advanced features (automatic titles, filters, subtabs, expandable rows, and optional columns) are combined:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | |