From c6a41de2f5a2e3217c8364dcd27f297069fc005f Mon Sep 17 00:00:00 2001 From: ilanap Date: Tue, 7 Nov 2017 11:54:10 +0200 Subject: Update VLM Overview tab behavior Issue-ID: SDC-637 Change-Id: I30211422b9af72a8e2dc4fd58713145878881555 Signed-off-by: ilanap --- .../sdc-app/onboarding/OnboardingActionHelper.js | 3 +-- .../onboarding/licenseModel/LicenseModelReducer.js | 4 ++-- .../licenseModel/overview/LicenseModelOverview.js | 25 +++++++++++----------- .../overview/LicenseModelOverviewView.jsx | 12 +++++++---- .../licenseModel/overview/summary/ListButtons.jsx | 14 +++++++----- 5 files changed, 33 insertions(+), 25 deletions(-) (limited to 'openecomp-ui/src/sdc-app') 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(
- + 0} + hasLicensing={licensingDataList.length > 0}/>
- +
{ 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 ( onTabSelect(tabId)} - activeTab={selectedTab} - className='overview-buttons-section' + activeTab={selectedTab} + className='overview-buttons-section' type='header' > - - -- cgit 1.2.3-korg