Adding Prettier and fixing up eslint version
[sdc.git] / openecomp-ui / src / sdc-app / common / helpers / ScreensHelper.js
index ecee47d..6f69cd0 100644 (file)
-import {itemTypes} from 'sdc-app/onboarding/versionsPage/VersionsPageConstants.js';
-import {enums, screenTypes} from 'sdc-app/onboarding/OnboardingConstants.js';
+import { itemTypes } from 'sdc-app/onboarding/versionsPage/VersionsPageConstants.js';
+import { enums, screenTypes } from 'sdc-app/onboarding/OnboardingConstants.js';
 import OnboardingActionHelper from 'sdc-app/onboarding/OnboardingActionHelper.js';
-import {actionTypes as SoftwareProductActionTypes} from 'sdc-app/onboarding/softwareProduct/SoftwareProductConstants.js';
+import { actionTypes as SoftwareProductActionTypes } from 'sdc-app/onboarding/softwareProduct/SoftwareProductConstants.js';
 import ItemsHelper from 'sdc-app/common/helpers/ItemsHelper.js';
 import versionPageActionHelper from 'sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js';
 import i18n from 'nfvo-utils/i18n/i18n.js';
-import {actionTypes as modalActionTypes} from 'nfvo-components/modal/GlobalModalConstants.js';
+import { actionTypes as modalActionTypes } from 'nfvo-components/modal/GlobalModalConstants.js';
 
 const ScreensHelper = {
-       loadScreen(dispatch, {screen, screenType, props}) {
-               if(screen === enums.SCREEN.ONBOARDING_CATALOG) {
-                       OnboardingActionHelper.navigateToOnboardingCatalog(dispatch);
-                       return;
-               }
+    async loadScreen(dispatch, { screen, screenType, props }) {
+        if (screen === enums.SCREEN.ONBOARDING_CATALOG) {
+            OnboardingActionHelper.navigateToOnboardingCatalog(dispatch);
+            return;
+        }
 
-               screenType = !screenType ? this.getScreenType(screen) : screenType;
+        screenType = !screenType ? this.getScreenType(screen) : screenType;
 
-               if(screenType === screenTypes.LICENSE_MODEL) {
-                       const {licenseModelId, version, licenseModel, usersList} = props;
-                       let itemStatusPromise = version && screen ?
-                               ItemsHelper.checkItemStatus(dispatch, {itemId: licenseModelId, versionId: version.id}) :
-                               Promise.resolve();
-                       itemStatusPromise.then((updatedVersion) => {
-                               if (updatedVersion && updatedVersion.status !== version.status) {
-                                       dispatch({
-                                               type: modalActionTypes.GLOBAL_MODAL_WARNING,
-                                               data: {
-                                                       title: i18n('Commit error'),
-                                                       msg: i18n('Item version was certified by Owner'),
-                                                       cancelButtonText: i18n('Cancel')
-                                               }
-                                       });
-                                       versionPageActionHelper.fetchVersions(dispatch, {itemType: itemTypes.LICENSE_MODEL, itemId: licenseModelId});
-                               }
-                               let newVersion = updatedVersion ? updatedVersion : version;
-                               switch (screen) {
-                                       case enums.SCREEN.LICENSE_MODEL_OVERVIEW:
-                                               OnboardingActionHelper.navigateToLicenseModelOverview(dispatch, {licenseModelId, version: newVersion});
-                                               break;
-                                       case enums.SCREEN.LICENSE_AGREEMENTS:
-                                               OnboardingActionHelper.navigateToLicenseAgreements(dispatch, {licenseModelId, version: newVersion});
-                                               break;
-                                       case enums.SCREEN.FEATURE_GROUPS:
-                                               OnboardingActionHelper.navigateToFeatureGroups(dispatch, {licenseModelId, version: newVersion});
-                                               break;
-                                       case enums.SCREEN.ENTITLEMENT_POOLS:
-                                               OnboardingActionHelper.navigateToEntitlementPools(dispatch, {licenseModelId, version: newVersion});
-                                               break;
-                                       case enums.SCREEN.LICENSE_KEY_GROUPS:
-                                               OnboardingActionHelper.navigateToLicenseKeyGroups(dispatch, {licenseModelId, version: newVersion});
-                                               break;
-                                       case enums.SCREEN.ACTIVITY_LOG:
-                                               OnboardingActionHelper.navigateToLicenseModelActivityLog(dispatch, {licenseModelId, version: newVersion});
-                                               break;
-                                       case enums.SCREEN.VERSIONS_PAGE:
-                                       default:
-                                               OnboardingActionHelper.navigateToVersionsPage(dispatch, {
-                                                       itemId: licenseModelId,
-                                                       itemType: itemTypes.LICENSE_MODEL,
-                                                       itemName: licenseModel.name,
-                                                       users: usersList
-                                               });
-                                               break;
-                               }
-                       });
-               }
+        if (screenType === screenTypes.LICENSE_MODEL) {
+            const { licenseModelId, version, licenseModel, usersList } = props;
+            const item = await ItemsHelper.fetchItem(licenseModelId);
+            let itemStatusPromise =
+                version && screen
+                    ? ItemsHelper.checkItemStatus(dispatch, {
+                          itemId: licenseModelId,
+                          versionId: version.id
+                      })
+                    : Promise.resolve();
+            itemStatusPromise.then(updatedVersion => {
+                if (
+                    updatedVersion &&
+                    updatedVersion.status !== version.status
+                ) {
+                    dispatch({
+                        type: modalActionTypes.GLOBAL_MODAL_WARNING,
+                        data: {
+                            title: i18n('Commit error'),
+                            msg: i18n('Item version was certified by Owner'),
+                            cancelButtonText: i18n('Cancel')
+                        }
+                    });
+                    versionPageActionHelper.fetchVersions(dispatch, {
+                        itemType: itemTypes.LICENSE_MODEL,
+                        itemId: licenseModelId
+                    });
+                }
+                let newVersion = updatedVersion ? updatedVersion : version;
+                const screenProps = {
+                    licenseModelId,
+                    version: newVersion,
+                    status: item.status
+                };
+                switch (screen) {
+                    case enums.SCREEN.LICENSE_MODEL_OVERVIEW:
+                        OnboardingActionHelper.navigateToLicenseModelOverview(
+                            dispatch,
+                            screenProps
+                        );
+                        break;
+                    case enums.SCREEN.LICENSE_AGREEMENTS:
+                        OnboardingActionHelper.navigateToLicenseAgreements(
+                            dispatch,
+                            screenProps
+                        );
+                        break;
+                    case enums.SCREEN.FEATURE_GROUPS:
+                        OnboardingActionHelper.navigateToFeatureGroups(
+                            dispatch,
+                            screenProps
+                        );
+                        break;
+                    case enums.SCREEN.ENTITLEMENT_POOLS:
+                        OnboardingActionHelper.navigateToEntitlementPools(
+                            dispatch,
+                            screenProps
+                        );
+                        break;
+                    case enums.SCREEN.LICENSE_KEY_GROUPS:
+                        OnboardingActionHelper.navigateToLicenseKeyGroups(
+                            dispatch,
+                            screenProps
+                        );
+                        break;
+                    case enums.SCREEN.ACTIVITY_LOG:
+                        OnboardingActionHelper.navigateToLicenseModelActivityLog(
+                            dispatch,
+                            screenProps
+                        );
+                        break;
+                    case enums.SCREEN.VERSIONS_PAGE:
+                    default:
+                        OnboardingActionHelper.navigateToVersionsPage(
+                            dispatch,
+                            {
+                                itemId: licenseModelId,
+                                itemType: itemTypes.LICENSE_MODEL,
+                                itemName: licenseModel.name,
+                                users: usersList
+                            }
+                        );
+                        break;
+                }
+            });
+        } else if (screenType === screenTypes.SOFTWARE_PRODUCT) {
+            const {
+                softwareProductId,
+                componentId,
+                version,
+                softwareProduct,
+                usersList
+            } = props;
+            const item = await ItemsHelper.fetchItem(softwareProductId);
+            let itemStatusPromise =
+                version && screen
+                    ? ItemsHelper.checkItemStatus(dispatch, {
+                          itemId: softwareProductId,
+                          versionId: version.id
+                      })
+                    : Promise.resolve();
+            itemStatusPromise.then(updatedVersion => {
+                if (
+                    updatedVersion &&
+                    updatedVersion.status !== version.status
+                ) {
+                    dispatch({
+                        type: modalActionTypes.GLOBAL_MODAL_WARNING,
+                        data: {
+                            title: i18n('Commit error'),
+                            msg: i18n('Item version already Certified'),
+                            cancelButtonText: i18n('Cancel')
+                        }
+                    });
+                    versionPageActionHelper.fetchVersions(dispatch, {
+                        itemType: itemTypes.SOFTWARE_PRODUCT,
+                        itemId: softwareProductId
+                    });
+                }
 
-               else if(screenType === screenTypes.SOFTWARE_PRODUCT) {
-                       const {softwareProductId, componentId, version, softwareProduct, usersList} = props;
-                       let itemStatusPromise = version && screen ?
-                               ItemsHelper.checkItemStatus(dispatch, {itemId: softwareProductId, versionId: version.id}) :
-                               Promise.resolve();
-                       itemStatusPromise.then((updatedVersion) => {
-                               if (updatedVersion && updatedVersion.status !== version.status) {
-                                       dispatch({
-                                               type: modalActionTypes.GLOBAL_MODAL_WARNING,
-                                               data: {
-                                                       title: i18n('Commit error'),
-                                                       msg: i18n('Item version already Certified'),
-                                                       cancelButtonText: i18n('Cancel')
-                                               }
-                                       });
-                                       versionPageActionHelper.fetchVersions(dispatch, {itemType: itemTypes.SOFTWARE_PRODUCT, itemId: softwareProductId});
-                               }
+                let newVersion = updatedVersion ? updatedVersion : version;
 
-                               let newVersion = updatedVersion ? updatedVersion : version;
-                               if (screen === screenTypes.SOFTWARE_PRODUCT_COMPONENT_DEFAULT_GENERAL) {
-                                       OnboardingActionHelper.navigateToSoftwareProductComponentGeneralAndUpdateLeftPanel(dispatch, {
-                                               softwareProductId,
-                                               componentId,
-                                               version: newVersion
-                                       });
-                               }
-                               if (componentId) {
-                                       switch (screen) {
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENTS:
-                                                       OnboardingActionHelper.navigateToSoftwareProductComponentGeneralAndUpdateLeftPanel(dispatch, {
-                                                               softwareProductId,
-                                                               componentId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_GENERAL:
-                                                       OnboardingActionHelper.navigateToSoftwareProductComponentGeneral(dispatch, {
-                                                               softwareProductId,
-                                                               componentId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_COMPUTE:
-                                                       OnboardingActionHelper.navigateToComponentCompute(dispatch, {
-                                                               softwareProductId,
-                                                               componentId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_LOAD_BALANCING:
-                                                       OnboardingActionHelper.navigateToComponentLoadBalancing(dispatch, {
-                                                               softwareProductId,
-                                                               componentId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_NETWORK:
-                                                       OnboardingActionHelper.navigateToComponentNetwork(dispatch, {
-                                                               softwareProductId,
-                                                               componentId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_STORAGE:
-                                                       OnboardingActionHelper.navigateToComponentStorage(dispatch, {
-                                                               softwareProductId,
-                                                               componentId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_PROCESSES:
-                                                       OnboardingActionHelper.navigateToSoftwareProductComponentProcesses(dispatch, {
-                                                               softwareProductId,
-                                                               componentId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_MONITORING:
-                                                       OnboardingActionHelper.navigateToSoftwareProductComponentMonitoring(dispatch, {
-                                                               softwareProductId,
-                                                               componentId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_IMAGES:
-                                                       OnboardingActionHelper.navigateToComponentImages(dispatch, {
-                                                               softwareProductId,
-                                                               componentId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                       }
-                               }
-                               else {
-                                       switch (screen) {
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE:
-                                                       OnboardingActionHelper.navigateToSoftwareProductLandingPage(dispatch, {
-                                                               softwareProductId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_DETAILS:
-                                                       OnboardingActionHelper.navigateToSoftwareProductDetails(dispatch, {
-                                                               softwareProductId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_ATTACHMENTS_SETUP:
-                                                       OnboardingActionHelper.navigateToSoftwareProductAttachmentsSetupTab(dispatch, {
-                                                               softwareProductId,
-                                                               version
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_ATTACHMENTS_VALIDATION:
-                                                       OnboardingActionHelper.navigateToSoftwareProductAttachmentsValidationTab(dispatch, {
-                                                               softwareProductId,
-                                                               version
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_PROCESSES:
-                                                       OnboardingActionHelper.navigateToSoftwareProductProcesses(dispatch, {
-                                                               softwareProductId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_DEPLOYMENT:
-                                                       OnboardingActionHelper.navigateToSoftwareProductDeployment(dispatch, {
-                                                               softwareProductId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_NETWORKS:
-                                                       OnboardingActionHelper.navigateToSoftwareProductNetworks(dispatch, {
-                                                               softwareProductId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_DEPENDENCIES:
-                                                       OnboardingActionHelper.navigateToSoftwareProductDependencies(dispatch, {
-                                                               softwareProductId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_ACTIVITY_LOG:
-                                                       OnboardingActionHelper.navigateToSoftwareProductActivityLog(dispatch, {
-                                                               softwareProductId,
-                                                               version: newVersion
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENTS:
-                                                       OnboardingActionHelper.navigateToSoftwareProductComponents(dispatch, {
-                                                               softwareProductId,
-                                                               version: newVersion
-                                                       });
-                                                       dispatch({
-                                                               type: SoftwareProductActionTypes.TOGGLE_NAVIGATION_ITEM,
-                                                               mapOfExpandedIds: {
-                                                                       [enums.SCREEN.SOFTWARE_PRODUCT_COMPONENTS]: true
-                                                               }
-                                                       });
-                                                       break;
-                                               case enums.SCREEN.SOFTWARE_PRODUCT_VERSIONS_PAGE:
-                                               default:
-                                                       OnboardingActionHelper.navigateToVersionsPage(dispatch, {
-                                                               itemId: softwareProductId,
-                                                               itemType: itemTypes.SOFTWARE_PRODUCT,
-                                                               itemName: softwareProduct.name,
-                                                               users: usersList,
-                                                               additionalProps: {
-                                                                       licenseModelId: softwareProduct.vendorId,
-                                                                       licensingVersion: softwareProduct.licensingVersion
-                                                               }
-                                                       });
-                                                       break;
-                                       }
-                               }
-                       });
-               }
-       },
+                const props = {
+                    softwareProductId,
+                    componentId,
+                    version: newVersion,
+                    status: item.status
+                };
+                if (
+                    screen ===
+                    screenTypes.SOFTWARE_PRODUCT_COMPONENT_DEFAULT_GENERAL
+                ) {
+                    OnboardingActionHelper.navigateToSoftwareProductComponentGeneralAndUpdateLeftPanel(
+                        dispatch,
+                        props
+                    );
+                }
 
-       getScreenType(screen) {
-               switch (screen) {
-                       case enums.SCREEN.LICENSE_MODEL_OVERVIEW:
-                       case enums.SCREEN.LICENSE_AGREEMENTS:
-                       case enums.SCREEN.FEATURE_GROUPS:
-                       case enums.SCREEN.ENTITLEMENT_POOLS:
-                       case enums.SCREEN.LICENSE_KEY_GROUPS:
-                       case enums.SCREEN.ACTIVITY_LOG:
-                               return screenTypes.LICENSE_MODEL;
-                       case screenTypes.SOFTWARE_PRODUCT_COMPONENT_DEFAULT_GENERAL:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_GENERAL:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_COMPUTE:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_LOAD_BALANCING:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_NETWORK:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_STORAGE:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_PROCESSES:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_MONITORING:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_IMAGES:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_DETAILS:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_ATTACHMENTS:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_PROCESSES:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_DEPLOYMENT:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_NETWORKS:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_DEPENDENCIES:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_ACTIVITY_LOG:
-                       case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENTS:
-                               return screenTypes.SOFTWARE_PRODUCT;
-               }
-       },
+                switch (screen) {
+                    case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENTS:
+                        OnboardingActionHelper.navigateToSoftwareProductComponentGeneralAndUpdateLeftPanel(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_GENERAL:
+                        OnboardingActionHelper.navigateToSoftwareProductComponentGeneral(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_COMPUTE:
+                        OnboardingActionHelper.navigateToComponentCompute(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_LOAD_BALANCING:
+                        OnboardingActionHelper.navigateToComponentLoadBalancing(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_NETWORK:
+                        OnboardingActionHelper.navigateToComponentNetwork(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_STORAGE:
+                        OnboardingActionHelper.navigateToComponentStorage(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_PROCESSES:
+                        OnboardingActionHelper.navigateToSoftwareProductComponentProcesses(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_MONITORING:
+                        OnboardingActionHelper.navigateToSoftwareProductComponentMonitoring(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_IMAGES:
+                        OnboardingActionHelper.navigateToComponentImages(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE:
+                        OnboardingActionHelper.navigateToSoftwareProductLandingPage(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_DETAILS:
+                        OnboardingActionHelper.navigateToSoftwareProductDetails(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_ATTACHMENTS_SETUP:
+                        OnboardingActionHelper.navigateToSoftwareProductAttachmentsSetupTab(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_ATTACHMENTS_VALIDATION:
+                        OnboardingActionHelper.navigateToSoftwareProductAttachmentsValidationTab(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_PROCESSES:
+                        OnboardingActionHelper.navigateToSoftwareProductProcesses(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_DEPLOYMENT:
+                        OnboardingActionHelper.navigateToSoftwareProductDeployment(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_NETWORKS:
+                        OnboardingActionHelper.navigateToSoftwareProductNetworks(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_DEPENDENCIES:
+                        OnboardingActionHelper.navigateToSoftwareProductDependencies(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_ACTIVITY_LOG:
+                        OnboardingActionHelper.navigateToSoftwareProductActivityLog(
+                            dispatch,
+                            props
+                        );
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENTS:
+                        OnboardingActionHelper.navigateToSoftwareProductComponents(
+                            dispatch,
+                            props
+                        );
+                        dispatch({
+                            type:
+                                SoftwareProductActionTypes.TOGGLE_NAVIGATION_ITEM,
+                            mapOfExpandedIds: {
+                                [enums.SCREEN.SOFTWARE_PRODUCT_COMPONENTS]: true
+                            }
+                        });
+                        break;
+                    case enums.SCREEN.SOFTWARE_PRODUCT_VERSIONS_PAGE:
+                    default:
+                        OnboardingActionHelper.navigateToVersionsPage(
+                            dispatch,
+                            {
+                                itemId: softwareProductId,
+                                itemType: itemTypes.SOFTWARE_PRODUCT,
+                                itemName: softwareProduct.name,
+                                users: usersList,
+                                additionalProps: {
+                                    licenseModelId: softwareProduct.vendorId,
+                                    licensingVersion:
+                                        softwareProduct.licensingVersion
+                                }
+                            }
+                        );
+                        break;
+                }
+            });
+        }
+    },
 
-       loadLandingScreen(dispatch, {previousScreenName, screenType, props: {licenseModelId, softwareProductId, version}}) {
-               let selectedScreenType = screenType ? screenType : this.getScreenType(previousScreenName);
-               let screen = selectedScreenType === screenTypes.SOFTWARE_PRODUCT ?
-                       enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE :
-                       enums.SCREEN.LICENSE_MODEL_OVERVIEW;
-               let props = {licenseModelId, softwareProductId, version};
-               return this.loadScreen(dispatch, {screen, screenType: selectedScreenType, props});
-       }
+    getScreenType(screen) {
+        switch (screen) {
+            case enums.SCREEN.LICENSE_MODEL_OVERVIEW:
+            case enums.SCREEN.LICENSE_AGREEMENTS:
+            case enums.SCREEN.FEATURE_GROUPS:
+            case enums.SCREEN.ENTITLEMENT_POOLS:
+            case enums.SCREEN.LICENSE_KEY_GROUPS:
+            case enums.SCREEN.ACTIVITY_LOG:
+                return screenTypes.LICENSE_MODEL;
+            case screenTypes.SOFTWARE_PRODUCT_COMPONENT_DEFAULT_GENERAL:
+            case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_GENERAL:
+            case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_COMPUTE:
+            case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_LOAD_BALANCING:
+            case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_NETWORK:
+            case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_STORAGE:
+            case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_PROCESSES:
+            case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_MONITORING:
+            case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_IMAGES:
+            case enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE:
+            case enums.SCREEN.SOFTWARE_PRODUCT_DETAILS:
+            case enums.SCREEN.SOFTWARE_PRODUCT_ATTACHMENTS:
+            case enums.SCREEN.SOFTWARE_PRODUCT_PROCESSES:
+            case enums.SCREEN.SOFTWARE_PRODUCT_DEPLOYMENT:
+            case enums.SCREEN.SOFTWARE_PRODUCT_NETWORKS:
+            case enums.SCREEN.SOFTWARE_PRODUCT_DEPENDENCIES:
+            case enums.SCREEN.SOFTWARE_PRODUCT_ACTIVITY_LOG:
+            case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENTS:
+                return screenTypes.SOFTWARE_PRODUCT;
+        }
+    },
+
+    loadLandingScreen(
+        dispatch,
+        {
+            previousScreenName,
+            screenType,
+            props: { licenseModelId, softwareProductId, version }
+        }
+    ) {
+        let selectedScreenType = screenType
+            ? screenType
+            : this.getScreenType(previousScreenName);
+        let screen =
+            selectedScreenType === screenTypes.SOFTWARE_PRODUCT
+                ? enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE
+                : enums.SCREEN.LICENSE_MODEL_OVERVIEW;
+        let props = { licenseModelId, softwareProductId, version };
+        return this.loadScreen(dispatch, {
+            screen,
+            screenType: selectedScreenType,
+            props
+        });
+    }
 };
 
 export default ScreensHelper;