Updating versions of Sparky FE files
[aai/sparky-fe.git] / src / app / vnfSearch / VnfSearchReducer.js
1 /*
2  * ============LICENSE_START=======================================================
3  * org.onap.aai
4  * ================================================================================
5  * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * Copyright © 2017 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  * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  */
23 import {
24   vnfActionTypes,
25   CHART_ORCH_STATUS,
26   CHART_PROV_STATUS,
27   CHART_NF_ROLE,
28   CHART_NF_TYPE,
29   TOTAL_VNF_COUNT
30 } from 'app/vnfSearch/VnfSearchConstants.js';
31 import {ERROR_RETRIEVING_DATA} from 'app/networking/NetworkConstants.js';
32 import {
33   filterBarActionTypes,
34   MESSAGE_LEVEL_DANGER
35 } from 'utils/GlobalConstants.js';
36 import {
37   globalAutoCompleteSearchBarActionTypes
38 } from 'app/globalAutoCompleteSearchBar/GlobalAutoCompleteSearchBarConstants.js';
39
40 export default (state = {}, action) => {
41   let data = action.data;
42   switch (action.type) {
43     case vnfActionTypes.VNF_NETWORK_ERROR:
44       return {
45         ...state,
46         processedProvStatusCountChartData: CHART_PROV_STATUS.emptyData,
47         processedOrchStatusCountChartData: CHART_ORCH_STATUS.emptyData,
48         processedNfTypeCountChartData: CHART_NF_TYPE.emptyData,
49         processedNfRoleCountChartData: CHART_NF_ROLE.emptyData,
50         count: TOTAL_VNF_COUNT.emptyValue,
51         feedbackMsgText: ERROR_RETRIEVING_DATA,
52         feedbackMsgSeverity: MESSAGE_LEVEL_DANGER
53       };
54     case globalAutoCompleteSearchBarActionTypes.SEARCH_WARNING_EVENT:
55       return {
56         ...state,
57         processedProvStatusCountChartData: CHART_PROV_STATUS.emptyData,
58         processedOrchStatusCountChartData: CHART_ORCH_STATUS.emptyData,
59         processedNfTypeCountChartData: CHART_NF_TYPE.emptyData,
60         processedNfRoleCountChartData: CHART_NF_ROLE.emptyData,
61         count: TOTAL_VNF_COUNT.emptyValue
62       };
63     case filterBarActionTypes.NEW_SELECTIONS:
64       return {
65         ...state,
66         vnfFilterValues: data.selectedValuesMap,
67         unifiedFilterValues: data.unifiedValues
68       };
69     case filterBarActionTypes.SET_UNIFIED_VALUES:
70       return {
71         ...state,
72         unifiedFilterValues: data
73       };
74     case vnfActionTypes.VNF_SEARCH_RESULTS_RECEIVED:
75       return {
76         ...state,
77         count: data.count,
78         processedProvStatusCountChartData: data.provStatusData,
79         processedOrchStatusCountChartData: data.orchStatusData,
80         processedNfTypeCountChartData: data.nfTypeData,
81         processedNfRoleCountChartData: data.nfRoleData,
82         feedbackMsgText: '',
83         feedbackMsgSeverity: ''
84       };
85     case vnfActionTypes.VNF_FILTER_PANEL_TOGGLED:
86       return {
87         ...state,
88         vnfVisualizationPanelClass: data.vnfVisualizationPanelClass
89       };
90     case vnfActionTypes.VNF_SEARCH_FILTERS_RECEIVED:
91       return {
92         ...state,
93         vnfFilters: data
94       };
95     case filterBarActionTypes.SET_NON_CONVERTED_VALUES:
96       return {
97         ...state,
98         nonConvertedFilters: data
99       };
100     case filterBarActionTypes.SET_CONVERTED_VALUES:
101       return {
102         ...state,
103         nonConvertedFilters: {},
104         unifiedFilterValues: data.convertedValues,
105         vnfFilterValues: data.nonConvertedValues  // launching DI view via menu button requires this
106                                                   // to be set so visualizations and table will populate themselves
107       };
108     case filterBarActionTypes.CLEAR_FILTERS:
109       return {
110         ...state,
111         vnfFilters: {},
112         vnfFilterValues: {},
113         nonConvertedFilters: {},
114         unifiedFilterValues: {}
115       };
116   }
117
118   return state;
119 };