Add Building Elements table, ECM measures expansion, and Portfolio Summary Improvements - #83
Merged
Conversation
kflemin
commented
Aug 19, 2026
Contributor
- Building Elements table on inventory detail (properties only): fetches GET /api/v3/properties/{id}/elements/ and GET /api/v3/uniformat/, renders uniformat category/description/dates/condition index/replacement cost with dynamic extra_data columns and zebra striping; new PropertyElementService and UniformatService
- Scenarios & Measures: replaced flat ag-grid with mat-expansion-panel per scenario — each panel expands to show its ECM measures in a sub-grid (category, name, status, description); scenarios with no measures are hidden
- Portfolio Summary — Goal selector: replaced mat-select with inline-search pattern (trigger shows selected name; dropdown opens with full list + search input that filters in real-time)
- Portfolio Summary — Column filters: enabled agTextColumnFilter on text columns and agNumberColumnFilter on numeric columns; floatingFilter: true added to defaultColDef
- Portfolio Summary — Goal persistence: last-selected goal saved to OrganizationUserSettings.insights.portfolioSummary.goalId and restored on page load; falls back to first goal if saved goal no longer exists
- Zebra striping added to history, documents, building files, and building elements detail grids
…mmary improvements
Contributor
There was a problem hiding this comment.
Pull request overview
Adds new inventory/insights UI features to the Angular SEED frontend: a Property-only “Building Elements” ag-grid on inventory detail pages (backed by new v3 API services), improved scenario/measure display via expansion panels, and multiple Portfolio Summary usability upgrades (goal search, goal persistence, and grid filtering), plus zebra striping across several detail grids.
Changes:
- Inventory Detail: introduce Building Elements grid (Uniformat + property elements) and export/wire it into the property detail view.
- Inventory Detail: apply ag-grid zebra striping theme params across history/documents/building files/elements; update scenarios UI to expansion panels.
- Portfolio Summary: add searchable goal selector, persist last-selected goal in org user settings, and enable column/floating filters in ag-grid.
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/app/modules/inventory-detail/detail/index.ts | Re-exports the new Building Elements grid component. |
| src/app/modules/inventory-detail/detail/grid/scenarios-grid.component.html | Styles expansion panels for scenario display. |
| src/app/modules/inventory-detail/detail/grid/history-grid.component.ts | Applies odd-row background via ag-grid theme params. |
| src/app/modules/inventory-detail/detail/grid/documents-grid.component.ts | Applies odd-row background via ag-grid theme params. |
| src/app/modules/inventory-detail/detail/grid/building-files-grid.component.ts | Applies odd-row background via ag-grid theme params. |
| src/app/modules/inventory-detail/detail/grid/building-elements-grid.component.ts | New grid: loads elements + Uniformat, builds dynamic columns, renders ag-grid. |
| src/app/modules/inventory-detail/detail/grid/building-elements-grid.component.html | New grid template with loading state and ag-grid binding. |
| src/app/modules/inventory-detail/detail/detail.component.ts | Registers Building Elements grid as a standalone import. |
| src/app/modules/inventory-detail/detail/detail.component.html | Renders Building Elements section for properties only. |
| src/app/modules/insights/portfolio-summary/portfolio-summary.component.ts | Adds goal persistence to user settings, goal search state, and enables floating filters + text/number filters. |
| src/app/modules/insights/portfolio-summary/portfolio-summary.component.html | Implements searchable mat-select goal dropdown. |
| src/@seed/api/uniformat/uniformat.types.ts | New Uniformat lookup types. |
| src/@seed/api/uniformat/uniformat.service.ts | New service to fetch /api/v3/uniformat/ and normalize into a lookup map. |
| src/@seed/api/uniformat/index.ts | Barrel export for Uniformat API. |
| src/@seed/api/property-element/property-element.types.ts | New property element types used by Building Elements grid. |
| src/@seed/api/property-element/property-element.service.ts | New service to fetch property elements (/api/v3/properties/{id}/elements/). |
| src/@seed/api/property-element/index.ts | Barrel export for Property Element API. |
| src/@seed/api/organization/organization.types.ts | Extends Insights user settings to include portfolio summary goal persistence. |
| src/@seed/api/index.ts | Exposes new property-element and uniformat API modules from the API barrel. |
| public/i18n/fr_CA.json | Adds new translation keys used by recent UI changes (contains an empty value that needs fixing). |
| public/i18n/es.json | Adds new translation keys used by recent UI changes (contains an empty value that needs fixing). |
| public/i18n/en_US.json | Adds new translation keys used by recent UI changes. |
| .spelling.dic | Adds domain words for spell-checking (e.g., uniformat). |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-authored-by: kflemin <2205659+kflemin@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.