From c72587ed4cdd2a324ef6e5a1576f9a132ef314a1 Mon Sep 17 00:00:00 2001 From: svishnev Date: Wed, 12 Sep 2018 13:25:42 +0300 Subject: Display VLM Entities Order by name Issue-ID: SDC-1750 Change-Id: Ia73fa82b4f67530502df4fb4dfdcf9bb4ca2040c Signed-off-by: svishnev --- .../licenseModel/LicenseModelConstants.js | 2 + .../entitlementPools/EntitlementPoolsEditor.js | 36 +++++----- .../entitlementPools/EntitlementPoolsListEditor.js | 37 +++++----- .../featureGroups/FeatureGroupListEditor.js | 37 +++++----- .../licenseAgreement/LicenseAgreementListEditor.js | 37 +++++----- .../licenseKeyGroups/LicenseKeyGroupsEditor.js | 36 +++++----- .../licenseKeyGroups/LicenseKeyGroupsListEditor.js | 37 +++++----- .../licenseModel/overview/LicenseModelOverview.js | 83 +++++++++++++++------- 8 files changed, 181 insertions(+), 124 deletions(-) diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelConstants.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelConstants.js index d97f682535..93e934858f 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelConstants.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/LicenseModelConstants.js @@ -36,3 +36,5 @@ export const optionsInputValues = { { enum: thresholdUnitType.PERCENTAGE, title: '%' } ] }; + +export const SORTING_PROPERTY_NAME = 'name'; diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditor.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditor.js index 5fcdad992a..a148e6a04a 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditor.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditor.js @@ -1,22 +1,24 @@ -/*! - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ +/* +* Copyright © 2016-2018 European Support Limited +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ import { connect } from 'react-redux'; +import sortByStringProperty from 'nfvo-utils/sortByStringProperty.js'; import EntitlementPoolsActionHelper from './EntitlementPoolsActionHelper.js'; import EntitlementPoolsEditorView from './EntitlementPoolsEditorView.jsx'; import ValidationHelper from 'sdc-app/common/helpers/ValidationHelper.js'; +import { SORTING_PROPERTY_NAME } from 'sdc-app/onboarding/licenseModel/LicenseModelConstants.js'; import LimitEditorActionHelper from '../limits/LimitEditorActionHelper.js'; @@ -25,7 +27,7 @@ const mapStateToProps = ({ licenseModel: { entitlementPool } }) => { data, genericFieldInfo, formReady, - limitsList + limitsList = [] } = entitlementPool.entitlementPoolEditor; let isFormValid = ValidationHelper.checkFormValid(genericFieldInfo); @@ -51,7 +53,7 @@ const mapStateToProps = ({ licenseModel: { entitlementPool } }) => { isFormValid, formReady, EPNames, - limitsList + limitsList: sortByStringProperty(limitsList, SORTING_PROPERTY_NAME) }; }; diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditor.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditor.js index 819fb7d824..4679b9ec81 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditor.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsListEditor.js @@ -1,25 +1,27 @@ -/*! - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ +/* +* Copyright © 2016-2018 European Support Limited +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ import { connect } from 'react-redux'; import i18n from 'nfvo-utils/i18n/i18n.js'; +import sortByStringProperty from 'nfvo-utils/sortByStringProperty.js'; import EntitlementPoolsActionHelper from './EntitlementPoolsActionHelper.js'; import EntitlementPoolsListEditorView, { generateConfirmationMsg } from './EntitlementPoolsListEditorView.jsx'; import { actionTypes as globalMoadlActions } from 'nfvo-components/modal/GlobalModalConstants.js'; +import { SORTING_PROPERTY_NAME } from 'sdc-app/onboarding/licenseModel/LicenseModelConstants.js'; const mapStateToProps = ({ licenseModel: { entitlementPool, licenseModelEditor } @@ -30,7 +32,10 @@ const mapStateToProps = ({ return { vendorName, - entitlementPoolsList, + entitlementPoolsList: sortByStringProperty( + entitlementPoolsList, + SORTING_PROPERTY_NAME + ), isDisplayModal: Boolean(data), isModalInEditMode: Boolean(data && data.id) }; diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js index 55e2710231..8d41b97cf0 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/featureGroups/FeatureGroupListEditor.js @@ -1,25 +1,27 @@ -/*! - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ +/* +* Copyright © 2016-2018 European Support Limited +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ import { connect } from 'react-redux'; +import sortByStringProperty from 'nfvo-utils/sortByStringProperty.js'; import FeatureGroupsActionHelper from './FeatureGroupsActionHelper.js'; import FeatureGroupListEditorView, { generateConfirmationMsg } from './FeatureGroupListEditorView.jsx'; import i18n from 'nfvo-utils/i18n/i18n.js'; import { actionTypes as globalMoadlActions } from 'nfvo-components/modal/GlobalModalConstants.js'; +import { SORTING_PROPERTY_NAME } from 'sdc-app/onboarding/licenseModel/LicenseModelConstants.js'; export const mapStateToProps = ({ licenseModel: { featureGroup, licenseModelEditor } @@ -34,7 +36,10 @@ export const mapStateToProps = ({ show: Boolean(data), editMode: Boolean(data && data.id) }, - featureGroupsList + featureGroupsList: sortByStringProperty( + featureGroupsList, + SORTING_PROPERTY_NAME + ) }; }; diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditor.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditor.js index cba39731b5..fcb83b4279 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditor.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementListEditor.js @@ -1,23 +1,25 @@ -/*! - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ +/* +* Copyright © 2016-2018 European Support Limited +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ import { connect } from 'react-redux'; import i18n from 'nfvo-utils/i18n/i18n.js'; +import sortByStringProperty from 'nfvo-utils/sortByStringProperty.js'; import LicenseAgreementActionHelper from './LicenseAgreementActionHelper.js'; import LicenseAgreementListEditorView from './LicenseAgreementListEditorView.jsx'; import { actionTypes as globalMoadlActions } from 'nfvo-components/modal/GlobalModalConstants.js'; +import { SORTING_PROPERTY_NAME } from 'sdc-app/onboarding/licenseModel/LicenseModelConstants.js'; const mapStateToProps = ({ licenseModel: { licenseAgreement, licenseModelEditor } @@ -29,7 +31,10 @@ const mapStateToProps = ({ return { vendorName, version, - licenseAgreementList, + licenseAgreementList: sortByStringProperty( + licenseAgreementList, + SORTING_PROPERTY_NAME + ), isDisplayModal: Boolean(data), isModalInEditMode: Boolean(data && data.id) }; diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditor.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditor.js index fa62bba669..b4ad2e9d47 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditor.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditor.js @@ -1,30 +1,32 @@ -/*! - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ +/* +* Copyright © 2016-2018 European Support Limited +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ import { connect } from 'react-redux'; +import sortByStringProperty from 'nfvo-utils/sortByStringProperty.js'; import LicenseKeyGroupsActionHelper from './LicenseKeyGroupsActionHelper.js'; import LicenseKeyGroupsEditorView from './LicenseKeyGroupsEditorView.jsx'; import LimitEditorActionHelper from '../limits/LimitEditorActionHelper.js'; import ValidationHelper from 'sdc-app/common/helpers/ValidationHelper.js'; +import { SORTING_PROPERTY_NAME } from 'sdc-app/onboarding/licenseModel/LicenseModelConstants.js'; const mapStateToProps = ({ licenseModel: { licenseKeyGroup } }) => { let { data, genericFieldInfo, formReady, - limitsList + limitsList = [] } = licenseKeyGroup.licenseKeyGroupsEditor; let previousData, @@ -50,7 +52,7 @@ const mapStateToProps = ({ licenseModel: { licenseKeyGroup } }) => { isFormValid, formReady, LKGNames, - limitsList + limitsList: sortByStringProperty(limitsList, SORTING_PROPERTY_NAME) }; }; diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js index 6151c5997d..514e9b85ec 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditor.js @@ -1,20 +1,21 @@ -/*! - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ +/* +* Copyright © 2016-2018 European Support Limited +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ import { connect } from 'react-redux'; import i18n from 'nfvo-utils/i18n/i18n.js'; +import sortByStringProperty from 'nfvo-utils/sortByStringProperty.js'; import { actionTypes as globalMoadlActions } from 'nfvo-components/modal/GlobalModalConstants.js'; @@ -22,6 +23,7 @@ import LicenseKeyGroupsActionHelper from './LicenseKeyGroupsActionHelper.js'; import LicenseKeyGroupsListEditorView, { generateConfirmationMsg } from './LicenseKeyGroupsListEditorView.jsx'; +import { SORTING_PROPERTY_NAME } from 'sdc-app/onboarding/licenseModel/LicenseModelConstants.js'; const mapStateToProps = ({ licenseModel: { licenseKeyGroup, licenseModelEditor } @@ -32,7 +34,10 @@ const mapStateToProps = ({ return { vendorName, - licenseKeyGroupsList, + licenseKeyGroupsList: sortByStringProperty( + licenseKeyGroupsList, + SORTING_PROPERTY_NAME + ), isDisplayModal: Boolean(data), isModalInEditMode: Boolean(data && data.id) }; 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 2b10e426d1..572b0292d7 100644 --- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverview.js +++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/LicenseModelOverview.js @@ -1,19 +1,20 @@ -/*! - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express - * or implied. See the License for the specific language governing - * permissions and limitations under the License. - */ +/* +* Copyright © 2016-2018 European Support Limited +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ import { connect } from 'react-redux'; +import sortByStringProperty from 'nfvo-utils/sortByStringProperty.js'; import LicenseModelActionHelper from 'sdc-app/onboarding/licenseModel/LicenseModelActionHelper.js'; import LicenseModelOverviewView from './LicenseModelOverviewView.jsx'; import { @@ -21,6 +22,7 @@ import { selectedButton } from './LicenseModelOverviewConstants.js'; import licenseModelOverviewActionHelper from './licenseModelOverviewActionHelper.js'; +import { SORTING_PROPERTY_NAME } from 'sdc-app/onboarding/licenseModel/LicenseModelConstants.js'; export const mapStateToProps = ({ licenseModel: { @@ -78,12 +80,24 @@ export const mapStateToProps = ({ ...curFeatureGroup, itemType: overviewEditorHeaders.FEATURE_GROUP, children: [ - ...(entitlementPoolsIds.length - ? entitlementPoolsIds.reduce(reduceEntitlementPools, []) - : []), - ...(licenseKeyGroupsIds.length - ? licenseKeyGroupsIds.reduce(reduceLicenseKeyGroups, []) - : []) + ...sortByStringProperty( + entitlementPoolsIds.length + ? entitlementPoolsIds.reduce( + reduceEntitlementPools, + [] + ) + : [], + SORTING_PROPERTY_NAME + ), + ...sortByStringProperty( + licenseKeyGroupsIds.length + ? licenseKeyGroupsIds.reduce( + reduceLicenseKeyGroups, + [] + ) + : [], + SORTING_PROPERTY_NAME + ) ] }); } @@ -145,7 +159,10 @@ export const mapStateToProps = ({ ...licenseAgreement, itemType: overviewEditorHeaders.LICENSE_AGREEMENT, children: featureGroupsIds.length - ? featureGroupsIds.reduce(reduceFeatureGroups, []) + ? sortByStringProperty( + featureGroupsIds.reduce(reduceFeatureGroups, []), + SORTING_PROPERTY_NAME + ) : [] }; }; @@ -177,15 +194,29 @@ export const mapStateToProps = ({ } let orphanDataList = [ - ...featureGroup.featureGroupsList.reduce(checkFG, []), - ...entitlementPool.entitlementPoolsList.reduce(checkEP, []), - ...licenseKeyGroup.licenseKeyGroupsList.reduce(checkLG, []) + ...sortByStringProperty( + featureGroup.featureGroupsList.reduce(checkFG, []), + SORTING_PROPERTY_NAME + ), + ...sortByStringProperty( + entitlementPool.entitlementPoolsList.reduce(checkEP, []), + SORTING_PROPERTY_NAME + ), + ...sortByStringProperty( + licenseKeyGroup.licenseKeyGroupsList.reduce(checkLG, []), + SORTING_PROPERTY_NAME + ) ]; licensingDataList = licenseAgreement.licenseAgreementList && licenseAgreement.licenseAgreementList.length - ? licenseAgreement.licenseAgreementList.map(mapLicenseAgreementData) + ? sortByStringProperty( + licenseAgreement.licenseAgreementList.map( + mapLicenseAgreementData + ), + SORTING_PROPERTY_NAME + ) : []; 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 -- cgit 1.2.3-korg