Adding Prettier and fixing up eslint version
[sdc.git] / openecomp-ui / src / sdc-app / common / helpers / ScreensHelper.js
index 7c05f84..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 = {
-       async loadScreen(dispatch, {screen, screenType, props}) {
-               if(screen === enums.SCREEN.ONBOARDING_CATALOG) {
-                       OnboardingActionHelper.navigateToOnboardingCatalog(dispatch);
-                       return;
-               }
-               
-               screenType = !screenType ? this.getScreenType(screen) : screenType;
+    async loadScreen(dispatch, { screen, screenType, props }) {
+        if (screen === enums.SCREEN.ONBOARDING_CATALOG) {
+            OnboardingActionHelper.navigateToOnboardingCatalog(dispatch);
+            return;
+        }
 
-               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;
-                               }
-                       });
-               }
+        screenType = !screenType ? this.getScreenType(screen) : screenType;
 
-               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});
-                               }
+        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
+                    });
+                }
 
-                               let newVersion = updatedVersion ? updatedVersion : version;
-                               
-                               const props = {
-                                       softwareProductId,
-                                       componentId,
-                                       version: newVersion,
-                                       status: item.status
-                               };
-                               if (screen === screenTypes.SOFTWARE_PRODUCT_COMPONENT_DEFAULT_GENERAL) {
-                                       OnboardingActionHelper.navigateToSoftwareProductComponentGeneralAndUpdateLeftPanel(dispatch, props);
-                               }
-                               
-                               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;  
-                               }
-                       });
-               }
-       },
+                let newVersion = updatedVersion ? updatedVersion : version;
 
-       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;
-               }
-       },
+                const props = {
+                    softwareProductId,
+                    componentId,
+                    version: newVersion,
+                    status: item.status
+                };
+                if (
+                    screen ===
+                    screenTypes.SOFTWARE_PRODUCT_COMPONENT_DEFAULT_GENERAL
+                ) {
+                    OnboardingActionHelper.navigateToSoftwareProductComponentGeneralAndUpdateLeftPanel(
+                        dispatch,
+                        props
+                    );
+                }
 
-       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});
-       }
+                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;
+                }
+            });
+        }
+    },
+
+    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;