2 * Copyright © 2016-2018 European Support Limited
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 },
28 itemPermission: { isCollaborator, isArchived },
31 softwareProductList = []
33 let { versions = [], selectedVersion } = versionsList;
34 let { owner, contributors, viewers } = permissions;
36 versions.sort((a, b) => Number(a.name) > Number(b.name));
37 const curentSoftwareProduct = softwareProductList.find(
38 item => item.id === itemId
45 currentUser: userInfo,
49 curentSoftwareProduct &&
50 curentSoftwareProduct.onboardingMethod ===
51 onboardingMethodType.MANUAL,
56 export const mapActionsToProps = (
58 { itemType, itemId, additionalProps }
61 onNavigateToVersion({ version }) {
62 VersionsPageActionHelper.onNavigateToVersion(dispatch, {
70 onSelectVersion({ version }) {
71 VersionsPageActionHelper.selectVersion(dispatch, { version });
74 onCreateVersion({ version }) {
75 VersionsPageCreationActionHelper.open(dispatch, {
83 onManagePermissions() {
84 PermissionsActionHelper.openPermissonsManager(dispatch, {
90 onTreeFullScreen(treeProps) {
91 VersionsPageActionHelper.openTree(dispatch, treeProps);
94 onModalNodeClick({ version }) {
95 VersionsPageActionHelper.selectVersionFromModal(dispatch, {
99 onArchive: () => VersionsPageActionHelper.archiveItem(dispatch, itemId),
101 VersionsPageActionHelper.restoreItemFromArchive(dispatch, itemId)
105 export default connect(mapStateToProps, mapActionsToProps)(VersionsPageView);