-
Notifications
You must be signed in to change notification settings - Fork 0
feat(ui): add dev toolbar, mailing list refactor, health metrics update #227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add dev-toolbar component with clear cache functionality - Move clear cache from sidebar to dev toolbar - Improve relative-due-date pipe with detailed date info - Temporarily disable core-developer persona option - UI adjustments to my-meetings, surveys-table, votes-table LFXV2-978 Signed-off-by: Asitha de Silva <[email protected]>
- Add FilterOption interface to shared package - Refactor MailingListDashboardComponent: move computed signals to init functions - Refactor MailingListViewComponent: move computed signals to init functions - Refactor MailingListManageComponent: move computed signals to init functions - Update ManageMemberModalComponent: use computed signal for isEditMode - Update MailingListMembersComponent: remove console.error calls - Update MailingListTableComponent: use FilterOption interface LFXV2-979 Signed-off-by: Asitha de Silva <[email protected]>
- Update ProjectHealthMetricsDailyRow interface with new schema columns - Add HealthMetricsAggregatedRow interface for foundation-level results - Update getHealthMetricsDaily with different queries based on entityType - Update transformHealthMetricsDaily to handle both data types - Remove experience label from dev toolbar LFXV2-980 Signed-off-by: Asitha de Silva <[email protected]>
|
Caution Review failedAn error occurred during the review process. Please try again later. WalkthroughThis PR introduces a new development toolbar component with persona selector and cache clearing functionality, refactors multiple mailing list dashboard components using Angular signals pattern, updates health metrics logic to support entity-type aware queries, migrates from ViewChild decorator to viewChild function in my-meetings, adds tracking IDs for meetings, removes tooltip dependencies from activity tables, and updates shared interfaces including FilterOption type and analytics data shapes. Changes
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Possibly related PRs
✨ Finishing touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR updates the health metrics analytics implementation to support different data shapes for foundation vs project-level queries, and includes UI improvements by consolidating dev tools into a new toolbar component.
Changes:
- Modified health metrics queries to use
PROJECT_HEALTH_METRICS_DAILYtable with conditional aggregation: foundation queries aggregateAVG(HEALTH_SCORE)grouped by date, while project queries return directHEALTH_SCOREvalues - Introduced
HealthMetricsAggregatedRowinterface for foundation-level results and updatedProjectHealthMetricsDailyRowwith new schema columns - Added dev toolbar component with persona selector and cache clearing functionality, removing these features from the sidebar
- Refactored multiple mailing list components to use initializer functions for better code organization
- Various minor improvements including updated due date formatting, ViewChild to viewChild migration, and cleanup of unused imports
Reviewed changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| packages/shared/src/interfaces/meeting.interface.ts | Added trackId field to MeetingWithOccurrence for unique tracking |
| packages/shared/src/interfaces/index.ts | Exported new filter.interface module |
| packages/shared/src/interfaces/filter.interface.ts | New generic FilterOption interface for dropdowns |
| packages/shared/src/interfaces/analytics-data.interface.ts | Updated health metrics interfaces with new schema and HealthMetricsAggregatedRow |
| packages/shared/src/constants/persona.constants.ts | Commented out core-developer persona option |
| apps/lfx-one/src/server/services/project.service.ts | Refactored health metrics query with conditional logic for foundation vs project |
| apps/lfx-one/src/app/shared/pipes/relative-due-date.pipe.ts | Enhanced date formatting with explicit day/week/month counts |
| apps/lfx-one/src/app/shared/components/sidebar/sidebar.component.* | Removed persona selector and clear cache features |
| apps/lfx-one/src/app/shared/components/select-button/select-button.component.ts | Changed default unselectable value to true |
| apps/lfx-one/src/app/modules/my-activity/components/-table/ | Removed tooltip module and usage for cleaner due date display |
| apps/lfx-one/src/app/modules/mailing-lists/**/*.ts | Refactored components with initializer functions and improved type usage |
| apps/lfx-one/src/app/modules/dashboards/components/recent-progress/recent-progress.component.ts | Updated health metrics transformation to handle both data types with dynamic tooltip labels |
| apps/lfx-one/src/app/modules/dashboards/components/my-meetings/my-meetings.component.* | Migrated to viewChild API and added trackId for meetings |
| apps/lfx-one/src/app/layouts/main-layout/main-layout.component.* | Integrated dev toolbar with conditional positioning |
| apps/lfx-one/src/app/layouts/dev-toolbar/dev-toolbar.component.* | New dev toolbar component with persona selector and cache management |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Changes
Dev Toolbar & UI Improvements (LFXV2-979)
Mailing List Components Refactor (LFXV2-978)
Health Metrics Query Update (LFXV2-980)
ProjectHealthMetricsDailyRowinterface with new schema columnsHealthMetricsAggregatedRowinterface for foundation-level aggregated resultsgetHealthMetricsDailywith conditional SQL queries:AVG(HEALTH_SCORE)grouped by dateHEALTH_SCOREtransformHealthMetricsDailyto handle both data types with dynamic tooltip labelsFiles Changed
🤖 Generated with Claude Code