Repository navigation
fix(campaigns): render the Email Messages tables with the native CDK table - #821
CaptainAni187 wants to merge 1 commit into
Conversation
…table The four tables used the element form of the CDK table, which the shared table styles do not target, so their headers ran together as one line. Switch them, and the Survey Responses table, to table/tr/th/td. Add the shared empty row, translate the ID, Status and Actions headers, give the delete button an aria-label, and give the route a title. Closes apache#744
E2E — mocked backend🎭 E2E Tests✅ All green — 427 passed · 0 failed · 1 skipped, across 40 spec files in 12m 23s. By spec file
All 428 tests — click to expand
Slowest 10 — what the shard counts should be tuned against
📼 Download the HTML report, videos and traces — see the Generated by run 39360836904 from |
E2E — real Fineract🎭 E2E Tests✅ All green — 171 passed · 0 failed · 0 skipped, across 50 spec files in 17m 10s. By spec file
All 171 tests — click to expand
Slowest 10 — what the shard counts should be tuned against
📼 Download the HTML report, videos and traces — see the Generated by run 39360836904 from |
🔄 What this change talks toFrom the 3 application TypeScript file(s) changed in this pull request. sequenceDiagram
autonumber
participant EmailMessagesComponent as EmailMessagesComponent (Component)
participant DefaultService as DefaultService (API client)
participant Fineract as Fineract (REST API)
participant NotificationService as NotificationService (Injected)
participant SurveyResponsesComponent as SurveyResponsesComponent (Component)
participant SurveyService as SurveyService (API client)
EmailMessagesComponent->>DefaultService: getEmail()
DefaultService->>Fineract: getEmail()
Fineract-->>DefaultService: response
EmailMessagesComponent->>DefaultService: getEmailPendingEmail()
DefaultService->>Fineract: getEmailPendingEmail()
Fineract-->>DefaultService: response
EmailMessagesComponent->>DefaultService: getEmailSentEmail()
DefaultService->>Fineract: getEmailSentEmail()
Fineract-->>DefaultService: response
EmailMessagesComponent->>DefaultService: getEmailFailedEmail()
DefaultService->>Fineract: getEmailFailedEmail()
Fineract-->>DefaultService: response
EmailMessagesComponent->>DefaultService: getEmailConfiguration()
DefaultService->>Fineract: getEmailConfiguration()
Fineract-->>DefaultService: response
EmailMessagesComponent->>DefaultService: postEmail()
DefaultService->>Fineract: postEmail()
Fineract-->>DefaultService: response
EmailMessagesComponent->>NotificationService: success()
EmailMessagesComponent->>DefaultService: deleteEmailResourceId()
DefaultService->>Fineract: deleteEmailResourceId()
Fineract-->>DefaultService: response
EmailMessagesComponent->>NotificationService: error()
EmailMessagesComponent->>DefaultService: putEmailConfiguration()
DefaultService->>Fineract: putEmailConfiguration()
Fineract-->>DefaultService: response
SurveyResponsesComponent->>SurveyService: getSurvey()
SurveyService->>Fineract: getSurvey()
Fineract-->>SurveyService: response
SurveyResponsesComponent->>SurveyService: getSurveySurveyNameClientId()
SurveyService->>Fineract: getSurveySurveyNameClientId()
Fineract-->>SurveyService: response
SurveyResponsesComponent->>SurveyService: deleteSurveySurveyNameClientIdFulfilledId()
SurveyService->>Fineract: deleteSurveySurveyNameClientIdFulfilledId()
Fineract-->>SurveyService: response
SurveyResponsesComponent->>NotificationService: success()
SurveyResponsesComponent->>NotificationService: error()
SurveyResponsesComponent->>SurveyService: postSurveySurveyNameApptableId()
SurveyService->>Fineract: postSurveySurveyNameApptableId()
Fineract-->>SurveyService: response
Generated by run 39360836908 from |
What and why
The four tables on Campaigns → Email Messages used the element form of the CDK table (
<cdk-table>,<cdk-header-cell>, ...), and the shared styles in_common.scssonly targettable[cdk-table], so the headers ran together asIDToSubjectStatusActions. This switches them to<table cdk-table>with<tr>/<th>/<td>, the same as the other lists, and does the same for the Survey Responses table, which had the same markup.Also from the issue: each table gets the shared "No records found." row (
*cdkNoDataRow, same asapp-data-table), the ID/Status/Actions headers use theCOMMONkeys, the delete button gets anaria-label, and theemail-messagesroute getstitle: 'EMAIL_MESSAGES.TITLE'.Closes #744
Verification
email-messages.component.test.ts: all four tabs render a native table with a header row and the empty row, the headers are looked up through the translation keys, the delete button has anaria-label, and the route has a title. They fail on main.npm run test:unitpasses, eslint and prettier are clean.e2e/breadcrumb.spec.ts), screenshots below.Screenshots
Before:
After:
AI assistance (optional)
Checklist
src/app/api/.src/app/core/adapters/instead of direct browser globals or imperative third-party APIs.