X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fapp%2FMainScreenWrapperActionHelper.js;h=371ea420ed213e932432a83ffe8d840e1b1430d5;hb=a751b5f89520b1eb198a6b4f1f34aa0d59c1e6f2;hp=7918ec9ba795185439237890bc9edce4fb61231a;hpb=c1917730a648ddbb6cd51307cea9464a697700d8;p=aai%2Fsparky-fe.git diff --git a/src/app/MainScreenWrapperActionHelper.js b/src/app/MainScreenWrapperActionHelper.js index 7918ec9..371ea42 100644 --- a/src/app/MainScreenWrapperActionHelper.js +++ b/src/app/MainScreenWrapperActionHelper.js @@ -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,10 +17,23 @@ * 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 {aaiActionTypes} from './MainScreenWrapperConstants.js'; +import { + POST, + POST_HEADER, + BASE_URL, + ERROR_RETRIEVING_DATA +} from 'app/networking/NetworkConstants.js'; +import { + MESSAGE_LEVEL_DANGER +} from 'utils/GlobalConstants.js'; +import {fetchRequestObj} from 'app/networking/NetworkCalls.js'; + +import { + getSetGlobalMessageEvent, + getClearGlobalMessageEvent +} from 'app/globalInlineMessageBar/GlobalInlineMessageBarActions.js'; +import {aaiActionTypes} from 'app/MainScreenWrapperConstants.js'; function createWindowSizeChangeEvent() { return { @@ -48,3 +61,110 @@ export function showMainMenu(show) { dispatch(createShowMenuEvent(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'] = {}; + obj['data']['paramName'] = paramName; + obj['data']['viewData'] = viewData; + obj['data']['curViewData'] = curViewData; + obj['type'] = aaiActionTypes.EXTENSIBLE_VIEW_NETWORK_CALLBACK_RESPONSE_RECEIVED; + + return obj; +} + +function extensibleViewData(dataFetchRequest, paramName, curViewData) { + return dispatch => { + return dataFetchRequest().then( + (response) => { + return response.json(); + } + ).then( + (responseJson) => { + dispatch(createViewDataFoundEvent(responseJson, paramName, curViewData)); + }).catch( + () => { + dispatch(getSetGlobalMessageEvent(ERROR_RETRIEVING_DATA, MESSAGE_LEVEL_DANGER)); + dispatch(createViewDataFoundEvent({}, paramName, curViewData)); + //To-do: If need to send a flag later on to the view, add a function to have the flag + }); + }; +} + +export function extensibleViewNetworkCallback(urlApi, postBody, paramName, curViewData) { + + let dataFetchRequest = + () => fetchRequestObj(BASE_URL + urlApi, POST, + POST_HEADER, postBody); + + + return dispatch => { + dispatch(extensibleViewData(dataFetchRequest, paramName, curViewData)); + }; +} + +export function extensibleViewMessageCallback(msgText, msgSeverity) { + if (msgText.length > 0) { + return dispatch => { + dispatch( + getSetGlobalMessageEvent(msgText, msgSeverity)); + }; + } else { + return dispatch => { + dispatch(getClearGlobalMessageEvent()); + }; + } +} + +export function clearExtensibleViewData() { + return { + type: aaiActionTypes.EXTENSIBLE_VIEW_NETWORK_CALLBACK_CLEAR_DATA, + data: {} + }; +} + +export function setSecondaryTitle(title) { + return { + type: aaiActionTypes.SET_SECONDARY_TITLE, + data: title + }; +}