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([