To update the code base with the lates React features and standards it is better to refactor the remaining class-based components into functional ones.
It will allow to utilize hooks and reduce the amount of code needed to use with redux (removing mapStateToProps and mapDispatchToProps)
Out of score: Refactoring into TypeScript, refactoring unit tests into RTL
Spreadsheet with all components: https://docs.google.com/spreadsheets/d/14JEFiUDW5ejc2hv2RCXdCvCobiuEy38TV9mHto8upgI/edit#gid=0
Component name | Component path | Subtask | MR |
ErrorBoundary.tsx | src/components/App | ||
ArchivedClusterList.jsx | src/components/clusters/ArchivedClusterList | ||
NetworkSelfServiceSection.jsx | src/components/clusters/ClusterDetails/components/AccessControl/NetworkSelfServiceSection | ||
AddGrantModal.jsx | src/components/clusters/ClusterDetails/components/AccessControl/NetworkSelfServiceSection/AddGrantModal/AddGrantModal.jsx | ||
AddUserDialog.jsx | src/components/clusters/ClusterDetails/components/AccessControl/UsersSection/AddUserDialog.jsx | ||
UserSection.jsx | src/components/clusters/ClusterDetails/components/AccessControl/UsersSection/UsersSection.jsx | ||
AddOns.jsx | src/components/clusters/ClusterDetails/components/AddOns/AddOns.jsx | ||
AddOnsCard.jsx | src/components/clusters/ClusterDetails/components/AddOns/AddOnsCard/AddOnsCard.jsx | ||
AddOnsDeleteModal.jsx | src/components/clusters/ClusterDetails/components/AddOns/AddOnsDeleteModal/AddOnsDeleteModal.jsx | ||
AddOnsDrawer.jsx | src/components/clusters/ClusterDetails/components/AddOns/AddOnsDrawer/AddOnsDrawer.jsx | ||
AddOnsParametersModal.jsx | src/components/clusters/ClusterDetails/components/AddOns/AddOnsParametersModal/AddOnsParametersModal.jsx | ||
DeleteIDPDialog.jsx | src/components/clusters/ClusterDetails/components/DeleteIDPDialog/DeleteIDPDialog.jsx | ||
IDPForm.jsx | src/components/clusters/ClusterDetails/components/IdentityProvidersPage/components/IDPForm.jsx | ||
GithubForm.jsx | src/components/clusters/ClusterDetails/components/IdentityProvidersPage/components/ProvidersForms/GithubForm.jsx | ||
LDAPForm.jsx | src/components/clusters/ClusterDetails/components/IdentityProvidersPage/components/ProvidersForms/LDAPForm.jsx | ||
LDAPFormRequired.jsx | src/components/clusters/ClusterDetails/components/IdentityProvidersPage/components/ProvidersForms/LDAPFormRequired.jsx | ||
OpenIDFormRequired.jsx | src/components/clusters/ClusterDetails/components/IdentityProvidersPage/components/ProvidersForms/OpenIDFormRequired.jsx | ||
MachinePools.jsx | src/components/clusters/ClusterDetails/components/MachinePools/MachinePools.jsx | ||
Monitoring.jsx | src/components/clusters/ClusterDetails/components/Monitoring/Monitoring.jsx | ||
MonitoringList.jsx | src/components/clusters/ClusterDetails/components/Monitoring/components/MonitoringList.jsx | ||
Networking.jsx | src/components/clusters/ClusterDetails/components/Networking/Networking.jsx | ||
ClusterIngressCard.jsx | src/components/clusters/ClusterDetails/components/Networking/components/ClusterIngressCard/ClusterIngressCard.jsx | ||
EditClusterIngressDialog.jsx | src/components/clusters/ClusterDetails/components/Networking/components/EditClusterIngressDialog/EditClusterIngressDialog.jsx | ||
Overview.jsx | src/components/clusters/ClusterDetails/components/Overview/Overview.jsx | ||
ClusterVersionInfo.jsx | src/components/clusters/ClusterDetails/components/Overview/ClusterVersionInfo/ClusterVersionInfo.jsx | ||
CostBreakdownCard.jsx | src/components/clusters/ClusterDetails/components/Overview/CostBreakdownCard/CostBreakdownCard.jsx | ||
CostBreakdownSummary.jsx | src/components/clusters/ClusterDetails/components/Overview/CostBreakdownCard/CostBreakdownSummary.jsx | ||
InstallationLogView.jsx | src/components/clusters/ClusterDetails/components/Overview/InstallationLogView/InstallationLogView.jsx | ||
SupportStatusLabel.jsx | src/components/clusters/ClusterDetails/components/Overview/SupportStatusLabel/SupportStatusLabel.jsx | ||
AddNotificationContactDialog.jsx | src/components/clusters/ClusterDetails/components/Support/components/AddNotificationContactDialog/AddNotificationContactDialog.jsx | ||
NotificationContactsCard.jsx | src/components/clusters/ClusterDetails/components/Support/components/NotificationContactsSection/NotificationContactsCard.jsx | ||
SupportCasesCard.jsx | src/components/clusters/ClusterDetails/components/Support/components/SupportCasesSection/SupportCasesCard.jsx | ||
UpgradeSettingsTab.jsx | src/components/clusters/ClusterDetails/components/UpgradeSettings/UpgradeSettingsTab.jsx | ||
ClusterList.jsx | src/components/clusters/ClusterList/ClusterList.jsx | ||
ArchiveClusterDialog.jsx | src/components/clusters/common/ArchiveClusterDialog/ArchiveClusterDialog.jsx | ||
ClusterActionsDropdown.jsx | src/components/clusters/common/ClusterActionsDropdown/ClusterActionsDropdown.jsx | ||
DeleteClusterDialog.jsx | src/components/clusters/common/DeleteClusterDialog/DeleteClusterDialog.jsx | ||
EditConsoleURLDialog.jsx | src/components/clusters/common/EditConsoleURLDialog/EditConsoleURLDialog.jsx | ||
EditDisplayNameDialog.jsx | src/components/clusters/common/EditDisplayNameDialog/EditDisplayNameDialog.jsx | ||
EditSubscriptionSettingsDialog.jsx | src/components/clusters/common/EditSubscriptionSettingsDialog/EditSubscriptionSettingsDialog.jsx | ||
EditSubscriptionSettingsFields.jsx | src/components/clusters/common/EditSubscriptionSettingsDialog/EditSubscriptionSettingsFields.jsx | ||
EditSubscriptionSettingsRequestState.jsx | src/components/clusters/common/EditSubscriptionSettingsDialog/EditSubscriptionSettingsRequestState.jsx | ||
HibernateClusterModal.jsx | src/components/clusters/common/HibernateClusterModal/HibernateClusterModal.jsx | ||
LoadBalancersDropdown.jsx | src/components/clusters/common/LoadBalancersDropdown/LoadBalancersDropdown.jsx | ||
NodeCountInput.jsx | src/components/clusters/common/NodeCountInput/NodeCountInput.jsx | ||
PersistentStorageDropdown.jsx | src/components/clusters/common/PersistentStorageDropdown/PersistentStorageDropdown.jsx | ||
ResumeClusterModal.jsx | src/components/clusters/common/ResumeClusterModal/ResumeClusterModal.jsx | ||
ScaleClusterDialog.jsx | src/components/clusters/common/ScaleClusterDialog/ScaleClusterDialog.jsx | ||
AutoScaleSection.jsx | src/components/clusters/common/ScaleSection/AutoScaleSection/AutoScaleSection.jsx | ||
TransferClusterOwnershipDialog.jsx | src/components/clusters/common/TransferClusterOwnershipDialog/TransferClusterOwnershipDialog.jsx | ||
UnarchiveClusterDialog.jsx | src/components/clusters/common/UnarchiveClusterDialog/UnarchiveClusterDialog.jsx | ||
UninstallProgress.jsx | src/components/clusters/common/UninstallProgress/UninstallProgress.jsx | ||
PodDistruptionBudgetGraceSelect.jsx | src/components/clusters/common/Upgrades/PodDistruptionBudgetGraceSelect.jsx | ||
UpgradeScheduleSelection.jsx | src/components/clusters/common/Upgrades/UpgradeScheduleSelection.jsx | ||
CancelUpgradeModal.jsx | src/components/clusters/common/Upgrades/CancelUpgradeModal/CancelUpgradeModal.jsx | ||
UpgradeTimeSelection.jsx | src/components/clusters/common/Upgrades/UpgradeWizard/UpgradeTimeSelection.jsx | ||
UpgradeWizard.jsx | src/components/clusters/common/Upgrades/UpgradeWizard/UpgradeWizard.jsx | ||
VersionSelectionGrid.jsx | src/components/clusters/common/Upgrades/UpgradeWizard/VersionSelectionGrid/VersionSelectionGrid.jsx | ||
UpgradeTrialClusterDialog.jsx | src/components/clusters/common/UpgradeTrialClusterDialog/UpgradeTrialClusterDialog.jsx | ||
ExternalRedirect.jsx | src/components/clusters/InsightsAdvisorRedirector/ExternalRedirect.jsx | ||
InstallAlibaba.jsx | src/components/clusters/install/InstallAlibaba.jsx | ||
InstallArmAWSIPI.jsx | src/components/clusters/install/InstallArmAWSIPI.jsx | ||
InstallARMAWSUPI.jsx | src/components/clusters/install/InstallArmAWSUPI.jsx | ||
InstallArmAzureIPI.jsx | src/components/clusters/install/InstallArmAzureIPI.jsx | ||
InstallArmBareMetalIPI.jsx | src/components/clusters/install/InstallArmBareMetalIPI.jsx | ||
InstallArmBareMetalUPI.jsx | src/components/clusters/install/InstallArmBareMetalUPI.jsx | ||
InstallArmPreRElease.jsx | src/components/clusters/install/InstallArmPreRelease.jsx | ||
InstallASHIPI.jsx | src/components/clusters/install/InstallASHIPI.jsx | ||
InstallASHUPI.jsx | src/components/clusters/install/InstallASHUPI.jsx | ||
InstallAWSIPI.jsx | src/components/clusters/install/InstallAWSIPI.jsx | ||
InstallAWSUPI.jsx | src/components/clusters/install/InstallAWSUPI.jsx | ||
InstallAzureIPI.jsx | src/components/clusters/install/InstallAzureIPI.jsx | ||
InstallAzureUPI.jsx | src/components/clusters/install/InstallAzureUPI.jsx | ||
InstallBareMetalABI.jsx | src/components/clusters/install/InstallBareMetalABI.jsx | ||
InstallBareMetalIPI.jsx | src/components/clusters/install/InstallBareMetalIPI.jsx | ||
InstallBareMetalUPI.jsx | src/components/clusters/install/InstallBareMetalUPI.jsx | ||
InstallGCPIPI.jsx | src/components/clusters/install/InstallGCPIPI.jsx | ||
InstallGCPUPI.jsx | src/components/clusters/install/InstallGCPUPI.jsx | ||
InstallBMCloud.jsx | src/components/clusters/install/InstallIBMCloud.jsx | ||
InstallBMZPreRelease.jsx | src/components/clusters/install/InstallIBMZPreRelease.jsx | ||
InstallBMZUPI.jsx | src/components/clusters/install/InstallIBMZUPI.jsx | ||
InstallMultiAWSIPI.jsx | src/components/clusters/install/InstallMultiAWSIPI.jsx | ||
InstallMultiAzureIPI.jsx | src/components/clusters/install/InstallMultiAzureIPI.jsx | ||
InstallMultiBareMetalUPI.jsx | src/components/clusters/install/InstallMultiBareMetalUPI.jsx | ||
InstallMultiPreRelease.jsx | src/components/clusters/install/InstallMultiPreRelease.jsx | ||
InstallNutanixIPI.jsx | src/components/clusters/install/InstallNutanixIPI.jsx | ||
InstallOSIPI.jsx | src/components/clusters/install/InstallOSPIPI.jsx | ||
InstallOSUPI.jsx | src/components/clusters/install/InstallOSPUPI.jsx | ||
InstallPlatformAgnosticABI.jsx | src/components/clusters/install/InstallPlatformAgnosticABI.jsx | ||
InstallPlatformAgnosticUPI.jsx | src/components/clusters/install/InstallPlatformAgnosticUPI.jsx | ||
InstallPowerPreRelease.jsx | src/components/clusters/install/InstallPowerPreRelease.jsx | ||
InstallPowerUPI.jsx | src/components/clusters/install/InstallPowerUPI.jsx | ||
InstallPowerVirtualServerIPI.jsx | src/components/clusters/install/InstallPowerVirtualServerIPI.jsx | ||
InstallPreRelease.jsx | src/components/clusters/install/InstallPreRelease.jsx | ||
InstallPullSecret.jsx | src/components/clusters/install/InstallPullSecret.jsx | ||
InstallPullSecretAzure.jsx | src/components/clusters/install/InstallPullSecretAzure.jsx | ||
InstallVSphereABI.jsx | src/components/clusters/install/InstallVSphereABI.jsx | ||
InstallVSphereIPI.jsx | src/components/clusters/install/InstallVSphereIPI.jsx | ||
InstallVSphereUPI.jsx | src/components/clusters/install/InstallVSphereUPI.jsx | ||
TokenErrorAlers.jsx | src/components/clusters/install/instructions/components/TokenErrorAlert.jsx | ||
DownloadAndOSSelection.jsx | src/components/clusters/install/instructions/components/DownloadAndOSSelection/DownloadAndOSSelection.jsx | ||
RHCOSDownloadAndSelect.jsx | src/components/clusters/install/instructions/components/RHCOSSection/RHCOSDownloadAndSelect.jsx | ||
RegisterCluster.jsx | src/components/clusters/RegisterCluster/RegisterCluster.jsx | ||
KMSKeyLocationComboBox.jsx | src/components/clusters/wizards/common/EncryptionSection/KMSKeyLocationComboBox/KMSKeyLocationComboBox.jsx | ||
KMSKeySelect.jsx | src/components/clusters/wizards/common/EncryptionSection/KMSKeySelect/KMSKeySelect.jsx | ||
AvailabilityZoneSelection.jsx | src/components/clusters/wizards/common/NetworkingSection/AvailabilityZoneSelection.jsx | ||
CreateROSAWizard.jsx | src/components/clusters/wizards/rosa_v1/CreateROSAWizard.jsx | ||
CloudRegionComboBox.jsx | src/components/clusters/wizards/rosa_v1/ClusterSettingsScreen/BasicFieldsSection/CloudRegionComboBox/CloudRegionComboBox.jsx | ||
CreateROSAWizard.jsx V2 | src/components/clusters/wizards/rosa_v2/CreateROSAWizard.jsx | ||
CloudRegionComboBox.jsx V2 | src/components/clusters/wizards/rosa_v2/ClusterSettingsScreen/BasicFieldsSection/CloudRegionComboBox/CloudRegionComboBox.jsx | ||
DynamicSelect.tsx | src/components/common/DynamicSelect.tsx | ||
RadioButtons.jsx | src/components/common/ReduxFormComponents/RadioButtons.jsx | ||
ReduxFileUpload.jsx | src/components/common/ReduxFormComponents/ReduxFileUpload.jsx | ||
ReduxFormDropdown.jsx | src/components/common/ReduxFormComponents/ReduxFormDropdown.jsx | ||
ReduxFormRadioGroup.jsx | src/components/common/ReduxFormComponents/ReduxFormRadioGroup.jsx | ||
ReduxFormRadioToggle.jsx | src/components/common/ReduxFormComponents/ReduxFormRadioToggle.jsx | ||
Dashboard.jsx | src/components/dashboard/Dashboard.jsx | ||
ClustersWithIssuesTableCard.jsx | src/components/dashboard/ClustersWithIssuesTableCard/ClustersWithIssuesTableCard.jsx | ||
CostCard.jsx | src/components/dashboard/CostCard/CostCard.jsx | ||
CostSummary.jsx | src/components/dashboard/CostCard/CostSummary.jsx | ||
ExpiredTrialsCard.jsx | src/components/dashboard/ExpiredTrialsCard/ExpiredTrialsCard.jsx | ||
CopyPullSecret.jsx | src/components/downloads/CopyPullSecret.jsx | ||
chrome-main.tsx | src/chrome-main.tsx | ||
testUtils.test.tsx | src/testUtils.test.tsx |
1.
|
Access Control components |
|
To Do | |
Unassigned |
2.
|
AddOns components |
|
To Do | |
Unassigned |
3.
|
IDP Components |
|
To Do | |
Unassigned |
4.
|
Monitoring components |
|
To Do | |
Unassigned |
5.
|
Networking components |
|
To Do | |
Unassigned |
6.
|
Overview components |
|
To Do | |
Unassigned |
7.
|
Support components |
|
To Do | |
Unassigned |
8.
|
Edit components |
|
To Do | |
Unassigned |
9.
|
Upgrades components |
|
To Do | |
Unassigned |
10.
|
Install components |
|
To Do | |
David Aznaurov |
11.
|
Wizards components |
|
To Do | |
Unassigned |
12.
|
ReduxForm components |
|
To Do | |
Unassigned |
13.
|
Clusters remaining components - batch 1 |
|
To Do | |
Unassigned |
14.
|
Clusters remaining components - Batch 2 |
|
To Do | |
Unassigned |
15.
|
Remaining components |
|
To Do | |
Unassigned |