Merge "Fix failed tests"
[aai/sparky-fe.git] / src / app / MainScreenWrapper.jsx
index d1abf12..6689af9 100644 (file)
@@ -2,8 +2,8 @@
  * ============LICENSE_START=======================================================
  * org.onap.aai
  * ================================================================================
- * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- * Copyright © 2017 Amdocs
+ * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright © 2017-2018 Amdocs
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -17,8 +17,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  * ============LICENSE_END=========================================================
- *
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
  */
 import React, {Component} from 'react';
 import {connect} from 'react-redux';
@@ -27,8 +25,8 @@ import TierSupport from './tierSupport/TierSupport.jsx';
 import VnfSearch from './vnfSearch/VnfSearch.jsx';
 import MainScreenHeader from './MainScreenHeader.jsx';
 import {decryptParamsForView, changeUrlAddress} from 'utils/Routes.js';
-
-
+import {isEmpty} from 'lodash';
+import {genericRequest} from 'app/networking/NetworkCalls.js';
 import {
   Route,
   HashRouter as Router,
@@ -96,9 +94,20 @@ class MainScreenWrapper extends Component {
 
     let customViewList = [];
     extensibleViews.forEach(function(view,key) {
+
+      let path = '',
+        extKey = '';
+      if(isEmpty(extensibleViews[key]['viewParams'])){
+        path = '/' + view.viewName + '/:extensibleViewParams?';
+        extKey = view.viewName + 'Route';
+      } else {
+        path = '/' + view.viewName  + view.viewParams;
+        extKey = view.viewName + view.viewParams + 'Route';
+      }
+
       var renderComponent = (props) => {
         let viewParams = {};
-        if(props.match.params.extensibleViewParams !== undefined) {
+        if(isEmpty(extensibleViews[key]['viewParams']) && props.match.params.extensibleViewParams !== undefined) {
           viewParams = decryptParamsForView(props.match.params.extensibleViewParams);
         }
 
@@ -119,17 +128,25 @@ class MainScreenWrapper extends Component {
               changeRouteCallback = {(routeParam, historyObj) => {
                 changeUrlAddress(routeParam, historyObj);
               }}
+              networkingCallbackPromise = {(url, relativeURL, httpMethodType) => {
+                return genericRequest(url, relativeURL, httpMethodType);
+              }}
               viewName={view.displayName}
               viewData={extensibleViewNetworkCallbackData}
               viewParams={viewParams}/>
           );
         }
       };
-
-      customViewList.push(
-          <Route key={extensibleViews[key]['viewName'] + 'Route'} path={'/' + extensibleViews[key]['viewName'] + '/:extensibleViewParams?' }
-             render={renderComponent}/>
+      if(isEmpty(extensibleViews[key]['isExact']) && !extensibleViews[key]['isExact']){
+        customViewList.push(
+          <Route key={extKey} path={path} render={renderComponent}/>
+      );
+      } else {
+        customViewList.push(
+          <Route key={extKey} exact path={path} render={renderComponent}/>
       );
+      }
+      
     });
 
     return (