Updated version to Dublin
[aai/sparky-fe.git] / src / app / MainScreenWrapperReducer.js
1 /*
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017-2018 Amdocs
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *       http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21 import {aaiActionTypes} from './MainScreenWrapperConstants.js';
22 import {
23   globalAutoCompleteSearchBarActionTypes
24 } from 'app/globalAutoCompleteSearchBar/GlobalAutoCompleteSearchBarConstants.js';
25 import {
26   contextHandlerActionTypes
27 } from 'app/contextHandler/ContextHandlerConstants.js';
28
29 export default (state = {}, action) => {
30   switch (action.type) {
31     case aaiActionTypes.AAI_SHOW_MENU:
32       return {
33         ...state,
34         showMenu: action.data.showMenu,
35         toggleButtonActive: action.data.showMenu // if showing menu, then toggle
36                                                // is active
37       };
38     case aaiActionTypes.EXTENSIBLE_VIEW_NETWORK_CALLBACK_RESPONSE_RECEIVED:
39       let obj = {...state};
40       obj['extensibleViewNetworkCallbackData'] = {};
41       obj['extensibleViewNetworkCallbackData'][action.data.paramName] =  action.data.viewData;
42       // If there are some current viewData that need to be kept:
43       for(var vData in action.data.curViewData) {
44         obj['extensibleViewNetworkCallbackData'][vData] = action.data.curViewData[vData];
45       }
46       return obj;
47     case aaiActionTypes.EXTENSIBLE_VIEW_NETWORK_CALLBACK_CLEAR_DATA:
48       return {
49         ...state,
50         extensibleViewNetworkCallbackData : {}
51       };
52     case globalAutoCompleteSearchBarActionTypes.SEARCH_WARNING_EVENT:
53       return {
54         ...state,
55         extensibleViewNetworkCallbackData: {clearView: true}
56       };
57     case contextHandlerActionTypes.SINGLE_SUGGESTION_FOUND:
58       return {
59         ...state,
60         externalRequestFound: action.data
61       };
62
63     case aaiActionTypes.SET_SECONDARY_TITLE:
64       return {
65         ...state,
66         secondaryTitle: action.data
67       };
68     case contextHandlerActionTypes.SUBSCRIPTION_PAYLOAD_FOUND:
69       return {
70         ...state,
71         subscriptionPayload: action.data.subscriptionDetails,
72         subscriptionEnabled: true
73       };
74     case contextHandlerActionTypes.SUBSCRIPTION_PAYLOAD_EMPTY:
75       return {
76         ...state,
77         subscriptionEnabled: false
78       };
79   }
80   return state;
81 };
82