vendor item issue fix 27/48327/4
authorsvishnev <shlomo-stanisla.vishnevetskiy@amdocs.com>
Wed, 23 May 2018 07:36:42 +0000 (10:36 +0300)
committerEinav Keidar <einavw@amdocs.com>
Thu, 24 May 2018 08:01:02 +0000 (08:01 +0000)
Issue-ID: SDC-1349
Change-Id: I7a17a27a528197a6128a90804e0c68901cb0bfa9
Signed-off-by: svishnev <shlomo-stanisla.vishnevetskiy@amdocs.com>
openecomp-ui/src/nfvo-components/clickOutsideWrapper/ClickOutsideWrapper.jsx [new file with mode: 0644]
openecomp-ui/src/nfvo-components/panel/versionController/components/ActionButtons.jsx
openecomp-ui/src/sdc-app/onboarding/onboard/onboardingCatalog/VendorItem.jsx
openecomp-ui/src/sdc-app/onboarding/onboard/workspace/WorkspaceViewWithFilter.jsx

diff --git a/openecomp-ui/src/nfvo-components/clickOutsideWrapper/ClickOutsideWrapper.jsx b/openecomp-ui/src/nfvo-components/clickOutsideWrapper/ClickOutsideWrapper.jsx
new file mode 100644 (file)
index 0000000..386ec92
--- /dev/null
@@ -0,0 +1,34 @@
+/*!
+ * 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
+ *
+ * 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 PropTypes from 'prop-types';
+import enhanceWithClickOutside from 'react-click-outside';
+
+class ClickOutsideWrapper extends React.Component {
+    static propTypes = {
+        onClose: PropTypes.func
+    };
+
+    handleClickOutside() {
+        this.props.onClose();
+    }
+    render() {
+        return <div>{this.props.children}</div>;
+    }
+}
+
+export default enhanceWithClickOutside(ClickOutsideWrapper);
index 4dfa117..8905aa3 100644 (file)
  * or implied. See the License for the specific language governing
  * permissions and limitations under the License.
  */
-import React, { Component } from 'react';
+import React from 'react';
 import PropTypes from 'prop-types';
-import enhanceWithClickOutside from 'react-click-outside';
 import i18n from 'nfvo-utils/i18n/i18n.js';
+import ClickOutsideWrapper from 'nfvo-components/clickOutsideWrapper/ClickOutsideWrapper.jsx';
 import SVGIcon from 'sdc-ui/lib/react/SVGIcon.js';
 import Overlay from 'nfvo-components/overlay/Overlay.jsx';
 import Permissions from './Permissions.jsx';
 
-class ClickOutsideWrapper extends Component {
-    handleClickOutside() {
-        this.props.onClose();
-    }
-    render() {
-        return <div>{this.props.children}</div>;
-    }
-}
-
-const EnhancedClickOutsideWrapper = enhanceWithClickOutside(
-    ClickOutsideWrapper
-);
-
 const VCButton = ({ name, tooltipText, disabled, onClick, dataTestId }) => {
     let onClickAction = disabled ? () => {} : onClick;
     return (
@@ -95,7 +82,7 @@ const ActionButtons = ({
     }
 }) => (
     <div className="action-buttons">
-        <EnhancedClickOutsideWrapper onClose={onClosePermissions}>
+        <ClickOutsideWrapper onClose={onClosePermissions}>
             <VCButton
                 disabled={isManual}
                 dataTestId="vc-permission-btn"
@@ -113,7 +100,7 @@ const ActionButtons = ({
                     />
                 </Overlay>
             )}
-        </EnhancedClickOutsideWrapper>
+        </ClickOutsideWrapper>
         {isCollaborator &&
             !isArchived && (
                 <div className="collaborator-action-buttons">
index 12beff7..aec8e9b 100644 (file)
@@ -1,5 +1,5 @@
 /*!
- * 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.
  * or implied. See the License for the specific language governing
  * permissions and limitations under the License.
  */
+
 import React from 'react';
 import PropTypes from 'prop-types';
 import i18n from 'nfvo-utils/i18n/i18n.js';
+import ClickOutsideWrapper from 'nfvo-components/clickOutsideWrapper/ClickOutsideWrapper.jsx';
+
 import {
     Tile,
     TileInfo,
@@ -71,12 +74,15 @@ class VendorItem extends React.Component {
                         </Button>
                         {shouldShowOverlay &&
                             softwareProductList.length > 0 && (
-                                <VSPOverlay
-                                    onMigrate={onMigrate}
-                                    VSPList={softwareProductList}
-                                    onSelectVSP={onSelectVSP}
-                                    onSeeMore={() => onVendorSelect(vendor)}
-                                />
+                                <ClickOutsideWrapper
+                                    onClose={this.handleClickOutside}>
+                                    <VSPOverlay
+                                        onMigrate={onMigrate}
+                                        VSPList={softwareProductList}
+                                        onSelectVSP={onSelectVSP}
+                                        onSeeMore={() => onVendorSelect(vendor)}
+                                    />
+                                </ClickOutsideWrapper>
                             )}
                     </TileInfoLine>
                 </TileInfo>
@@ -101,6 +107,9 @@ class VendorItem extends React.Component {
         const { onAddVSP, vendor: { id } } = this.props;
         onAddVSP(id);
     }
+    handleClickOutside = () => {
+        this.props.onVSPButtonClick(false);
+    };
 
     handleVspCountClick(e) {
         e.stopPropagation();
index afc68e1..bef88df 100644 (file)
@@ -44,12 +44,12 @@ const WorkspaceView = props => {
                 onAddVLM={
                     catalogActiveTab === catalogTabsMappping.ACTIVE
                         ? onAddLicenseModelClick
-                        : false
+                        : undefined
                 }
                 onAddVSP={
                     catalogActiveTab === catalogTabsMappping.ACTIVE
                         ? onAddSoftwareProductClick
-                        : false
+                        : undefined
                 }
                 onSelectVLM={(item, users) =>
                     onSelectLicenseModel(item, users, tabsMapping.WORKSPACE)