From fa538a14ed825d417dcbc0c846b98c1b512aa4dd Mon Sep 17 00:00:00 2001 From: svishnev Date: Thu, 31 May 2018 15:01:00 +0300 Subject: archive flow styling fixes Issue-ID: SDC-1383 Change-Id: I624adfc4eb2a441581583f29dc3d0d3512cb8f4c Signed-off-by: svishnev --- .../src/sdc-app/onboarding/OnboardingConstants.js | 14 ++++++-- .../src/sdc-app/onboarding/OnboardingReducers.js | 13 +++++++ .../onboarding/versionsPage/VersionsPage.jsx | 42 +++++++++++++++------- .../versionsPage/VersionsPageActionHelper.js | 35 +++++++++++------- 4 files changed, 75 insertions(+), 29 deletions(-) (limited to 'openecomp-ui/src/sdc-app/onboarding') diff --git a/openecomp-ui/src/sdc-app/onboarding/OnboardingConstants.js b/openecomp-ui/src/sdc-app/onboarding/OnboardingConstants.js index 36054397d9..8e07765122 100644 --- a/openecomp-ui/src/sdc-app/onboarding/OnboardingConstants.js +++ b/openecomp-ui/src/sdc-app/onboarding/OnboardingConstants.js @@ -18,11 +18,12 @@ import keyMirror from 'nfvo-utils/KeyMirror.js'; export const DATE_FORMAT = 'MM/DD/YYYY'; export const actionTypes = keyMirror({ - SET_CURRENT_SCREEN: null, + SET_CURRENT_SCREEN: 'SET_CURRENT_SCREEN', SET_CURRENT_LICENSE_MODEL: null, SET_CURRENT_SCREEN_VERSION: null, - UPDATE_CURRENT_SCREEN_PROPS: null, - UPDATE_ITEM_STATUS: null + UPDATE_CURRENT_SCREEN_PROPS: 'UPDATE_CURRENT_SCREEN_PROPS', + UPDATE_ITEM_STATUS: 'UPDATE_ITEM_STATUS', + UPDATE_ITEM_ARCHIVE_STATUS: 'UPDATE_ITEM_ARCHIVE_STATUS' }); export const screenTypes = keyMirror({ @@ -117,3 +118,10 @@ export const enums = keyMirror({ breadcrumbsEnum.SOFTWARE_PRODUCT_COMPONENT_IMAGES } }); + +export const onboardingActions = { + updateItemArchivedStatus: isArchived => ({ + type: actionTypes.UPDATE_ITEM_ARCHIVE_STATUS, + isArchived + }) +}; diff --git a/openecomp-ui/src/sdc-app/onboarding/OnboardingReducers.js b/openecomp-ui/src/sdc-app/onboarding/OnboardingReducers.js index 9abae2d1c1..bb711cd749 100644 --- a/openecomp-ui/src/sdc-app/onboarding/OnboardingReducers.js +++ b/openecomp-ui/src/sdc-app/onboarding/OnboardingReducers.js @@ -163,6 +163,19 @@ const currentScreen = ( }; } + case actionTypes.UPDATE_ITEM_ARCHIVE_STATUS: { + const props = { + ...state.props, + status: action.isArchived + ? catalogItemStatuses.ARCHIVED + : catalogItemStatuses.ACTIVE + }; + return { + ...state, + props + }; + } + default: return state; } diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx index b61abea520..504de99e12 100644 --- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx +++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPage.jsx @@ -22,22 +22,36 @@ import Button from 'sdc-ui/lib/react/Button.js'; import i18n from 'nfvo-utils/i18n/i18n.js'; import featureToggle from 'sdc-app/features/featureToggle.js'; -const DepricateButton = ({ depricateAction, title }) => ( -
- +const ArchiveRestoreButton = ({ depricateAction, title, isArchived }) => ( +
+ {isArchived ? ( + + ) : ( + + )}
); -const FeatureDepricatedButton = featureToggle('ARCHIVE_ITEM')(DepricateButton); +const ArchivedTitle = () => ( +
{i18n('Archived')}
+); + +const FeatureDepricatedButton = featureToggle('ARCHIVE_ITEM')( + ArchiveRestoreButton +); const VersionPageTitle = ({ itemName, - depricatedTitle, isArchived, onRestore, onArchive, @@ -45,11 +59,13 @@ const VersionPageTitle = ({ }) => { return (
-
{`${i18n( - 'Available Versions' - )} - ${itemName} ${depricatedTitle}`}
+
+ {`${i18n('Available Versions')} - ${itemName}`} + {isArchived ? : null} +
{isCollaborator && ( onRestore() : () => onArchive() } diff --git a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js index 606b17b897..afbb056686 100644 --- a/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js +++ b/openecomp-ui/src/sdc-app/onboarding/versionsPage/VersionsPageActionHelper.js @@ -20,7 +20,12 @@ import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js'; import { actionTypes as modalActionTypes } from 'nfvo-components/modal/GlobalModalConstants.js'; import i18n from 'nfvo-utils/i18n/i18n.js'; import ScreensHelper from 'sdc-app/common/helpers/ScreensHelper.js'; -import { enums, screenTypes } from 'sdc-app/onboarding/OnboardingConstants.js'; +import { + enums, + screenTypes, + onboardingActions +} from 'sdc-app/onboarding/OnboardingConstants.js'; +import { notificationActions } from 'nfvo-components/notification/NotificationsConstants.js'; const VersionsPageActionHelper = { fetchVersions(dispatch, { itemType, itemId }) { @@ -89,20 +94,24 @@ const VersionsPageActionHelper = { this.selectVersion(dispatch, { version }); }, - archiveItem(dispatch, itemId) { - ItemsHelper.archiveItem(itemId).then(() => { - ScreensHelper.loadScreen(dispatch, { - screen: enums.SCREEN.ONBOARDING_CATALOG - }); - }); + async archiveItem(dispatch, itemId) { + await ItemsHelper.archiveItem(itemId); + dispatch(onboardingActions.updateItemArchivedStatus(true)); + dispatch( + notificationActions.showSuccess({ + message: i18n('Item successfully archived') + }) + ); }, - restoreItemFromArchive(dispatch, itemId) { - ItemsHelper.restoreItem(itemId).then(() => { - ScreensHelper.loadScreen(dispatch, { - screen: enums.SCREEN.ONBOARDING_CATALOG - }); - }); + async restoreItemFromArchive(dispatch, itemId) { + await ItemsHelper.restoreItem(itemId); + dispatch(onboardingActions.updateItemArchivedStatus(false)); + dispatch( + notificationActions.showSuccess({ + message: i18n('Item successfully restored') + }) + ); } }; -- cgit 1.2.3-korg