+
+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 => 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
+ };
+}