diff options
author | ilanap <ilanap@amdocs.com> | 2017-11-07 11:54:10 +0200 |
---|---|---|
committer | ilanap <ilanap@amdocs.com> | 2017-11-07 11:59:26 +0200 |
commit | c6a41de2f5a2e3217c8364dcd27f297069fc005f (patch) | |
tree | 5e83c950a7ff6c384973ef44e6c4246a9d618505 /openecomp-ui/src/sdc-app | |
parent | d5fdfc4e67ba9839e680fa685134660659356c68 (diff) |
Update VLM Overview tab behavior
Issue-ID: SDC-637
Change-Id: I30211422b9af72a8e2dc4fd58713145878881555
Signed-off-by: ilanap <ilanap@amdocs.com>
Diffstat (limited to 'openecomp-ui/src/sdc-app')
5 files changed, 33 insertions, 25 deletions
diff --git a/openecomp-ui/src/sdc-app/onboarding/OnboardingActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/OnboardingActionHelper.js index fc65083bff..2788d4db92 100644 --- a/openecomp-ui/src/sdc-app/onboarding/OnboardingActionHelper.js +++ b/openecomp-ui/src/sdc-app/onboarding/OnboardingActionHelper.js @@ -35,7 +35,6 @@ import {navigationItems as SoftwareProductNavigationItems, actionTypes as Softwa import ActivityLogActionHelper from 'sdc-app/common/activity-log/ActivityLogActionHelper.js'; import licenseModelOverviewActionHelper from 'sdc-app/onboarding/licenseModel/overview/licenseModelOverviewActionHelper.js'; import store from 'sdc-app/AppStore.js'; -import {selectedButton as licenseModelOverviewSelectedButton} from 'sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewConstants.js'; import {tabsMapping as attachmentsTabsMapping} from 'sdc-app/onboarding/softwareProduct/attachments/SoftwareProductAttachmentsConstants.js'; import SoftwareProductAttachmentsActionHelper from 'sdc-app/onboarding/softwareProduct/attachments/SoftwareProductAttachmentsActionHelper.js'; @@ -99,7 +98,7 @@ export default { LicenseModelActionHelper.fetchLicenseModelItems(dispatch, {licenseModelId, version}).then(() =>{ setCurrentScreen(dispatch, enums.SCREEN.LICENSE_MODEL_OVERVIEW, {licenseModelId, version}); }); - licenseModelOverviewActionHelper.selectVLMListView(dispatch, {buttonTab: licenseModelOverviewSelectedButton.VLM_LIST_VIEW}); + licenseModelOverviewActionHelper.selectVLMListView(dispatch, {buttonTab: null}); }); }, navigateToLicenseAgreements(dispatch, {licenseModelId, version}) { diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelReducer.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelReducer.js index 80beda22b5..f635532348 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelReducer.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelReducer.js @@ -34,7 +34,7 @@ import licenseKeyGroupsListReducer from './licenseKeyGroups/LicenseKeyGroupsList import {createPlainDataReducer} from 'sdc-app/common/reducers/PlainDataReducer.js'; -import {actionTypes as licenseModelOverviewConstants, selectedButton, VLM_DESCRIPTION_FORM} from './overview/LicenseModelOverviewConstants.js'; +import {actionTypes as licenseModelOverviewConstants, VLM_DESCRIPTION_FORM} from './overview/LicenseModelOverviewConstants.js'; import limitEditorReducer from './limits/LimitEditorReducer.js'; export default combineReducers({ @@ -58,7 +58,7 @@ export default combineReducers({ licenseKeyGroupsList: licenseKeyGroupsListReducer }), licenseModelOverview: combineReducers({ - selectedTab: (state = selectedButton.VLM_LIST_VIEW, action) => action.type === licenseModelOverviewConstants.LICENSE_MODEL_OVERVIEW_TAB_SELECTED ? action.buttonTab : state, + selectedTab: (state = null, action) => action.type === licenseModelOverviewConstants.LICENSE_MODEL_OVERVIEW_TAB_SELECTED ? action.buttonTab : state, descriptionEditor: createPlainDataReducer(function(state = false, action) { if (action.type === licenseModelOverviewConstants.LM_DATA_CHANGED) { return { diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverview.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverview.js index 1ca4f37988..9d714ec62d 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverview.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverview.js @@ -128,17 +128,18 @@ export const mapStateToProps = ({licenseModel: {licenseModelEditor, entitlementP modalHeader = overviewEditorHeaders.LICENSE_KEY_GROUP; isDisplayModal = true; } - - if (licenseModelOverview.selectedTab === selectedButton.NOT_IN_USE) { - licensingDataList = [ - ...featureGroup.featureGroupsList.reduce(checkFG, []), - ...entitlementPool.entitlementPoolsList.reduce(checkEP, []), - ...licenseKeyGroup.licenseKeyGroupsList.reduce(checkLG, []) - ]; - }else { - licensingDataList = licenseAgreement.licenseAgreementList && licenseAgreement.licenseAgreementList.length ? licenseAgreement.licenseAgreementList.map(mapLicenseAgreementData) : []; + let orphanDataList = [ + ...featureGroup.featureGroupsList.reduce(checkFG, []), + ...entitlementPool.entitlementPoolsList.reduce(checkEP, []), + ...licenseKeyGroup.licenseKeyGroupsList.reduce(checkLG, []) + ]; + + licensingDataList = licenseAgreement.licenseAgreementList && licenseAgreement.licenseAgreementList.length ? licenseAgreement.licenseAgreementList.map(mapLicenseAgreementData) : []; + let selectedTab = licenseModelOverview.selectedTab; + // on first entry, we will decide what tab to open depending on data. if there are no connections, we will open the orphans + if (selectedTab === null) { + selectedTab = (licensingDataList.length) ? selectedButton.VLM_LIST_VIEW : selectedButton.NOT_IN_USE; } - return { isReadOnlyMode: VersionControllerUtils.isReadOnly(licenseModelEditor.data), isDisplayModal, @@ -146,8 +147,8 @@ export const mapStateToProps = ({licenseModel: {licenseModelEditor, entitlementP licenseModelId: licenseModelEditor.data.id, version: licenseModelEditor.data.version, licensingDataList, - selectedTab: licenseModelOverview.selectedTab - + orphanDataList, + selectedTab }; }; diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewView.jsx index 15f6c2d1bb..77289a3e08 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewView.jsx +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverviewView.jsx @@ -51,6 +51,7 @@ class LicenseModelOverviewView extends React.Component { isReadOnlyMode: React.PropTypes.bool, licenseModelId: React.PropTypes.string, licensingDataList: React.PropTypes.array, + orphanDataList: React.PropTypes.array, modalHeader: React.PropTypes.string, selectedTab: React.PropTypes.string, onTabSelect: React.PropTypes.func, @@ -59,17 +60,20 @@ class LicenseModelOverviewView extends React.Component { }; render() { - let {isDisplayModal, modalHeader, licensingDataList, selectedTab, onTabSelect} = this.props; + let {isDisplayModal, modalHeader, licensingDataList, selectedTab, onTabSelect, orphanDataList} = this.props; let selectedInUse = selectedTab !== selectedButton.NOT_IN_USE; - + let dataList = selectedInUse ? licensingDataList : orphanDataList; return( <div className='license-model-overview'> <SummaryView/> <div className={classNames('overview-list-section ', !selectedInUse ? 'overview-list-orphans' : '' )}> <div className='vlm-list-tab-panel'> - <ListButtons onTabSelect={onTabSelect} selectedTab={selectedTab}/> + <ListButtons onTabSelect={onTabSelect} + selectedTab={selectedTab} + hasOrphans={orphanDataList.length > 0} + hasLicensing={licensingDataList.length > 0}/> </div> - <VLMListView licensingDataList={licensingDataList} showInUse={selectedInUse}/> + <VLMListView licensingDataList={dataList} showInUse={selectedInUse}/> </div> { isDisplayModal && diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/summary/ListButtons.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/summary/ListButtons.jsx index 3d81aa5d5c..f02c82d205 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/summary/ListButtons.jsx +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/summary/ListButtons.jsx @@ -19,18 +19,22 @@ import Tabs from 'sdc-ui/lib/react/Tabs.js'; import Tab from 'sdc-ui/lib/react/Tab.js'; import i18n from 'nfvo-utils/i18n/i18n.js'; -function ListButtons ({onTabSelect, selectedTab}) { +function ListButtons ({onTabSelect, selectedTab, hasOrphans, hasLicensing}) { + // no data, no tabs + if (!hasLicensing && !hasOrphans) { + return null; + } return ( <Tabs onTabClick={(tabId) => onTabSelect(tabId)} - activeTab={selectedTab} - className='overview-buttons-section' + activeTab={selectedTab} + className='overview-buttons-section' type='header' > - <Tab + <Tab tabId={selectedButton.VLM_LIST_VIEW} title={i18n('Connections List')} data-test-id='vlm-overview-vlmlist-tab' /> - <Tab + <Tab tabId={selectedButton.NOT_IN_USE} title={i18n('Orphans List')} data-test-id='vlm-overview-orphans-tab' /> |