2 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
13 * or implied. See the License for the specific language governing
14 * permissions and limitations under the License.
17 import {connect} from 'react-redux';
18 import VersionsPageActionHelper from './VersionsPageActionHelper.js';
19 import VersionsPageCreationActionHelper from './creation/VersionsPageCreationActionHelper.js';
20 import PermissionsActionHelper from '../permissions/PermissionsActionHelper.js';
21 import {onboardingMethod as onboardingMethodType} from 'sdc-app/onboarding/softwareProduct/SoftwareProductConstants.js';
22 import VersionsPageView from './VersionsPage.jsx';
24 export const mapStateToProps = ({
26 versionsPage: {permissions, versionsList},
27 currentScreen: {itemPermission: {isCollaborator}, props: {itemId}},
28 softwareProductList = []
31 let {versions, selectedVersion} = versionsList;
32 let {owner, contributors, viewers} = permissions;
34 // sorting the version list
35 versions.sort((a,b) => {
36 let statusCompare = b.status.localeCompare(a.status);
37 if (statusCompare === 0) {
38 return b.modificationTime - a.modificationTime;
45 const curentSoftwareProduct = softwareProductList.find(item => item.id === itemId);
51 currentUser: userInfo,
54 isManual: curentSoftwareProduct && curentSoftwareProduct.onboardingMethod === onboardingMethodType.MANUAL
59 export const mapActionsToProps = (dispatch, {itemType, itemId, additionalProps}) => {
61 onNavigateToVersion({version}) {
62 VersionsPageActionHelper.onNavigateToVersion(dispatch, {version, itemId, itemType, additionalProps});
65 onSelectVersion({version}) {
66 VersionsPageActionHelper.selectVersion(dispatch, {version});
69 onCreateVersion({version}) {
70 VersionsPageCreationActionHelper.open(dispatch, {baseVersion: version, itemId, itemType, additionalProps});
73 onManagePermissions() {
74 PermissionsActionHelper.openPermissonsManager(dispatch, {itemId, askForRights: false});
77 onTreeFullScreen(treeProps) {
78 VersionsPageActionHelper.openTree(dispatch, treeProps);
81 onModalNodeClick({version}) {
82 VersionsPageActionHelper.selectVersionFromModal(dispatch, {version});
87 export default connect(mapStateToProps, mapActionsToProps)(VersionsPageView);