Report Builder Page
Component Detail
Description
Interactive page where administrators and coordinators build ad-hoc reports by selecting dimensions, metrics, filters, and grouping options. Provides a checkbox and drag-and-drop field selector with live preview of report structure before execution.
report-builder-page
Responsibilities
- Render available data fields organized by category for selection
- Provide filter configuration UI with multiple simultaneous conditions
- Allow grouping and sorting configuration by selected dimensions
- Display live report preview and execute report generation
- Manage saved report configuration loading and saving
Interfaces
renderFieldSelector(availableFields)
addFilter(field, operator, value)
removeFilter(filterId)
setGroupBy(fields)
setSortOrder(field, direction)
previewReport(specification)
executeReport(specification)
loadSavedConfig(configId)
saveConfig(name, specification)
shareConfig(configId, scope)
exportReport(format)
resetBuilder()
Relationships
Dependencies (2)
Components this component depends on
Sub-Components (3)
Panel listing all available data fields organized by category (activity, contact, expense, user, date) with checkboxes for inclusion in the report.
- Display categorized field list with search and filter
- Track selected fields and their order
- Support drag-and-drop reordering of selected fields
Dynamic filter configuration panel allowing users to add multiple filter conditions with field-specific operators (equals, contains, between, greater than) and value inputs.
- Render filter rows with field, operator, and value selectors
- Support adding and removing multiple filter conditions
- Validate filter values against field data types
Paginated data table displaying report results with column sorting, row grouping headers, and export controls for CSV and XLSX download.
- Render tabular report results with pagination
- Support column sorting and grouped row display
- Provide export buttons for CSV and XLSX formats