Merge "Add tests to Inventory module"
[aai/sparky-fe.git] / src / generic-components / notifications / NotificationReducer.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 NotificationConstants from './NotificationConstants.js';
22
23 export default (state = null, action) => {
24     switch (action.type) {
25         case NotificationConstants.NOTIFY_INFO:
26             return createStatus('default', action);
27         case NotificationConstants.NOTIFY_ERROR:
28             return createStatus('error', action);
29         case NotificationConstants.NOTIFY_WARNING:
30             return createStatus('warning', action);
31         case NotificationConstants.NOTIFY_SUCCESS:
32             return createStatus('success', action);
33         case NotificationConstants.NOTIFY_CLOSE:
34             return null;
35         default:
36             return state;
37     }
38
39 };
40
41 function createStatus(type, action) {
42     return {
43         type: type,
44         title: action.data.title,
45         msg: action.data.msg,
46         timeout: action.data.timeout
47     };
48 }