2 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 import {actionTypes, defaultState, SP_ENTITLEMENT_POOL_FORM} from './EntitlementPoolsConstants.js';
17 import moment from 'moment';
18 import {DATE_FORMAT} from 'sdc-app/onboarding/OnboardingConstants.js';
20 export default (state = {}, action) => {
21 switch (action.type) {
22 case actionTypes.entitlementPoolsEditor.OPEN:
23 let entitlementPoolData = {...action.entitlementPool};
24 let {startDate, expiryDate} = entitlementPoolData;
26 entitlementPoolData.startDate = moment(startDate, DATE_FORMAT).format(DATE_FORMAT);
29 entitlementPoolData.expiryDate = moment(expiryDate, DATE_FORMAT).format(DATE_FORMAT);
34 formName: SP_ENTITLEMENT_POOL_FORM,
39 validations: [{type: 'required', data: true}, {type: 'maxLength', data: 120}]
44 validations: [{type: 'required', data: true}, {type: 'maxLength', data: 1000}]
46 'manufacturerReferenceNumber' : {
49 validations: [{type: 'required', data: true}, {type: 'maxLength', data: 100}]
54 validations: [{type: 'maxLength', data: 120}]
56 'operationalScope' : {
59 validations: [{type: 'required', data: true}]
64 validations: [{type: 'required', data: true}]
69 validations: [{type: 'required', data: true}]
71 'entitlementMetric' : {
74 validations: [{type: 'required', data: true}]
76 'aggregationFunction' : {
79 validations: [{type: 'required', data: true}]
84 validations: [{type: 'required', data: true}]
97 data: action.entitlementPool ? entitlementPoolData : defaultState.ENTITLEMENT_POOLS_EDITOR_DATA
99 case actionTypes.entitlementPoolsEditor.DATA_CHANGED:
107 case actionTypes.entitlementPoolsEditor.CLOSE: