webpack/scenes/SmartProxy/ExpandableCvDetails.js in katello-4.14.1 vs webpack/scenes/SmartProxy/ExpandableCvDetails.js in katello-4.15.0.rc1
- old
+ new
@@ -1,26 +1,36 @@
import React from 'react';
import PropTypes from 'prop-types';
+import { useDispatch } from 'react-redux';
import { translate as __ } from 'foremanReact/common/I18n';
import { TableComposable, Thead, Tr, Th, Tbody, Td } from '@patternfly/react-table';
import { CheckCircleIcon, TimesCircleIcon } from '@patternfly/react-icons';
import LongDateTime from 'foremanReact/components/common/dates/LongDateTime';
import { urlBuilder } from 'foremanReact/common/urlHelpers';
import { useSet } from 'foremanReact/components/PF4/TableIndexPage/Table/TableHooks';
import ContentViewIcon from '../ContentViews/components/ContentViewIcon';
import ExpandedSmartProxyRepositories from './ExpandedSmartProxyRepositories';
+import { updateSmartProxyContentCounts } from './SmartProxyContentActions';
-const ExpandableCvDetails = ({ contentViews, contentCounts, envId }) => {
+const ExpandableCvDetails = ({
+ smartProxyId, contentViews, contentCounts, envId,
+}) => {
const columnHeaders = [
__('Content view'),
__('Version'),
__('Last published'),
__('Synced'),
];
- // const { content_counts: contentCounts } = counts;
+ const dispatch = useDispatch();
const expandedTableRows = useSet([]);
const tableRowIsExpanded = id => expandedTableRows.has(id);
+ const refreshCountAction = cvId => ({
+ title: __('Refresh counts'),
+ onClick: () => {
+ dispatch(updateSmartProxyContentCounts(smartProxyId, { content_view_id: cvId }));
+ },
+ });
return (
<TableComposable
aria-label="expandable-content-views"
ouiaId="expandable-content-views"
@@ -66,10 +76,16 @@
<Td>
<a href={`/content_views/${id}#/versions/${versionId}/`}>{__('Version ')}{version}</a>
</Td>
<Td><LongDateTime date={cv.last_published} showRelativeTimeTooltip /></Td>
<Td>{upToDateVal}</Td>
+ <Td
+ key={`rowActions-${id}`}
+ actions={{
+ items: [refreshCountAction(id)],
+ }}
+ />
</Tr>
<Tr key="child_row" ouiaId={`ContentViewTableRowChild-${id}`} isExpanded={isExpanded}>
<Td colSpan={12}>
<ExpandedSmartProxyRepositories
contentCounts={contentCounts?.content_view_versions[versionId]?.repositories}
@@ -87,9 +103,13 @@
);
};
ExpandableCvDetails.propTypes = {
+ smartProxyId: PropTypes.oneOfType([
+ PropTypes.number,
+ PropTypes.string,
+ ]).isRequired,
contentViews: PropTypes.arrayOf(PropTypes.shape({})),
contentCounts: PropTypes.shape({
content_view_versions: PropTypes.shape({}),
}),
envId: PropTypes.oneOfType([