Skip to content

feat(analytics): reorganize dashboard components and fix card styling#34690

Open
oidacra wants to merge 2 commits intomainfrom
34307-analytics-imprivements2
Open

feat(analytics): reorganize dashboard components and fix card styling#34690
oidacra wants to merge 2 commits intomainfrom
34307-analytics-imprivements2

Conversation

@oidacra
Copy link
Member

@oidacra oidacra commented Feb 18, 2026

Summary

Refactors the analytics dashboard by reorganizing components into a domain-driven folder structure (reports/engagement, reports/conversions, reports/pageview, shared) and fixes several visual inconsistencies in card styling, typography, and engagement dialog copy.

Changes Made

Frontend

  • Folder restructure: Moved all analytics dashboard components from a flat components/ directory into domain-specific subfolders:
    • reports/engagement/ — engagement report and related components
    • reports/conversions/ — conversions report, content conversions table, and overview table
    • reports/pageview/ — pageview report and top pages table
    • shared/ — shared utilities, plugins, directives, chart, metric, filters, and state message components
  • Component renames for consistency (removed dashboard- prefix):
    • dot-analytics-dashboard-chartdot-analytics-chart
    • dot-analytics-dashboard-metricsdot-analytics-metric
    • dot-analytics-dashboard-*-reportdot-analytics-*-report
  • Card styling encapsulation: Moved border and border-radius overrides on .p-card from parent report SCSS into dot-analytics-chart and dot-analytics-platforms-table directly, so each component owns its visual appearance
  • Platforms table: dot-analytics-platforms-table now renders its own title internally instead of relying on the parent template
  • Engagement dialog copy: Updated the "How it's calculated" dialog to reflect the actual session classification rules (duration > 10s, 2+ pageview events, 1+ conversion event), replacing the previous incorrect criteria (scrolling/clicking)
  • Import path updates: Updated

@github-actions github-actions bot added Area : Backend PR changes Java/Maven backend code Area : Frontend PR changes Angular/TypeScript frontend code labels Feb 18, 2026
@oidacra oidacra changed the title 34307 analytics imprivements2 feat(analytics): reorganize dashboard components and fix card styling Feb 18, 2026
@oidacra oidacra force-pushed the 34307-analytics-imprivements2 branch from 5180638 to 846a30a Compare February 18, 2026 18:37
@oidacra oidacra marked this pull request as ready for review February 18, 2026 18:38
@nicobytes nicobytes requested a review from Copilot February 18, 2026 19:05
…reports

- Renamed components for clarity:  to ,  to , and similar for conversions and engagement reports.
- Removed the  component and its associated files, consolidating functionality into new report components.
- Introduced new  and  components for enhanced data display and management.
- Updated HTML templates and TypeScript files to reflect the new component structure and improve maintainability.
- Added comprehensive tests for new components to ensure functionality and reliability.

This refactor aims to streamline the analytics dashboard and improve code organization.
@oidacra oidacra force-pushed the 34307-analytics-imprivements2 branch from 846a30a to 88165d9 Compare February 18, 2026 19:06
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Refactors the dot-analytics dashboard frontend to a domain-driven folder structure (reports by domain + shared) while standardizing chart/metric/table card styling and updating engagement messaging/copy.

Changes:

  • Reorganized dashboard components into reports/{engagement,conversions,pageview} and shared/*, updating selectors and import paths accordingly.
  • Centralized/shared UI behavior improvements (tooltip config, gradient fill, line animation guard, count-up directive, state message component).
  • Updated engagement dialog copy and adjusted titles/headers so individual components own their card/title presentation.

Reviewed changes

Copilot reviewed 41 out of 61 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
dotCMS/src/main/webapp/WEB-INF/messages/Language.properties Adds/updates analytics i18n strings (engagement dialog + new titles).
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/utils/state-from-url.ts Adds URL → validated time range/query-param derivation helper.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/utils/dot-analytics.utils.ts Adds URL time-range validation + date-range validation + color helper.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/utils/dot-analytics.utils.spec.ts Unit tests for shared utils (date validation + hex/rgb→rgba).
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/types/index.ts Consolidates and re-exports shared dashboard types + chart color helper.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/plugins/tooltip-config.plugin.ts Introduces centralized Chart.js tooltip/transition config.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/plugins/line-draw-animation.plugin.ts Adds DOM-disconnect guard during animation updates.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/plugins/index.ts Barrel exports for shared chart plugins.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/plugins/gradient-fill.plugin.ts Adds a Chart.js plugin for gradient fill backgrounds.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/directives/index.ts Barrel export for shared directives.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/directives/count-up.directive.ts Adds a count-up directive for animated numeric/time values.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/constants/index.ts Barrel export for shared constants.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/constants/dot-analytics.constants.ts Adds shared dashboard constants (time period options, table config, columns).
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-state-message/dot-analytics-state-message.component.ts Improves component doc comment / clarifies intent.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-state-message/dot-analytics-state-message.component.spec.ts Adds unit tests for state-message component behavior.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-state-message/dot-analytics-state-message.component.scss Adds styling for state-message component.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-sparkline/dot-analytics-sparkline.component.ts Adjusts sparkline sizing to use a host CSS variable and 100% chart height.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-sparkline/dot-analytics-sparkline.component.spec.ts Updates sparkline default-height expectation after sizing change.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-metric/dot-analytics-metric.component.ts Renames metric component + adds optional title above card; wires count-up directive.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-metric/dot-analytics-metric.component.spec.ts Updates/extends metric tests for new selector/title/projection behavior.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-metric/dot-analytics-metric.component.scss Encapsulates card border/radius and adds title styling.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-metric/dot-analytics-metric.component.html New metric template with title outside card, state handling, and projection rules.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-filters/dot-analytics-filters.component.ts Renames filters component + clarifies input/output documentation.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-filters/dot-analytics-filters.component.spec.ts Updates filters tests for renamed component.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-filters/dot-analytics-filters.component.scss (Renamed/relocated) styles for filters component.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-filters/dot-analytics-filters.component.html Updates filters template under new component name.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-chart/dot-analytics-chart.component.ts Renames chart component + moves title rendering outside card (with dm pipe inside).
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-chart/dot-analytics-chart.component.spec.ts Updates chart tests for renamed component and new “optional title” behavior.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-chart/dot-analytics-chart.component.scss Encapsulates p-card border/radius and updates layout to flex-column.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/shared/components/dot-analytics-chart/dot-analytics-chart.component.html Moves title to external <h3> and simplifies card header logic.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/pageview/dot-analytics-top-pages-table/dot-analytics-top-pages-table.component.ts Renames top pages table component + updates imports to shared constants/types.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/pageview/dot-analytics-top-pages-table/dot-analytics-top-pages-table.component.spec.ts Updates tests for renamed top pages table component.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/pageview/dot-analytics-top-pages-table/dot-analytics-top-pages-table.component.scss Adds styling for top pages table layout/virtual scroll.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/pageview/dot-analytics-top-pages-table/dot-analytics-top-pages-table.component.html Removes internal card header (title handled by parent report).
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/pageview/dot-analytics-pageview-report/dot-analytics-pageview-report.component.ts Renames pageview report, updates imports/selectors, and adds host layout classes.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/pageview/dot-analytics-pageview-report/dot-analytics-pageview-report.component.scss Removes card border overrides from report and adjusts wrappers.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/pageview/dot-analytics-pageview-report/dot-analytics-pageview-report.component.html Updates to new selectors and renders table title in the report.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/engagement/dot-analytics-platforms-table/dot-analytics-platforms-table.component.ts Adds totalSessions input and refines computed field comments.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/engagement/dot-analytics-platforms-table/dot-analytics-platforms-table.component.spec.ts Adds unit tests for platforms table behavior/loading/data derivation.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/engagement/dot-analytics-platforms-table/dot-analytics-platforms-table.component.scss Encapsulates card border/radius and adds a title style.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/engagement/dot-analytics-platforms-table/dot-analytics-platforms-table.component.html Adds internal title + shows views as views/totalSessions.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/engagement/dot-analytics-engagement-report/dot-analytics-engagement-report.component.ts Renames engagement report, adds derived signals incl. computed total sessions.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/engagement/dot-analytics-engagement-report/dot-analytics-engagement-report.component.spec.ts Updates engagement report tests for renamed components and deferred layout.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/engagement/dot-analytics-engagement-report/dot-analytics-engagement-report.component.scss Keeps platform progressbar styling after moving card border styles into components.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/engagement/dot-analytics-engagement-report/dot-analytics-engagement-report.component.html Refactors engagement layout, uses titleAction slot, updates dialog content structure.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-conversions-report/dot-analytics-conversions-report.component.ts Renames conversions report and updates imports/selectors; adds host layout classes.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-conversions-report/dot-analytics-conversions-report.component.scss Removes report-level card border overrides and adds shared title style.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-conversions-report/dot-analytics-conversions-report.component.html Updates to new selectors and renders table titles at the report level.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-conversions-overview-table/dot-analytics-conversions-overview-table.component.ts Updates imports and documents computed state signals.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-conversions-overview-table/dot-analytics-conversions-overview-table.component.spec.ts Adds unit tests for conversions overview table state rendering/data display.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-conversions-overview-table/dot-analytics-conversions-overview-table.component.scss Adds detailed table/badge styling for conversions overview.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-conversions-overview-table/dot-analytics-conversions-overview-table.component.html Removes internal card header (title handled by report).
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-content-conversions-table/dot-analytics-content-conversions-table.component.ts Updates imports and documents computed state signals.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-content-conversions-table/dot-analytics-content-conversions-table.component.spec.ts Adds unit tests for content conversions table state rendering/data display.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-content-conversions-table/dot-analytics-content-conversions-table.component.scss Adds table styling + event-type badge styling + filter overlay styling.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/conversions/dot-analytics-content-conversions-table/dot-analytics-content-conversions-table.component.html Removes internal card header (title handled by report).
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/dot-analytics-dashboard.component.ts Updates imports to new report/shared component locations and adds class-level docs.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/dot-analytics-dashboard.component.html Updates selectors for renamed filters and report components.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/components/dot-analytics-dashboard-metrics/dot-analytics-dashboard-metrics.component.html Removes legacy metrics template after migration to shared metric component.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/components/dot-analytics-dashboard-engagement-report/dot-analytics-dashboard-engagement-report.component.scss Removes legacy engagement report styling after refactor.
core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/components/dot-analytics-dashboard-engagement-report/dot-analytics-dashboard-engagement-report.component.html Removes legacy engagement report template after refactor.
Comments suppressed due to low confidence (1)

core-web/libs/portlets/dot-analytics/portlet/src/lib/dot-analytics-dashboard/reports/engagement/dot-analytics-platforms-table/dot-analytics-platforms-table.component.html:9

  • The platforms table title is using the message key analytics.engagement.table.top-pages.title, but this component is not a "top pages" table (and analytics.engagement.platforms.title was added in Language.properties). Consider switching to analytics.engagement.platforms.title to avoid confusing/duplicated i18n keys.

@erickgonzalez erickgonzalez linked an issue Feb 19, 2026 that may be closed by this pull request
20 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area : Backend PR changes Java/Maven backend code Area : Frontend PR changes Angular/TypeScript frontend code

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

[FEATURE] Engagement Dashboard with KPIs, Trends, and Platform Analytics

1 participant

Comments