[AAI] Remove Robby Maharajh & Harish Kajur as committers
[aai/sparky-fe.git] / src / app / vnfSearch / VnfSearchReducer.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 {
22   vnfActionTypes,
23   CHART_ORCH_STATUS,
24   CHART_PROV_STATUS,
25   CHART_NF_ROLE,
26   CHART_NF_TYPE,
27   TOTAL_VNF_COUNT
28 } from 'app/vnfSearch/VnfSearchConstants.js';
29 import {ERROR_RETRIEVING_DATA} from 'app/networking/NetworkConstants.js';
30 import {
31   filterBarActionTypes,
32   MESSAGE_LEVEL_DANGER
33 } from 'utils/GlobalConstants.js';
34 import {
35   globalAutoCompleteSearchBarActionTypes
36 } from 'app/globalAutoCompleteSearchBar/GlobalAutoCompleteSearchBarConstants.js';
37
38 export default (state = {}, action) => {
39   let data = action.data;
40   switch (action.type) {
41     case vnfActionTypes.VNF_NETWORK_ERROR:
42       return {
43         ...state,
44         processedProvStatusCountChartData: CHART_PROV_STATUS.emptyData,
45         processedOrchStatusCountChartData: CHART_ORCH_STATUS.emptyData,
46         processedNfTypeCountChartData: CHART_NF_TYPE.emptyData,
47         processedNfRoleCountChartData: CHART_NF_ROLE.emptyData,
48         count: TOTAL_VNF_COUNT.emptyValue,
49         feedbackMsgText: ERROR_RETRIEVING_DATA,
50         feedbackMsgSeverity: MESSAGE_LEVEL_DANGER
51       };
52     case globalAutoCompleteSearchBarActionTypes.SEARCH_WARNING_EVENT:
53       return {
54         ...state,
55         processedProvStatusCountChartData: CHART_PROV_STATUS.emptyData,
56         processedOrchStatusCountChartData: CHART_ORCH_STATUS.emptyData,
57         processedNfTypeCountChartData: CHART_NF_TYPE.emptyData,
58         processedNfRoleCountChartData: CHART_NF_ROLE.emptyData,
59         count: TOTAL_VNF_COUNT.emptyValue
60       };
61     case filterBarActionTypes.NEW_SELECTIONS:
62       return {
63         ...state,
64         vnfFilterValues: data.selectedValuesMap,
65         unifiedFilterValues: data.unifiedValues
66       };
67     case filterBarActionTypes.SET_UNIFIED_VALUES:
68       return {
69         ...state,
70         unifiedFilterValues: data
71       };
72     case vnfActionTypes.VNF_SEARCH_RESULTS_RECEIVED:
73       return {
74         ...state,
75         count: data.count,
76         processedProvStatusCountChartData: data.provStatusData,
77         processedOrchStatusCountChartData: data.orchStatusData,
78         processedNfTypeCountChartData: data.nfTypeData,
79         processedNfRoleCountChartData: data.nfRoleData,
80         feedbackMsgText: '',
81         feedbackMsgSeverity: ''
82       };
83     case vnfActionTypes.VNF_FILTER_PANEL_TOGGLED:
84       return {
85         ...state,
86         vnfVisualizationPanelClass: data.vnfVisualizationPanelClass
87       };
88     case vnfActionTypes.VNF_SEARCH_FILTERS_RECEIVED:
89       return {
90         ...state,
91         vnfFilters: data
92       };
93     case filterBarActionTypes.SET_NON_CONVERTED_VALUES:
94       return {
95         ...state,
96         nonConvertedFilters: data
97       };
98     case filterBarActionTypes.SET_CONVERTED_VALUES:
99       return {
100         ...state,
101         nonConvertedFilters: {},
102         unifiedFilterValues: data.convertedValues,
103         vnfFilterValues: data.nonConvertedValues  // launching DI view via menu button requires this
104                                                   // to be set so visualizations and table will populate themselves
105       };
106     case vnfActionTypes.VNF_ACTIVATE_BUSY_FEEDBACK:
107       return {
108         ...state,
109         enableBusyFeedback: true
110       };
111     case vnfActionTypes.VNF_DISABLE_BUSY_FEEDBACK:
112       return {
113         ...state,
114         enableBusyFeedback: false
115       }; 
116     case filterBarActionTypes.CLEAR_FILTERS:
117       return {
118         ...state,
119         vnfFilters: {},
120         vnfFilterValues: {},
121         nonConvertedFilters: {},
122         unifiedFilterValues: {}
123       };
124   }
125
126   return state;
127 };