/* * Copyright © 2016-2017 European Support Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import Onboard from './onboard/Onboard.js'; import VersionsPage from './versionsPage/VersionsPage.js'; import LicenseModel from './licenseModel/LicenseModel.js'; import LicenseModelOverview from './licenseModel/overview/LicenseModelOverview.js'; import ActivityLog from 'sdc-app/common/activity-log/ActivityLog.js'; import LicenseAgreementListEditor from './licenseModel/licenseAgreement/LicenseAgreementListEditor.js'; import FeatureGroupListEditor from './licenseModel/featureGroups/FeatureGroupListEditor.js'; import LicenseKeyGroupsListEditor from './licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js'; import EntitlementPoolsListEditor from './licenseModel/entitlementPools/EntitlementPoolsListEditor.js'; import SoftwareProduct from './softwareProduct/SoftwareProduct.js'; import SoftwareProductLandingPage from './softwareProduct/landingPage/SoftwareProductLandingPage.js'; import SoftwareProductDetails from './softwareProduct/details/SoftwareProductDetails.js'; import SoftwareProductAttachments from './softwareProduct/attachments/SoftwareProductAttachments.js'; import SoftwareProductProcesses from './softwareProduct/processes/SoftwareProductProcesses.js'; import SoftwareProductDeployment from './softwareProduct/deployment/SoftwareProductDeployment.js'; import SoftwareProductNetworks from './softwareProduct/networks/SoftwareProductNetworks.js'; import SoftwareProductDependencies from './softwareProduct/dependencies/SoftwareProductDependencies.js'; import SoftwareProductComponentsList from './softwareProduct/components/SoftwareProductComponents.js'; import SoftwareProductComponentProcessesList from './softwareProduct/components/processes/SoftwareProductComponentProcessesList.js'; import SoftwareProductComponentStorage from './softwareProduct/components/storage/SoftwareProductComponentStorage.js'; import SoftwareProductComponentsNetworkList from './softwareProduct/components/network/SoftwareProductComponentsNetworkList.js'; import SoftwareProductComponentsGeneral from './softwareProduct/components/general/SoftwareProductComponentsGeneral.js'; import SoftwareProductComponentsCompute from './softwareProduct/components/compute/SoftwareProductComponentCompute.js'; import SoftwareProductComponentLoadBalancing from './softwareProduct/components/loadBalancing/SoftwareProductComponentLoadBalancing.js'; import SoftwareProductComponentsImageList from './softwareProduct/components/images/SoftwareProductComponentsImageList.js'; import SoftwareProductComponentsMonitoring from './softwareProduct/components/monitoring/SoftwareProductComponentsMonitoring.js'; import objectValues from 'lodash/values.js'; import PropTypes from 'prop-types'; import React from 'react'; import ReactDOM from 'react-dom'; import {enums} from './OnboardingConstants.js'; export default class OnboardingView extends React.Component { static propTypes = { currentScreen: PropTypes.shape({ screen: PropTypes.oneOf(objectValues(enums.SCREEN)).isRequired, props: PropTypes.object.isRequired, itemPermission: PropTypes.object }).isRequired }; componentDidMount() { let element = ReactDOM.findDOMNode(this); element.addEventListener('click', event => { if (event.target.tagName === 'A') { event.preventDefault(); } }); ['wheel', 'mousewheel', 'DOMMouseScroll'].forEach(eventType => element.addEventListener(eventType, event => event.stopPropagation()) ); } render() { let {currentScreen} = this.props; let {screen, props} = currentScreen; return (
{(() => { switch (screen) { case enums.SCREEN.ONBOARDING_CATALOG: return ; case enums.SCREEN.VERSIONS_PAGE: return ; case enums.SCREEN.LICENSE_AGREEMENTS: case enums.SCREEN.FEATURE_GROUPS: case enums.SCREEN.ENTITLEMENT_POOLS: case enums.SCREEN.LICENSE_KEY_GROUPS: case enums.SCREEN.LICENSE_MODEL_OVERVIEW: case enums.SCREEN.ACTIVITY_LOG: return ( { (()=>{ switch(screen) { case enums.SCREEN.LICENSE_MODEL_OVERVIEW: return ; case enums.SCREEN.LICENSE_AGREEMENTS: return ; case enums.SCREEN.FEATURE_GROUPS: return ; case enums.SCREEN.ENTITLEMENT_POOLS: return ; case enums.SCREEN.LICENSE_KEY_GROUPS: return ; case enums.SCREEN.ACTIVITY_LOG: return ; } })() } ); 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_COMPONENTS: case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_PROCESSES: case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_STORAGE: case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_NETWORK: 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_IMAGES: case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_MONITORING: case enums.SCREEN.SOFTWARE_PRODUCT_ACTIVITY_LOG: return ( { (()=>{ switch(screen) { case enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE: return ; case enums.SCREEN.SOFTWARE_PRODUCT_DETAILS: return ; case enums.SCREEN.SOFTWARE_PRODUCT_ATTACHMENTS: return ; case enums.SCREEN.SOFTWARE_PRODUCT_PROCESSES: return ; case enums.SCREEN.SOFTWARE_PRODUCT_DEPLOYMENT: return ; case enums.SCREEN.SOFTWARE_PRODUCT_NETWORKS: return ; case enums.SCREEN.SOFTWARE_PRODUCT_DEPENDENCIES: return ; case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENTS: return ; case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_PROCESSES: return ; case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_STORAGE: return ; case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_NETWORK: return ; case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_GENERAL: return ; case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_COMPUTE: return ; case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_LOAD_BALANCING: return ; case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_IMAGES: return ; case enums.SCREEN.SOFTWARE_PRODUCT_COMPONENT_MONITORING: return ; case enums.SCREEN.SOFTWARE_PRODUCT_ACTIVITY_LOG: return ; } })() } ); } })()}
); } }