From efa037d34be7b1570efdc767c79fad8d4005f10e Mon Sep 17 00:00:00 2001 From: Michael Lando Date: Sun, 19 Feb 2017 12:57:33 +0200 Subject: Add new code new version Change-Id: Ic02a76313503b526f17c3df29eb387a29fe6a42a Signed-off-by: Michael Lando --- openecomp-ui/src/sdc-app/ModulesOptions.jsx | 150 ++++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 openecomp-ui/src/sdc-app/ModulesOptions.jsx (limited to 'openecomp-ui/src/sdc-app/ModulesOptions.jsx') diff --git a/openecomp-ui/src/sdc-app/ModulesOptions.jsx b/openecomp-ui/src/sdc-app/ModulesOptions.jsx new file mode 100644 index 0000000000..4f66e579d1 --- /dev/null +++ b/openecomp-ui/src/sdc-app/ModulesOptions.jsx @@ -0,0 +1,150 @@ +import React from 'react'; +import {connect} from 'react-redux'; +import Input from 'react-bootstrap/lib/Input.js'; + +import LicenseModelActionHelper from './onboarding/licenseModel/LicenseModelActionHelper.js'; +import LicenseAgreementListEditor from './onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditor.js'; +import LicenseAgreementActionHelper from './onboarding/licenseModel/licenseAgreement/LicenseAgreementActionHelper.js'; +import FeatureGroupListEditor from './onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js'; +import FeatureGroupsActionHelper from './onboarding/licenseModel/featureGroups/FeatureGroupsActionHelper.js'; +import LicenseKeyGroupsListEditor from './onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js'; +import LicenseKeyGroupsActionHelper from './onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js'; +import EntitlementPoolsListEditor from './onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditor.js'; +import EntitlementPoolsActionHelper from './onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js'; +import SoftwareProductLandingPage from './onboarding/softwareProduct/landingPage/SoftwareProductLandingPage.js'; +import SoftwareProductDetails from './onboarding/softwareProduct/details/SoftwareProductDetails.js'; +import OnboardingCatalog from './onboarding/OnboardingCatalog.js'; +import SoftwareProductActionHelper from './onboarding/softwareProduct/SoftwareProductActionHelper.js'; +import FlowsListEditor from './flows/FlowsListEditor.js'; +import FlowsActions from './flows/FlowsActions.js'; + + +const mapStateToProps = ({licenseModelList}) => { + return {licenseModelList}; +}; + + +const mapActionsToProps = dispatch => { + return { + onBootstrapped: () => LicenseModelActionHelper.fetchLicenseModels(dispatch), + onLicenseAgreementListEditor: licenseModelId => LicenseAgreementActionHelper.fetchLicenseAgreementList(dispatch, {licenseModelId}), + onFeatureGroupsListEditor: licenseModelId => FeatureGroupsActionHelper.fetchFeatureGroupsList(dispatch, {licenseModelId}), + onLicenseKeyGroupsListEditor: licenseModelId =>LicenseKeyGroupsActionHelper.fetchLicenseKeyGroupsList(dispatch, {licenseModelId}), + onEntitlementPoolsListEditor: licenseModelId => EntitlementPoolsActionHelper.fetchEntitlementPoolsList(dispatch, {licenseModelId}), + onOnboardingCatalog: () => SoftwareProductActionHelper.fetchSoftwareProductList(dispatch), + onSoftwareProductDetails: () => SoftwareProductActionHelper.fetchSoftwareProductCategories(dispatch), + onFlowsListEditor: () => FlowsActions.fetchFlows(dispatch) + }; +}; + +class ModuleOptions extends React.Component { + + static propTypes = { + onBootstrapped: React.PropTypes.func.isRequired, + onLicenseAgreementListEditor: React.PropTypes.func.isRequired, + onFeatureGroupsListEditor: React.PropTypes.func.isRequired, + onLicenseKeyGroupsListEditor: React.PropTypes.func.isRequired, + onEntitlementPoolsListEditor: React.PropTypes.func.isRequired, + onOnboardingCatalog: React.PropTypes.func.isRequired, + onSoftwareProductDetails: React.PropTypes.func.isRequired, + }; + + state = { + currentModule: localStorage.getItem('default-module'), + licenseModelId: localStorage.getItem('default-license-model-id') + }; + + componentDidMount() { + this.props.onBootstrapped(); + } + + render() { + let {currentModule, licenseModelId} = this.state; + let {licenseModelList} = this.props; + return ( +
+ + + { + licenseModelList.map(({id, vendorName}) => ) + } + + + + + + + + + + + + +
+ {this.renderModule(currentModule)} +
+
+ ); + } + + renderModule(currentModule) { + const {licenseModelId} = this.state; + if (!licenseModelId) { + return; + } + + switch (currentModule) { + case 'LicenseAgreementListEditor': + this.props.onLicenseAgreementListEditor(licenseModelId); + return ; + case 'FutureGroupListEditor': + this.props.onFeatureGroupsListEditor(licenseModelId); + return ; + case 'EntitlementPoolsListEditor': + this.props.onEntitlementPoolsListEditor(licenseModelId); + return ; + case 'LicenseKeyGroupsListEditor': + this.props.onLicenseKeyGroupsListEditor(licenseModelId); + return ; + case 'SoftwareProductLanding': + return ; + case 'SoftwareProductDetails': + this.props.onSoftwareProductDetails(licenseModelId); + return ; + case 'OnboardingCatalog': + this.props.onOnboardingCatalog(); + return ; + case 'Flows': + this.props.onFlowsListEditor(); + return ; + default: + return; + } + } + + handleModuleSelection = () => { + let selectedModule = this.refs.selectedModule.getValue(); + localStorage.setItem('default-module', selectedModule); + this.setState({currentModule: selectedModule}); + } + + handleLicenseModelIdChange = () => { + let licenseModelId = this.refs.licenseModelId.getValue(); + localStorage.setItem('default-license-model-id', licenseModelId); + this.setState({licenseModelId}); + } +} + +export default connect(mapStateToProps, mapActionsToProps)(ModuleOptions); -- cgit 1.2.3-korg