Skip to content

Add Building Elements table, ECM measures expansion, and Portfolio Summary Improvements - #83

Merged
kflemin merged 5 commits into
mainfrom
inv-detail-data
Aug 19, 2026
Merged

Add Building Elements table, ECM measures expansion, and Portfolio Summary Improvements#83
kflemin merged 5 commits into
mainfrom
inv-detail-data

Conversation

@kflemin

@kflemin kflemin commented Aug 19, 2026

Copy link
Copy Markdown
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

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread src/app/modules/insights/portfolio-summary/portfolio-summary.component.html Outdated
Comment thread public/i18n/fr_CA.json Outdated
Comment thread public/i18n/es.json Outdated
Co-authored-by: kflemin <2205659+kflemin@users.noreply.github.com>
@kflemin
kflemin merged commit a1ea5cb into main Aug 19, 2026
2 checks passed
@kflemin
kflemin deleted the inv-detail-data branch August 19, 2026 04:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants