summaryrefslogtreecommitdiffstats
path: root/src/app
diff options
context:
space:
mode:
Diffstat (limited to 'src/app')
-rw-r--r--src/app/MainScreenWrapper.jsx10
-rw-r--r--src/app/MainScreenWrapperActionHelper.js41
-rw-r--r--src/app/tierSupport/TierSupport.jsx20
-rw-r--r--src/app/tierSupport/TierSupportConstants.js3
-rw-r--r--src/app/tierSupport/TierSupportReducer.js9
5 files changed, 78 insertions, 5 deletions
diff --git a/src/app/MainScreenWrapper.jsx b/src/app/MainScreenWrapper.jsx
index 1b1088b..d1abf12 100644
--- a/src/app/MainScreenWrapper.jsx
+++ b/src/app/MainScreenWrapper.jsx
@@ -39,6 +39,7 @@ import {
import {
windowResize,
extensibleViewNetworkCallback,
+ overlayNetworkCallback,
extensibleViewMessageCallback
} from './MainScreenWrapperActionHelper.js';
@@ -66,6 +67,9 @@ const mapActionsToProps = (dispatch) => {
},
onExtensibleViewMessageCallback: (message, messageSevirity) => {
dispatch(extensibleViewMessageCallback(message, messageSevirity));
+ },
+ onOverlayNetworkCallback: (apiUrl, body, viewName, curViewData, responseEventKey) => {
+ dispatch(overlayNetworkCallback(apiUrl, body, viewName, curViewData, responseEventKey));
}
};
};
@@ -86,7 +90,8 @@ class MainScreenWrapper extends Component {
const {
onExtensibleViewNetworkCallback,
extensibleViewNetworkCallbackData,
- onExtensibleViewMessageCallback
+ onExtensibleViewMessageCallback,
+ onOverlayNetworkCallback
} = this.props;
let customViewList = [];
@@ -105,6 +110,9 @@ class MainScreenWrapper extends Component {
networkingCallback={(apiUrl, body, paramName, curViewData) => {
onExtensibleViewNetworkCallback(apiUrl, body, paramName, curViewData);
}}
+ overlayCallback={(apiUrl, body, paramName, curOverlayData,responseEventKey) => {
+ onOverlayNetworkCallback(apiUrl, body, paramName, curOverlayData, responseEventKey);
+ }}
messagingCallback ={(message, messageSeverity) => {
onExtensibleViewMessageCallback(message, messageSeverity);
}}
diff --git a/src/app/MainScreenWrapperActionHelper.js b/src/app/MainScreenWrapperActionHelper.js
index 6278f29..3e22206 100644
--- a/src/app/MainScreenWrapperActionHelper.js
+++ b/src/app/MainScreenWrapperActionHelper.js
@@ -20,7 +20,6 @@
*
* ECOMP is a trademark and service mark of AT&T Intellectual Property.
*/
-import {aaiActionTypes} from './MainScreenWrapperConstants.js';
import {
POST,
POST_HEADER,
@@ -36,6 +35,7 @@ import {
getSetGlobalMessageEvent,
getClearGlobalMessageEvent
} from 'app/globalInlineMessageBar/GlobalInlineMessageBarActions.js';
+import {aaiActionTypes} from 'app/MainScreenWrapperConstants.js';
function createWindowSizeChangeEvent() {
return {
@@ -64,6 +64,45 @@ export function showMainMenu(show) {
};
}
+function createOverlayDataFoundEvent(overlayData, paramName, curData, responseEventKey) {
+ return {
+ type: responseEventKey,
+ data: {
+ paramName: paramName,
+ overlayData: overlayData,
+ curData: curData
+ }
+ };
+}
+
+function overlayViewData(dataFetchRequest, paramName, curData, responseEventKey) {
+ return dispatch => {
+ dataFetchRequest().then(
+ (response) => {
+ return response.json();
+ }
+ ).then(
+ (responseJson) => {
+ dispatch(createOverlayDataFoundEvent(responseJson, paramName, curData, responseEventKey));
+ }).catch(
+ () => {
+ dispatch(getSetGlobalMessageEvent(ERROR_RETRIEVING_DATA, MESSAGE_LEVEL_DANGER));
+ dispatch(createOverlayDataFoundEvent({}, paramName, curData, responseEventKey));
+ });
+ };
+}
+
+export function overlayNetworkCallback(urlApi, postBody, paramName, curData, responseEventKey) {
+ let dataFetchRequest =
+ () => fetchRequestObj(BASE_URL + urlApi, POST,
+ POST_HEADER, JSON.stringify(postBody));
+
+
+ return dispatch => {
+ dispatch(overlayViewData(dataFetchRequest, paramName, curData, responseEventKey));
+ };
+}
+
function createViewDataFoundEvent(viewData, paramName, curViewData) {
var obj = {};
obj['data'] = {};
diff --git a/src/app/tierSupport/TierSupport.jsx b/src/app/tierSupport/TierSupport.jsx
index e51dde8..8495955 100644
--- a/src/app/tierSupport/TierSupport.jsx
+++ b/src/app/tierSupport/TierSupport.jsx
@@ -31,6 +31,10 @@ import ForceDirectedGraph from 'generic-components/graph/ForceDirectedGraph.jsx'
import SelectedNodeDetails from 'app/tierSupport/selectedNodeDetails/SelectedNodeDetails.jsx';
+import {
+ overlayNetworkCallback,
+} from '../MainScreenWrapperActionHelper.js';
+
import overlaysDetails from 'resources/overlays/overlaysDetails.json';
import * as Overlays from 'app/overlays/OverlayImports.js';
@@ -48,6 +52,7 @@ import {
TSUI_NODE_DETAILS_INITIAL_WIDTH,
TSUI_NODE_DETAILS_MIN_WIDTH,
TSUI_GRAPH_MENU_NODE_DETAILS,
+ tierSupportActionTypes
} from './TierSupportConstants.js';
let mapStateToProps = (
@@ -114,6 +119,9 @@ let mapActionToProps = (dispatch) => {
},
onRequestClearData: () => {
dispatch(clearVIData());
+ },
+ onOverlayNetworkCallback: (apiUrl, body, viewName, curViewData, responseEventKey) => {
+ dispatch(overlayNetworkCallback(apiUrl, body, viewName, curViewData, responseEventKey));
}
};
};
@@ -259,7 +267,17 @@ class TierSupport extends Component {
if (this.isNotEmpty(this.props.nodeData) && overlayComponent) {
if (Overlays.default.hasOwnProperty(overlayComponent)) {
let OverlayComponent = Overlays.default[overlayComponent];
- secondOverlay = <OverlayComponent nodeDetails={this.props.nodeData}/>;
+ secondOverlay = <OverlayComponent
+ nodeDetails={this.props.nodeData}
+ networkingCallback={(apiUrl, body, paramName, curViewData) => {
+ this.props.onOverlayNetworkCallback(
+ apiUrl,
+ body,
+ paramName,
+ curViewData,
+ tierSupportActionTypes.TS_OVERLAY_NETWORK_CALLBACK_RESPONSE_RECEIVED);
+ }} />;
+
}
}
return secondOverlay;
diff --git a/src/app/tierSupport/TierSupportConstants.js b/src/app/tierSupport/TierSupportConstants.js
index d66816e..202f70c 100644
--- a/src/app/tierSupport/TierSupportConstants.js
+++ b/src/app/tierSupport/TierSupportConstants.js
@@ -34,7 +34,8 @@ export const tierSupportActionTypes = keyMirror({
SPLIT_PANE_RESIZE: null,
TIER_SUPPORT_CLEAR_DATA: null,
TIER_SUPPORT_ACTIVATE_BUSY_FEEDBACK: null,
- TIER_SUPPORT_DISABLE_BUSY_FEEDBACK: null
+ TIER_SUPPORT_DISABLE_BUSY_FEEDBACK: null,
+ TS_OVERLAY_NETWORK_CALLBACK_RESPONSE_RECEIVED: null
});
export const TSUI_NODE_DETAILS_INITIAL_WIDTH = 300;
diff --git a/src/app/tierSupport/TierSupportReducer.js b/src/app/tierSupport/TierSupportReducer.js
index c9a4faf..7062360 100644
--- a/src/app/tierSupport/TierSupportReducer.js
+++ b/src/app/tierSupport/TierSupportReducer.js
@@ -98,7 +98,7 @@ export default combineReducers({
return {
...state,
enableBusyFeedback: false
- };
+ };
case globalAutoCompleteSearchBarActionTypes.SEARCH_WARNING_EVENT:
let emptyNodesAndLinksWarningEvent = ForceDirectedGraph.generateNewProps([], [], {});
return {
@@ -118,6 +118,13 @@ export default combineReducers({
} else {
return state;
}
+ case tierSupportActionTypes.TS_OVERLAY_NETWORK_CALLBACK_RESPONSE_RECEIVED:
+ let newNodeData = JSON.parse(JSON.stringify(action.data.curData));
+ newNodeData[action.data.paramName] = action.data.overlayData;
+ return {
+ ...state,
+ nodeData: newNodeData
+ };
}
return state;