/*! * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. * * 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 from 'react'; import classnames from 'classnames'; import Dropzone from 'react-dropzone'; import i18n from 'nfvo-utils/i18n/i18n.js'; import DraggableUploadFileBox from 'nfvo-components/fileupload/DraggableUploadFileBox.jsx'; import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js'; import SoftwareProductComponentsList from '../components/SoftwareProductComponentsList.js'; const SoftwareProductPropType = React.PropTypes.shape({ name: React.PropTypes.string, description: React.PropTypes.string, version: React.PropTypes.object, id: React.PropTypes.string, categoryId: React.PropTypes.string, vendorId: React.PropTypes.string, status: React.PropTypes.string, licensingData: React.PropTypes.object, validationData: React.PropTypes.object }); const ComponentPropType = React.PropTypes.shape({ id: React.PropTypes.string, name: React.PropTypes.string, displayName: React.PropTypes.string, description: React.PropTypes.string }); class SoftwareProductLandingPageView extends React.Component { state = { fileName: '', dragging: false, files: [] }; static propTypes = { currentSoftwareProduct: SoftwareProductPropType, isReadOnlyMode: React.PropTypes.bool, componentsList: React.PropTypes.arrayOf(ComponentPropType), onDetailsSelect: React.PropTypes.func, onUpload: React.PropTypes.func, onUploadConfirmation: React.PropTypes.func, onInvalidFileSizeUpload: React.PropTypes.func, onComponentSelect: React.PropTypes.func, onAddComponent: React.PropTypes.func }; render() { let {currentSoftwareProduct, isReadOnlyMode, isManual, onDetailsSelect, componentsList} = this.props; return (