summaryrefslogtreecommitdiffstats
path: root/openecomp-ui/src/nfvo-components
diff options
context:
space:
mode:
Diffstat (limited to 'openecomp-ui/src/nfvo-components')
-rw-r--r--openecomp-ui/src/nfvo-components/input/validation/Form.jsx20
-rw-r--r--openecomp-ui/src/nfvo-components/loader/LoaderReducer.js14
-rw-r--r--openecomp-ui/src/nfvo-components/modal/Modal.jsx30
3 files changed, 35 insertions, 29 deletions
diff --git a/openecomp-ui/src/nfvo-components/input/validation/Form.jsx b/openecomp-ui/src/nfvo-components/input/validation/Form.jsx
index 62fc29a55c..b5db67c027 100644
--- a/openecomp-ui/src/nfvo-components/input/validation/Form.jsx
+++ b/openecomp-ui/src/nfvo-components/input/validation/Form.jsx
@@ -70,8 +70,8 @@ class Form extends React.Component {
return (
<form
{...formProps}
- ref={form => (this.form = form)}
- onSubmit={event => this.handleFormValidation(event)}>
+ ref={this.setFormRef}
+ onSubmit={this.handleFormValidation}>
<div className="validation-form-content">
<fieldset disabled={isReadOnlyMode}>{children}</fieldset>
</div>
@@ -80,7 +80,7 @@ class Form extends React.Component {
labledButtons={labledButtons}
submitButtonText={submitButtonText}
cancelButtonText={cancelButtonText}
- ref={buttons => (this.buttons = buttons)}
+ ref={this.setButtonsRef}
isReadOnlyMode={isReadOnlyMode}
/>
)}
@@ -88,14 +88,19 @@ class Form extends React.Component {
);
}
- handleFormValidation(event) {
+ handleFormValidation = event => {
event.preventDefault();
if (this.props.onValidateForm && !this.props.formReady) {
return this.props.onValidateForm();
} else {
return this.handleFormSubmit(event);
}
- }
+ };
+
+ setButtonsRef = buttons => (this.buttons = buttons);
+
+ setFormRef = form => (this.form = form);
+
handleFormSubmit(event) {
if (event) {
event.preventDefault();
@@ -128,7 +133,10 @@ class Form extends React.Component {
this.props.onValidityChanged(this.props.isValid);
}
}
- if (this.props.formReady) {
+ if (
+ this.props.formReady &&
+ this.props.formReady !== prevProps.formReady
+ ) {
// if form validation succeeded -> continue with submit
this.handleFormSubmit();
}
diff --git a/openecomp-ui/src/nfvo-components/loader/LoaderReducer.js b/openecomp-ui/src/nfvo-components/loader/LoaderReducer.js
index 1d0f6790e1..3f9eb17db3 100644
--- a/openecomp-ui/src/nfvo-components/loader/LoaderReducer.js
+++ b/openecomp-ui/src/nfvo-components/loader/LoaderReducer.js
@@ -26,13 +26,6 @@ export default (
fetchingRequests++;
newArray = state.currentlyFetching.slice();
newArray.splice(0, 0, action.url);
- if (DEBUG) {
- console.log('Loader SEND REQUEST url: ' + action.url);
- console.log(
- 'Loader SEND REQUEST number of fetching requests: ' +
- fetchingRequests
- );
- }
return {
fetchingRequests: fetchingRequests,
currentlyFetching: newArray,
@@ -44,13 +37,6 @@ export default (
newArray = state.currentlyFetching.filter(item => {
return item !== action.url;
});
- if (DEBUG) {
- console.log('Loader RECEIVE_RESPONSE url: ' + action.url);
- console.log(
- 'Loader RECEIVE_RESPONSE: number of fetching requests: ' +
- fetchingRequests
- );
- }
return {
currentlyFetching: newArray,
fetchingRequests: fetchingRequests,
diff --git a/openecomp-ui/src/nfvo-components/modal/Modal.jsx b/openecomp-ui/src/nfvo-components/modal/Modal.jsx
index cfd757501f..2f70a6ac1b 100644
--- a/openecomp-ui/src/nfvo-components/modal/Modal.jsx
+++ b/openecomp-ui/src/nfvo-components/modal/Modal.jsx
@@ -1,22 +1,22 @@
-/*!
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+/*
+ * Copyright © 2016-2018 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
- *
+ *
+ * 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.
+ * 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 ReactDOM from 'react-dom';
import BootstrapModal from 'react-bootstrap/lib/Modal.js';
-
+import { isEqual } from 'lodash';
let nextModalId = 0;
export default class Modal extends React.Component {
@@ -47,6 +47,18 @@ export default class Modal extends React.Component {
)
);
}
+
+ componentWillUnmount() {
+ let element = ReactDOM.findDOMNode(this);
+
+ ['wheel', 'mousewheel', 'DOMMouseScroll', 'click'].forEach(
+ eventType => element.removeEventListener(eventType)
+ );
+ }
+
+ shouldComponentUpdate(nextProps) {
+ return !isEqual(this.props, nextProps);
+ }
};
componentWillMount() {