Uploaded image for project: 'OCMUI - OpenShift Cluster Manager UI'
  1. OCMUI - OpenShift Cluster Manager UI
  2. OCMUI-1556

Replace class-based React components with functional ones

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Normal Normal
    • None
    • None
    • A-Team
    • 13
    • False
    • Hide

      None

      Show
      None
    • False

      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 Sub-task To Do Normal Unassigned
        2.
        AddOns components Sub-task To Do Normal Unassigned
        3.
        IDP Components Sub-task To Do Normal Unassigned
        4.
        Monitoring components Sub-task To Do Normal Unassigned
        5.
        Networking components Sub-task To Do Normal Unassigned
        6.
        Overview components Sub-task To Do Normal Unassigned
        7.
        Support components Sub-task To Do Normal Unassigned
        8.
        Edit components Sub-task To Do Normal Unassigned
        9.
        Upgrades components Sub-task To Do Normal Unassigned
        10.
        Install components Sub-task To Do Normal David Aznaurov
        11.
        Wizards components Sub-task To Do Normal Unassigned
        12.
        ReduxForm components Sub-task To Do Normal Unassigned
        13.
        Clusters remaining components - batch 1 Sub-task To Do Normal Unassigned
        14.
        Clusters remaining components - Batch 2 Sub-task To Do Normal Unassigned
        15.
        Remaining components Sub-task To Do Normal Unassigned

            rh-ee-daznauro David Aznaurov
            rh-ee-daznauro David Aznaurov
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: