From 804ec686128a49628e9f656397e4a4512e4c5714 Mon Sep 17 00:00:00 2001 From: Vodafone Date: Mon, 18 Mar 2019 15:46:53 +0530 Subject: List of Input Parameters for VSP: FE Change-Id: I17697b5646c1a201678dbab11fef28a7483fbf8c Issue-ID: SDC-2049 Co-authored-by: rahul.ghugikar@vodafone.com, soumyarup.paul@vodafone.com Signed-off-by: Vodafone --- .../validation/setup/VspValidationSetup.js | 32 +++ .../validation/setup/VspValidationSetupView.jsx | 320 +++++++++++++++++++++ 2 files changed, 352 insertions(+) create mode 100644 openecomp-ui/src/sdc-app/onboarding/softwareProduct/validation/setup/VspValidationSetup.js create mode 100644 openecomp-ui/src/sdc-app/onboarding/softwareProduct/validation/setup/VspValidationSetupView.jsx (limited to 'openecomp-ui/src/sdc-app/onboarding/softwareProduct/validation/setup') diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/validation/setup/VspValidationSetup.js b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/validation/setup/VspValidationSetup.js new file mode 100644 index 0000000000..875639e86a --- /dev/null +++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/validation/setup/VspValidationSetup.js @@ -0,0 +1,32 @@ +/** + * Copyright (c) 2019 Vodafone Group + * + * 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 { connect } from 'react-redux'; +import VspValidationSetupView from './VspValidationSetupView.jsx'; + +export const mapStateToProps = ({ softwareProduct }) => { + let { softwareProductValidation } = softwareProduct; + return { + softwareProductValidation + }; +}; + +export const mapActionsToProps = () => { + return {}; +}; + +export default connect(mapStateToProps, mapActionsToProps, null, { + withRef: true +})(VspValidationSetupView); diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/validation/setup/VspValidationSetupView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/validation/setup/VspValidationSetupView.jsx new file mode 100644 index 0000000000..012d50ac93 --- /dev/null +++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/validation/setup/VspValidationSetupView.jsx @@ -0,0 +1,320 @@ +/** + * Copyright (c) 2019 Vodafone Group + * + * 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 React, { Component } from 'react'; +import PropTypes from 'prop-types'; + +import i18n from 'nfvo-utils/i18n/i18n.js'; +import GridSection from 'nfvo-components/grid/GridSection.jsx'; +import GridItem from 'nfvo-components/grid/GridItem.jsx'; +import CheckboxTree from 'react-checkbox-tree'; + +const icons = { + check: , + uncheck: , + halfCheck: , + expandClose: , + expandOpen: , + expandAll: , + collapseAll: , + parentClose: , + parentOpen: , + leaf: +}; + +class CertificationQuery extends React.Component { + constructor(props) { + super(props); + let { certificationChecked, certificationNodes } = this.props; + this.state = { + checked: + certificationChecked === undefined ? [] : certificationChecked, + expanded: certificationNodes[0] ? [certificationNodes[0].value] : [] + }; + } + + expandFirstNode() { + let { certificationNodes } = this.props; + this.setState({ + expanded: certificationNodes[0] ? [certificationNodes[0].value] : [] + }); + } + + componentDidMount() { + this.expandFirstNode(); + } + + shouldComponentUpdate() { + return true; + } + + componentWillReceiveProps(nextProps) { + if ( + nextProps.certificationChecked !== this.props.certificationChecked + ) { + let expand = this.state.expanded; + this.setState({ + checked: nextProps.certificationChecked || [], + expanded: expand + }); + } + } + + populateOptions(checkedCertificationQuery) { + let { flatTestsMap } = this.props; + return ( + + ); + } + + render() { + let { certificationNodes, setCertificationChecked } = this.props; + return ( +
+ + +
+ {certificationNodes[0] + ? certificationNodes[0].value + : ''} +
+
+ {certificationNodes.length > 0 && ( + { + this.setState( + { checked }, + setCertificationChecked({ + checked + }) + ); + }} + onExpand={expanded => + this.setState({ expanded }) + } + icons={icons} + className="field-section" + /> + )} + {certificationNodes.length === 0 && ( +
+ {i18n( + 'No Certifications Query are Available' + )} +
+ )} +
+
+ + {certificationNodes.length > 0 && ( +
+
+ {i18n('Selected Certifications Query')} +
+
+ +
+
+ )} +
+
+
+ ); + } +} + +class ComplianceTests extends React.Component { + constructor(props) { + super(props); + let { complianceChecked, complianceNodes } = this.props; + this.state = { + checked: complianceChecked === undefined ? [] : complianceChecked, + expanded: complianceNodes[0] ? [complianceNodes[0].value] : [] + }; + } + + shouldComponentUpdate() { + return true; + } + + expandFirstNode() { + let { complianceNodes } = this.props; + this.setState({ + expanded: complianceNodes[0] ? [complianceNodes[0].value] : [] + }); + } + + componentDidMount() { + this.expandFirstNode(); + } + + componentWillUnmount() {} + + componentWillReceiveProps(nextProps) { + let expand = this.state.expanded; + + if (nextProps.complianceChecked !== this.props.complianceChecked) { + this.setState({ + checked: nextProps.complianceChecked || [], + expanded: expand + }); + } + } + + populateOptions(checkedComplianceTests) { + let { flatTestsMap } = this.props; + return ( + + ); + } + render() { + let { complianceNodes, setComplianceChecked } = this.props; + return ( +
+ + +
+ {complianceNodes[0] ? complianceNodes[0].value : ''} +
+
+ {complianceNodes.length > 0 && ( + { + this.setState( + { checked }, + setComplianceChecked({ + checked + }) + ); + }} + onExpand={expanded => + this.setState({ expanded }) + } + icons={icons} + className="field-section" + /> + )} + {complianceNodes.length === 0 && ( +
+ {i18n('No Compliance Checks are Available')} +
+ )} +
+
+ + {complianceNodes.length > 0 && ( +
+
+ {i18n('Selected Compliance Tests')} +
+
+ +
+
+ )} +
+
+
+ ); + } +} + +class VspValidationSetup extends Component { + static propTypes = { + softwareProductValidation: PropTypes.object, + setComplianceChecked: PropTypes.func, + setCertificationChecked: PropTypes.func + }; + + constructor(props) { + super(props); + this.state = { + complianceCheckList: [], + certificationCheckList: [] + }; + } + + shouldComponentUpdate() { + return true; + } + + render() { + let { + softwareProductValidation, + setComplianceChecked, + setCertificationChecked, + complianceCheckList, + certificationCheckList + } = this.props; + return ( +
+ + +
+ ); + } +} + +export default VspValidationSetup; -- cgit 1.2.3-korg