diff options
Diffstat (limited to 'openecomp-ui/src/sdc-app/onboarding/revisions')
5 files changed, 199 insertions, 142 deletions
diff --git a/openecomp-ui/src/sdc-app/onboarding/revisions/Revisions.js b/openecomp-ui/src/sdc-app/onboarding/revisions/Revisions.js index 73ee5dea21..738e7459fe 100644 --- a/openecomp-ui/src/sdc-app/onboarding/revisions/Revisions.js +++ b/openecomp-ui/src/sdc-app/onboarding/revisions/Revisions.js @@ -14,24 +14,31 @@ * permissions and limitations under the License. */ -import {connect} from 'react-redux'; +import { connect } from 'react-redux'; import RevisionsView from './RevisionsView.jsx'; import RevisionsActionHelper from './RevisionsActionHelper.js'; -export const mapStateToProps = ({revisions, users}) => { - return { - revisions: revisions, - users: users.usersList - }; +export const mapStateToProps = ({ revisions, users }) => { + return { + revisions: revisions, + users: users.usersList + }; }; -export const mapActionsToProps = (dispatch, {itemId, version, itemType}) => { - return { - onCancel: () => RevisionsActionHelper.closeRevisionsView(dispatch), - onRevert: (revisionId) => { - RevisionsActionHelper.revertToRevision(dispatch, {itemId, version, revisionId, itemType}); - } - }; +export const mapActionsToProps = (dispatch, { itemId, version, itemType }) => { + return { + onCancel: () => RevisionsActionHelper.closeRevisionsView(dispatch), + onRevert: revisionId => { + RevisionsActionHelper.revertToRevision(dispatch, { + itemId, + version, + revisionId, + itemType + }); + } + }; }; -export default connect(mapStateToProps, mapActionsToProps, null, {withRef: true})(RevisionsView); +export default connect(mapStateToProps, mapActionsToProps, null, { + withRef: true +})(RevisionsView); diff --git a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsActionHelper.js index 4fd9082b5b..61ccad0cc4 100644 --- a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsActionHelper.js +++ b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsActionHelper.js @@ -16,85 +16,89 @@ import i18n from 'nfvo-utils/i18n/i18n.js'; import RestAPIUtil from 'nfvo-utils/RestAPIUtil.js'; -import {actionTypes as modalActionTypes} from 'nfvo-components/modal/GlobalModalConstants.js'; -import {actionsEnum as vcActionsEnum} from 'nfvo-components/panel/versionController/VersionControllerConstants.js'; +import { actionTypes as modalActionTypes } from 'nfvo-components/modal/GlobalModalConstants.js'; +import { actionsEnum as vcActionsEnum } from 'nfvo-components/panel/versionController/VersionControllerConstants.js'; import Configuration from 'sdc-app/config/Configuration.js'; -import {modalContentMapper} from 'sdc-app/common/modal/ModalContentMapper.js'; +import { modalContentMapper } from 'sdc-app/common/modal/ModalContentMapper.js'; import ScreensHelper from 'sdc-app/common/helpers/ScreensHelper.js'; -import {enums, screenTypes} from 'sdc-app/onboarding/OnboardingConstants.js'; +import { enums, screenTypes } from 'sdc-app/onboarding/OnboardingConstants.js'; -import {actionTypes} from './RevisionsConstants.js'; +import { actionTypes } from './RevisionsConstants.js'; function baseUrl(itemId, version) { - const restPrefix = Configuration.get('restPrefix'); - return `${restPrefix}/v1.0/items/${itemId}/versions/${version.id}`; + const restPrefix = Configuration.get('restPrefix'); + return `${restPrefix}/v1.0/items/${itemId}/versions/${version.id}`; } -function fetchRevisions(itemId, version){ - let fetchUrl = `${baseUrl(itemId, version)}/revisions`; - return RestAPIUtil.fetch(fetchUrl); +function fetchRevisions(itemId, version) { + let fetchUrl = `${baseUrl(itemId, version)}/revisions`; + return RestAPIUtil.fetch(fetchUrl); } function revertToRevision(itemId, version, revisionId) { - let putUrl = `${baseUrl(itemId, version)}/actions`; - let requestBody = { - action: vcActionsEnum.REVERT, - revisionRequest: { - revisionId: revisionId - } - }; - return RestAPIUtil.put(putUrl, requestBody); + let putUrl = `${baseUrl(itemId, version)}/actions`; + let requestBody = { + action: vcActionsEnum.REVERT, + revisionRequest: { + revisionId: revisionId + } + }; + return RestAPIUtil.put(putUrl, requestBody); } const RevisionaActionHelper = { - openRevisionsView(dispatch, {itemId, version, itemType}) { - this.fetchRevisions(dispatch, {itemId, version}).then(() => { - dispatch({ - type: modalActionTypes.GLOBAL_MODAL_SHOW, - data: { - modalComponentName: modalContentMapper.REVISIONS_LIST, - modalClassName: 'manage-revisions-modal', - title: i18n('Revert'), - modalComponentProps: { - itemId: itemId, - version: version, - itemType - } - } - }); - }); - }, + openRevisionsView(dispatch, { itemId, version, itemType }) { + this.fetchRevisions(dispatch, { itemId, version }).then(() => { + dispatch({ + type: modalActionTypes.GLOBAL_MODAL_SHOW, + data: { + modalComponentName: modalContentMapper.REVISIONS_LIST, + modalClassName: 'manage-revisions-modal', + title: i18n('Revert'), + modalComponentProps: { + itemId: itemId, + version: version, + itemType + } + } + }); + }); + }, - closeRevisionsView(dispatch) { - dispatch({ - type: modalActionTypes.GLOBAL_MODAL_CLOSE - }); - }, + closeRevisionsView(dispatch) { + dispatch({ + type: modalActionTypes.GLOBAL_MODAL_CLOSE + }); + }, + fetchRevisions(dispatch, { itemId, version }) { + return fetchRevisions(itemId, version).then(response => { + dispatch({ + type: actionTypes.ITEM_REVISIONS_LOADED, + response: response + }); + }); + }, - fetchRevisions(dispatch, {itemId, version}) { - return fetchRevisions(itemId, version).then((response) => { - dispatch({ - type: actionTypes.ITEM_REVISIONS_LOADED, - response: response - }); - }); - }, - - revertToRevision(dispatch, {itemId, version, revisionId, itemType}) { - return revertToRevision(itemId, version, revisionId).then(() => { - this.closeRevisionsView(dispatch); - if (itemType === screenTypes.LICENSE_MODEL) { - ScreensHelper.loadScreen(dispatch, {screen: enums.SCREEN.LICENSE_MODEL_OVERVIEW, screenType: screenTypes.LICENSE_MODEL, - props: {licenseModelId: itemId, version}}); - } else { - ScreensHelper.loadScreen(dispatch, {screen: enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE, screenType: screenTypes.SOFTWARE_PRODUCT, - props: {softwareProductId: itemId, version}}); - } - }); - - } + revertToRevision(dispatch, { itemId, version, revisionId, itemType }) { + return revertToRevision(itemId, version, revisionId).then(() => { + this.closeRevisionsView(dispatch); + if (itemType === screenTypes.LICENSE_MODEL) { + ScreensHelper.loadScreen(dispatch, { + screen: enums.SCREEN.LICENSE_MODEL_OVERVIEW, + screenType: screenTypes.LICENSE_MODEL, + props: { licenseModelId: itemId, version } + }); + } else { + ScreensHelper.loadScreen(dispatch, { + screen: enums.SCREEN.SOFTWARE_PRODUCT_LANDING_PAGE, + screenType: screenTypes.SOFTWARE_PRODUCT, + props: { softwareProductId: itemId, version } + }); + } + }); + } }; export default RevisionaActionHelper; diff --git a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsConstants.js b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsConstants.js index 28a9fa0ff5..dc1845c59c 100644 --- a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsConstants.js +++ b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsConstants.js @@ -16,5 +16,5 @@ import keyMirror from 'nfvo-utils/KeyMirror.js'; export const actionTypes = keyMirror({ - ITEM_REVISIONS_LOADED: null + ITEM_REVISIONS_LOADED: null }); diff --git a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsReducer.js b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsReducer.js index 778350b93f..a3e6ce8ab0 100644 --- a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsReducer.js +++ b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsReducer.js @@ -13,13 +13,13 @@ * or implied. See the License for the specific language governing * permissions and limitations under the License. */ -import {actionTypes} from './RevisionsConstants.js'; +import { actionTypes } from './RevisionsConstants.js'; export default (state = [], action) => { - switch (action.type) { - case actionTypes.ITEM_REVISIONS_LOADED: - return action.response.results; - default: - return state; - } -};
\ No newline at end of file + switch (action.type) { + case actionTypes.ITEM_REVISIONS_LOADED: + return action.response.results; + default: + return state; + } +}; diff --git a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsView.jsx b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsView.jsx index d6ef604a22..1fc8c06925 100644 --- a/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsView.jsx +++ b/openecomp-ui/src/sdc-app/onboarding/revisions/RevisionsView.jsx @@ -23,65 +23,111 @@ import ListEditorView from 'nfvo-components/listEditor/ListEditorView.jsx'; import ListEditorItemView from 'nfvo-components/listEditor/ListEditorItemView.jsx'; import ListEditorItemViewField from 'nfvo-components/listEditor/ListEditorItemViewField.jsx'; - class RevisionsView extends React.Component { - constructor(props) { - super(props); - this.state = { - revertId : null - }; - } - - render() { - let {onCancel, onRevert, revisions, users} = this.props; - return ( - <div className='manage-revisions-page'> - <Form - hasButtons={true} - onSubmit={() => onRevert(this.state.revertId)} - onReset={() => onCancel() } - submitButtonText={i18n('Revert')} - labledButtons={true}> - <ListEditorView - title={i18n('Select a Commit')} - isReadOnlyMode={false}> - {revisions.map((revision) => { - return ( - <div key={revision.id} data-test-id='revision-list-item' className={`revision-list-item ${this.state.revertId === revision.id ? 'selected' : ''}`}> - <ListEditorItemView - isReadOnlyMode={false} - onSelect={() => this.setState({revertId : revision.id})}> - <ListEditorItemViewField> - <div className='revision-list-item-fields'> - <div data-test-id='revision-user' className='revision-user'> - <SVGIcon name='user' label={users.find(userObject => userObject.userId === revision.user).fullName} labelPosition='right'/> - </div> - <div className='revision-date' data-test-id='revision-date'> - <span className='revision-date'>{i18n.dateNormal(revision.time, { - year: 'numeric', month: 'numeric', day: 'numeric' - })}</span> - <span className='revision-time'>{i18n.dateNormal(revision.time, { - hour: 'numeric', minute: 'numeric', - hour12: true - })}</span> - </div> - <div className='revision-message'data-test-id='revision-message'> - {revision.message && <ShowMore anchorClass='more-less' lines={2} more={i18n('More')} less={i18n('Less')}> - {revision.message} - </ShowMore>}</div> - </div> - </ListEditorItemViewField> - </ListEditorItemView> - </div> - - ); - })} - </ListEditorView> - </Form> - </div> - ); - } + constructor(props) { + super(props); + this.state = { + revertId: null + }; + } + render() { + let { onCancel, onRevert, revisions, users } = this.props; + return ( + <div className="manage-revisions-page"> + <Form + hasButtons={true} + onSubmit={() => onRevert(this.state.revertId)} + onReset={() => onCancel()} + submitButtonText={i18n('Revert')} + labledButtons={true}> + <ListEditorView + title={i18n('Select a Commit')} + isReadOnlyMode={false}> + {revisions.map(revision => { + return ( + <div + key={revision.id} + data-test-id="revision-list-item" + className={`revision-list-item ${ + this.state.revertId === revision.id + ? 'selected' + : '' + }`}> + <ListEditorItemView + isReadOnlyMode={false} + onSelect={() => + this.setState({ + revertId: revision.id + }) + }> + <ListEditorItemViewField> + <div className="revision-list-item-fields"> + <div + data-test-id="revision-user" + className="revision-user"> + <SVGIcon + name="user" + label={ + users.find( + userObject => + userObject.userId === + revision.user + ).fullName + } + labelPosition="right" + /> + </div> + <div + className="revision-date" + data-test-id="revision-date"> + <span className="revision-date"> + {i18n.dateNormal( + revision.time, + { + year: 'numeric', + month: + 'numeric', + day: 'numeric' + } + )} + </span> + <span className="revision-time"> + {i18n.dateNormal( + revision.time, + { + hour: 'numeric', + minute: + 'numeric', + hour12: true + } + )} + </span> + </div> + <div + className="revision-message" + data-test-id="revision-message"> + {revision.message && ( + <ShowMore + anchorClass="more-less" + lines={2} + more={i18n('More')} + less={i18n('Less')}> + {revision.message} + </ShowMore> + )} + </div> + </div> + </ListEditorItemViewField> + </ListEditorItemView> + </div> + ); + })} + </ListEditorView> + </Form> + </div> + ); + } } export default RevisionsView; |