feat(analytics): Enhance timeline charts and add table filtering#34245
Merged
feat(analytics): Enhance timeline charts and add table filtering#34245
Conversation
…for conversions and page views
Contributor
There was a problem hiding this comment.
Pull request overview
This PR enhances the analytics dashboard with improved timeline chart data visualization and table filtering capabilities. The changes focus on fixing missing data points in charts (displaying zeros as visible dots instead of gaps) and adding comprehensive filtering functionality to the Content Conversions Table.
Changes:
- Refactored date gap filling logic into a generic factory pattern with type-safe entity factories
- Updated Traffic vs Conversions chart to show absolute conversion counts instead of conversion rate percentage
- Added event type and title filtering to Content Conversions Table with styled badges
- Updated styling for analytics components including metrics display and event type badges
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
Language.properties |
Added search placeholder translation for table filtering |
dot-analytics-dashboard-metrics.component.scss |
Adjusted spacing and font styling for metrics display |
dot-analytics-dashboard-chart.component.ts |
Disabled y1 axis display for combo charts |
dot-analytics-conversions-overview-table.component.ts |
Removed unused imports (ChipModule, TooltipModule) |
dot-analytics-conversions-overview-table.component.scss |
Replaced chip styles with event type badge styles |
dot-analytics-conversions-overview-table.component.html |
Changed from p-chip to p-tag for event type display |
dot-analytics-content-conversions-table.component.ts |
Added linkedSignal for dynamic event type filter options |
dot-analytics-content-conversions-table.component.scss |
Added filter menu and event type badge styling |
dot-analytics-content-conversions-table.component.html |
Added p-columnFilter components for event type and title filtering |
analytics-data.utils.ts |
Implemented generic fillMissingDates with factory pattern and entity factories |
analytics-data.utils.spec.ts |
Added 142 lines of unit tests for date filling and factory functions |
with-pageview.feature.ts |
Updated fillMissingDates call to include factory parameter |
with-conversions.feature.ts |
Updated fillMissingDates calls for both conversion trend and traffic data |
adrianjm-dotCMS
approved these changes
Jan 14, 2026
…d refactor chart colors and timeline entity creation.
nicobytes
approved these changes
Jan 14, 2026
dsolistorres
pushed a commit
that referenced
this pull request
Feb 20, 2026
) ## Summary Enhances analytics dashboard with improved timeline chart data visualization and table filtering capabilities for conversion tracking. ## Changes Made ### Data Visualization - **Fixed missing data points in timeline charts** (`analytics-data.utils.ts`) - Implemented generic `fillMissingDates` function with factory pattern - Added entity factories: `createEmptyPageViewEntity`, `createEmptyConversionTrendEntity`, `createEmptyTrafficVsConversionsEntity` - Zero values now display as visible green dots instead of gaps in charts - Applied to Conversion Trend, Traffic vs Conversions, and Page View charts - **Updated Traffic vs Conversions chart** - Changed from "conversion rate %" to absolute "conversions" count for clearer comparison ### Table Filtering - **Content Conversions Table** (`dot-analytics-content-conversions-table.component.*`) - Added event type multi-select filter with badges - Added title/content text search filter - Implemented dynamic filter options based on actual data ### Testing - Added 142 lines of unit tests for date gap filling logic - Comprehensive coverage for all entity types and edge cases ## Technical Details Refactored date gap filling to use a generic factory pattern, eliminating code duplication: ```typescript fillMissingDates<T extends TimelineEntity>( data: T[], timeRange: TimeRangeInput, granularity: Granularity, createEmptyEntity: EmptyEntityFactory<T> ): T[] ``` Charts now distinguish between "no data" (gaps) and "zero values" (visible points) using conditional styling. ## Breaking Changes None ## Testing - Unit tests added (date filling, factories, entity structures) - Integration tests verified (store features) - Manual testing performed (charts, filters, UI) ## Related Issues Fixes #33846
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.
Summary
Enhances analytics dashboard with improved timeline chart data visualization and table filtering capabilities for conversion tracking.
Changes Made
Data Visualization
Fixed missing data points in timeline charts (
analytics-data.utils.ts)fillMissingDatesfunction with factory patterncreateEmptyPageViewEntity,createEmptyConversionTrendEntity,createEmptyTrafficVsConversionsEntityUpdated Traffic vs Conversions chart
Table Filtering
dot-analytics-content-conversions-table.component.*)Testing
Technical Details
Refactored date gap filling to use a generic factory pattern, eliminating code duplication:
Charts now distinguish between "no data" (gaps) and "zero values" (visible points) using conditional styling.
Breaking Changes
None
Testing
Related Issues
Fixes #33846
This PR fixes: #33846