Fix license key group and entitlement pools required fields
[sdc.git] / openecomp-ui / src / sdc-app / onboarding / licenseModel / featureGroups / FeatureGroupsEditorReducer.js
1 /*!
2  * Copyright © 2016-2018 European Support Limited
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13  * or implied. See the License for the specific language governing
14  * permissions and limitations under the License.
15  */
16
17 import {
18     actionTypes,
19     FG_EDITOR_FORM,
20     state as FeatureGroupStateConstants
21 } from './FeatureGroupsConstants.js';
22
23 export default (state = {}, action) => {
24     switch (action.type) {
25         case actionTypes.featureGroupsEditor.OPEN:
26             return {
27                 ...state,
28                 data: action.featureGroup || {},
29                 formReady: null,
30                 formName: FG_EDITOR_FORM,
31                 genericFieldInfo: {
32                     description: {
33                         isValid: true,
34                         errorText: '',
35                         validations: [{ type: 'maxLength', data: 1000 }],
36                         tabId:
37                             FeatureGroupStateConstants
38                                 .SELECTED_FEATURE_GROUP_TAB.GENERAL
39                     },
40                     partNumber: {
41                         isValid: true,
42                         errorText: '',
43                         validations: [
44                             { type: 'required', data: true },
45                             { type: 'validateName', data: true }
46                         ],
47                         tabId:
48                             FeatureGroupStateConstants
49                                 .SELECTED_FEATURE_GROUP_TAB.GENERAL
50                     },
51                     name: {
52                         isValid: true,
53                         errorText: '',
54                         validations: [
55                             { type: 'required', data: true },
56                             { type: 'maxLength', data: 120 },
57                             { type: 'validateName', data: true }
58                         ],
59                         tabId:
60                             FeatureGroupStateConstants
61                                 .SELECTED_FEATURE_GROUP_TAB.GENERAL
62                     }
63                 }
64             };
65         case actionTypes.featureGroupsEditor.CLOSE:
66             return {};
67         case actionTypes.featureGroupsEditor.SELECT_TAB:
68             return {
69                 ...state,
70                 selectedTab: action.tab
71             };
72
73         case actionTypes.featureGroupsEditor
74             .SELECTED_ENTITLEMENT_POOLS_BUTTONTAB:
75             return {
76                 ...state,
77                 selectedEntitlementPoolsButtonTab: action.buttonTab
78             };
79         case actionTypes.featureGroupsEditor
80             .SELECTED_LICENSE_KEY_GROUPS_BUTTONTAB:
81             return {
82                 ...state,
83                 selectedLicenseKeyGroupsButtonTab: action.buttonTab
84             };
85         default:
86             return state;
87     }
88 };