From ec7da6aea30a1b73d1e0f5f75d2b6119ed8fa251 Mon Sep 17 00:00:00 2001 From: "Ben David, Elad (eb7504)" Date: Tue, 17 Mar 2020 18:12:17 +0200 Subject: Entitlement Pool - Support Type Field Change-Id: Ibd9996cce04849332bd23dd62e6143386cdd9a70 Issue-ID: SDC-2820 Signed-off-by: Ben David, Elad (eb7504) --- .../EntitlementPoolsActionHelper.js | 2 + .../entitlementPools/EntitlementPoolsConstants.js | 12 +- .../EntitlementPoolsEditorReducer.js | 5 + .../EntitlementPoolsListEditorView.jsx | 11 +- .../entitlementPools/components/FormContent.jsx | 175 ++++++++++++--------- 5 files changed, 122 insertions(+), 83 deletions(-) (limited to 'openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools') diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js index dec7d9c3b8..f1e2f2d956 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js @@ -41,6 +41,7 @@ function postEntitlementPool(licenseModelId, entitlementPool, version) { return RestAPIUtil.post(baseUrl(licenseModelId, version), { name: entitlementPool.name, description: entitlementPool.description, + type: entitlementPool.type, thresholdValue: entitlementPool.thresholdValue, thresholdUnits: getValue(entitlementPool.thresholdUnits), increments: entitlementPool.increments, @@ -62,6 +63,7 @@ function putEntitlementPool( { name: entitlementPool.name, description: entitlementPool.description, + type: entitlementPool.type, thresholdValue: entitlementPool.thresholdValue, thresholdUnits: getValue(entitlementPool.thresholdUnits), increments: entitlementPool.increments, diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsConstants.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsConstants.js index d4a2f0954c..571b512007 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsConstants.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsConstants.js @@ -58,6 +58,12 @@ export const thresholdUnitType = { }; export const optionsInputValues = { + TYPE: [ + { enum: '', title: i18n('please select…') }, + { enum: 'Universal', title: 'Universal' }, + { enum: 'Unique', title: 'Unique' }, + { enum: 'One_Time', title: 'One Time' } + ], TIME: [ { enum: '', title: i18n('please select…') }, { enum: 'Hour', title: 'Hour' }, @@ -91,9 +97,9 @@ export const extractValue = item => { return ''; } //TODO fix it later return item - ? item.choice === optionInputOther.OTHER - ? item.other - : InputOptions.getTitleByName(optionsInputValues, item.choice) + ? item === optionInputOther.OTHER + ? item + : InputOptions.getTitleByName(optionsInputValues, item) : ''; }; diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorReducer.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorReducer.js index eb9cd51346..674a8eba51 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorReducer.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorReducer.js @@ -56,6 +56,11 @@ export default (state = {}, action) => { errorText: '', validations: [{ type: 'maxLength', data: 1000 }] }, + type: { + isValid: true, + errorText: '', + validations: [{ type: 'required', data: true }] + }, increments: { isValid: true, errorText: '', diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditorView.jsx index 2592687298..7e980f1320 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditorView.jsx +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditorView.jsx @@ -20,7 +20,8 @@ import i18n from 'nfvo-utils/i18n/i18n.js'; import ListEditorView from 'nfvo-components/listEditor/ListEditorView.jsx'; import ListEditorItemView from 'nfvo-components/listEditor/ListEditorItemView.jsx'; -import { extractUnits } from './EntitlementPoolsConstants'; +import { optionsInputValues, extractUnits } from './EntitlementPoolsConstants'; +import InputOptions from 'nfvo-components/input/validation/InputOptions.jsx'; class EntitlementPoolsListEditorView extends React.Component { static propTypes = { @@ -89,6 +90,7 @@ class EntitlementPoolsListEditorView extends React.Component { let { id, name, + type, description, thresholdValue, thresholdUnits, @@ -111,7 +113,12 @@ class EntitlementPoolsListEditorView extends React.Component {
{name}
- +
+
{i18n('Type')}
+
+ {InputOptions.getTitleByName(optionsInputValues, type)} +
+
{i18n('Entitlement')}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/components/FormContent.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/components/FormContent.jsx index b734a88d67..9eb38dec64 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/components/FormContent.jsx +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/components/FormContent.jsx @@ -19,7 +19,10 @@ import i18n from 'nfvo-utils/i18n/i18n.js'; import GridSection from 'nfvo-components/grid/GridSection.jsx'; import GridItem from 'nfvo-components/grid/GridItem.jsx'; import Input from 'nfvo-components/input/validation/Input.jsx'; -import { SP_ENTITLEMENT_POOL_FORM } from '../EntitlementPoolsConstants.js'; +import { + optionsInputValues, + SP_ENTITLEMENT_POOL_FORM +} from 'sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsConstants.js'; import { DATE_FORMAT } from 'sdc-app/onboarding/OnboardingConstants.js'; import { optionsInputValues as LicenseModelOptionsInputValues } from '../../LicenseModelConstants.js'; import UuId from 'sdc-app/onboarding/licenseModel/components/UuId.jsx'; @@ -34,6 +37,7 @@ export const EntitlementPoolsFormContent = ({ }) => { let { name, + type, description, thresholdUnits, thresholdValue, @@ -45,7 +49,7 @@ export const EntitlementPoolsFormContent = ({ versionUUID } = data; return ( - + @@ -62,7 +66,44 @@ export const EntitlementPoolsFormContent = ({ type="text" /> - + + { + const selectedIndex = e.target.selectedIndex; + const val = e.target.options[selectedIndex].value; + onDataChanged({ type: val }, SP_ENTITLEMENT_POOL_FORM); + }} + value={type} + label={i18n('Type')} + data-test-id="create-ep-type" + isValid={genericFieldInfo.type.isValid} + errorText={genericFieldInfo.type.errorText} + groupClassName="bootstrap-input-options" + className="input-options-select" + overlayPos="bottom" + type="select"> + {optionsInputValues.TYPE.map(type => ( + + ))} + + + + + onDataChanged({ description }, SP_ENTITLEMENT_POOL_FORM) + } + isValid={genericFieldInfo.description.isValid} + errorText={genericFieldInfo.description.errorText} + label={i18n('Description')} + value={description} + data-test-id="create-ep-description" + type="textarea" + /> + + { // setting the unit to the correct value @@ -97,21 +138,30 @@ export const EntitlementPoolsFormContent = ({ ) )} - - - onDataChanged({ description }, SP_ENTITLEMENT_POOL_FORM) + type="date" + label={i18n('Start Date')} + value={startDate} + dateFormat={DATE_FORMAT} + startDate={startDate} + endDate={expiryDate} + onChange={startDate => + onDataChanged( + { + startDate: startDate + ? startDate.format(DATE_FORMAT) + : '' + }, + SP_ENTITLEMENT_POOL_FORM, + { startDate: validateStartDate } + ) } - isValid={genericFieldInfo.description.isValid} - errorText={genericFieldInfo.description.errorText} - label={i18n('Description')} - value={description} - data-test-id="create-ep-description" - type="textarea" + isValid={genericFieldInfo.startDate.isValid} + errorText={genericFieldInfo.startDate.errorText} + selectsStart /> - + @@ -131,16 +181,30 @@ export const EntitlementPoolsFormContent = ({ type="text" /> - onDataChanged({ increments }, SP_ENTITLEMENT_POOL_FORM) - } - label={i18n('Increments')} - value={increments} - data-test-id="create-ep-increments" - type="text" + type="date" + label={i18n('Expiry Date')} + value={expiryDate} + dateFormat={DATE_FORMAT} + startDate={startDate} + endDate={expiryDate} + onChange={expiryDate => { + onDataChanged( + { + expiryDate: expiryDate + ? expiryDate.format(DATE_FORMAT) + : '' + }, + SP_ENTITLEMENT_POOL_FORM + ); + onDataChanged({ startDate }, SP_ENTITLEMENT_POOL_FORM, { + startDate: validateStartDate + }); + }} + isValid={genericFieldInfo.expiryDate.isValid} + errorText={genericFieldInfo.expiryDate.errorText} + selectsEnd /> - - -
- - onDataChanged( - { - startDate: startDate - ? startDate.format(DATE_FORMAT) - : '' - }, - SP_ENTITLEMENT_POOL_FORM, - { startDate: validateStartDate } - ) - } - isValid={genericFieldInfo.startDate.isValid} - errorText={genericFieldInfo.startDate.errorText} - selectsStart - /> - { - onDataChanged( - { - expiryDate: expiryDate - ? expiryDate.format(DATE_FORMAT) - : '' - }, - SP_ENTITLEMENT_POOL_FORM - ); - onDataChanged( - { startDate }, - SP_ENTITLEMENT_POOL_FORM, - { - startDate: validateStartDate - } - ); - }} - isValid={genericFieldInfo.expiryDate.isValid} - errorText={genericFieldInfo.expiryDate.errorText} - selectsEnd - /> -
+ + + onDataChanged({ increments }, SP_ENTITLEMENT_POOL_FORM) + } + label={i18n('Increments')} + value={increments} + data-test-id="create-ep-increments" + groupClassName="no-bottom-margin" + type="text" + /> {id && versionUUID && }
-- cgit 1.2.3-korg