From 280f8015d06af1f41a3ef12e8300801c7a5e0d54 Mon Sep 17 00:00:00 2001
From: AviZi <avi.ziv@amdocs.com>
Date: Fri, 9 Jun 2017 02:39:56 +0300
Subject: [SDC-29] Amdocs OnBoard 1707 initial commit.

Change-Id: Ie4d12a3f574008b792899b368a0902a8b46b5370
Signed-off-by: AviZi <avi.ziv@amdocs.com>
---
 .../SoftwareProductComponentsMonitoringView.jsx    | 39 ++++++++++++++++------
 1 file changed, 29 insertions(+), 10 deletions(-)

(limited to 'openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringView.jsx')

diff --git a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringView.jsx b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringView.jsx
index ca090c5f2f..329cc70353 100644
--- a/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/softwareProduct/components/monitoring/SoftwareProductComponentsMonitoringView.jsx
@@ -1,3 +1,18 @@
+/*!
+ * 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, {Component, PropTypes} from 'react';
 import Dropzone from 'react-dropzone';
 import ButtonGroup from 'react-bootstrap/lib/ButtonGroup.js';
@@ -46,7 +61,7 @@ class SoftwareProductComponentsMonitoringView extends Component {
 		return (
 			<Dropzone
 				className={`snmp-dropzone ${this.state.dragging ? 'active-dragging' : ''}`}
-				onDrop={files => this.handleImport(files, {isReadOnlyMode, type, refAndName})}
+				onDrop={(acceptedFiles, rejectedFiles) => this.handleImport(acceptedFiles, rejectedFiles, {isReadOnlyMode, type, refAndName})}
 				onDragEnter={() => this.handleOnDragEnter(isReadOnlyMode)}
 				onDragLeave={() => this.setState({dragging:false})}
 				multiple={false}
@@ -70,7 +85,7 @@ class SoftwareProductComponentsMonitoringView extends Component {
 				className={`software-product-landing-view-top-block-col-upl${isReadOnlyMode ? ' disabled' : ''}`}>
 				<div className='drag-text'>{i18n('Drag & drop for upload')}</div>
 				<div className='or-text'>{i18n('or')}</div>
-				<div className='upload-btn primary-btn' onClick={() => this.refs[refAndName].open()}>
+				<div className='upload-btn primary-btn' data-test-id={`monitoring-upload-${refAndName}`} onClick={() => this.refs[refAndName].open()}>
 					<span className='primary-btn-text'>{i18n('Select file')}</span>
 				</div>
 			</div>
@@ -95,17 +110,21 @@ class SoftwareProductComponentsMonitoringView extends Component {
 		}
 	}
 
-	handleImport(files, {isReadOnlyMode, type, refAndName}) {
+	handleImport(files, rejectedFiles, {isReadOnlyMode, type, refAndName}) {
 		if (isReadOnlyMode) {
 			return;
 		}
-
-		this.setState({dragging: false});
-		let file = files[0];
-		let formData = new FormData();
-		formData.append('upload', file);
-		this.refs[refAndName].value = '';
-		this.props.onDropMibFileToUpload(formData, type);
+		if (files.length > 0) {
+			this.setState({dragging: false});
+			let file = files[0];
+			let formData = new FormData();
+			formData.append('upload', file);
+			this.refs[refAndName].value = '';
+			this.props.onDropMibFileToUpload(formData, type);
+		} else if (rejectedFiles.length > 0) {
+			this.setState({dragging: false});
+			this.props.onFileUploadError();
+		}
 	}
 
 	getFileTypeDisplayName(type) {
-- 
cgit 1.2.3-korg

