/* * 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, isLoading } = this.props; let { screen, props } = currentScreen; const preventClicks = isLoading ? 'no-pointer-events' : ''; 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 ( ); } })()} ); } })()}
); } }