import React, { useState } from 'react';
import { useSelector, shallowEqual } from 'react-redux';
import { useParams } from 'react-router-dom';
import {
Grid,
GridItem,
TextContent,
Text,
TextVariants,
Button,
Flex,
FlexItem,
Dropdown,
DropdownItem,
KebabToggle,
DropdownPosition,
} from '@patternfly/react-core';
import { ExternalLinkAltIcon } from '@patternfly/react-icons';
import { translate as __ } from 'foremanReact/common/I18n';
import DetailsContainer from './DetailsContainer';
import ContentViewInfo from './ContentViewInfo';
import ContentViewVersionsRoutes from './Versions';
import ContentViewFilterRoutes from './Filters';
import ContentViewRepositories from './Repositories/ContentViewRepositories';
import ContentViewComponents from './ComponentContentViews/ContentViewComponents';
import ContentViewHistories from './Histories/ContentViewHistories';
import { selectCVDetails } from './ContentViewDetailSelectors';
import RoutedTabs from '../../../components/RoutedTabs';
import ContentViewIcon from '../components/ContentViewIcon';
import CVBreadCrumb from '../components/CVBreadCrumb';
import PublishContentViewWizard from '../Publish/PublishContentViewWizard';
import { hasPermission } from '../helpers';
import CopyContentViewModal from '../Copy/CopyContentViewModal';
import ContentViewDeleteWizard from '../Delete/ContentViewDeleteWizard';
export default () => {
const { id } = useParams();
const cvId = Number(id);
const details = useSelector(state => selectCVDetails(state, cvId), shallowEqual);
const [isPublishModalOpen, setIsPublishModalOpen] = useState(false);
const [currentStep, setCurrentStep] = useState(1);
const [dropDownOpen, setDropdownOpen] = useState(false);
const [copying, setCopying] = useState(false);
const [deleting, setDeleting] = useState(false);
const dropDownItems = [
{
setCopying(true);
}}
>
{__('Copy')}
,
{
setDeleting(true);
}}
>
{__('Delete')}
,
];
const {
name, composite, permissions, environments, versions,
} = details;
const tabs = [
{
key: 'details',
title: __('Details'),
content: ,
},
{
key: 'versions',
title: __('Versions'),
content: ,
},
...composite ? [{
key: 'contentviews',
title: __('Content views'),
content: ,
}] : [{
key: 'repositories',
title: __('Repositories'),
content: ,
},
{
key: 'filters',
title: __('Filters'),
content: ,
}],
{
key: 'history',
title: __('History'),
content: ,
},
];
return (
<>
{hasPermission(permissions, 'publish_content_views') &&
{isPublishModalOpen && }
}
}
isOpen={dropDownOpen}
isPlain
dropdownItems={dropDownItems}
/>
{copying && }
{deleting && }
>
);
};