diff --git a/src/PresentationalComponents/Filters/SystemStaleFilter.js b/src/PresentationalComponents/Filters/SystemStaleFilter.js
index 9a89ebee3..6b700f1d2 100644
--- a/src/PresentationalComponents/Filters/SystemStaleFilter.js
+++ b/src/PresentationalComponents/Filters/SystemStaleFilter.js
@@ -28,7 +28,7 @@ const systemsStaleFilter = (apply, currentFilter = {}) => {
return {
label: intl.formatMessage(messages.labelsFiltersStale),
- type: conditionalFilterType.checkbox,
+ type: conditionalFilterType.singleSelect,
filterValues: {
onChange: (event, value) => {
filterByStale(value);
diff --git a/src/PresentationalComponents/Filters/SystemStaleFilter.test.js b/src/PresentationalComponents/Filters/SystemStaleFilter.test.js
index b2f3717d7..1c1f76926 100644
--- a/src/PresentationalComponents/Filters/SystemStaleFilter.test.js
+++ b/src/PresentationalComponents/Filters/SystemStaleFilter.test.js
@@ -13,7 +13,7 @@ describe('SystemStaleFilter', () => {
const response = systemStaleFilter(apply, currentFilter);
expect(response.filterValues.value).toEqual(['filter']);
expect(response.label).toEqual('Status');
- expect(response.type).toEqual('checkbox');
+ expect(response.type).toEqual('singleSelect');
});
it('Should call apply with a test value', () => {
diff --git a/src/PresentationalComponents/StatusReports/SystemsStatusReport.js b/src/PresentationalComponents/StatusReports/SystemsStatusReport.js
index 43ea8ce82..07f2d7f09 100644
--- a/src/PresentationalComponents/StatusReports/SystemsStatusReport.js
+++ b/src/PresentationalComponents/StatusReports/SystemsStatusReport.js
@@ -44,7 +44,6 @@ const SystemsStatusReport = ({ apply, queryParams }) => {
selectedTags: [...selectedTags, ...selectedGlobalTags],
systemProfile,
limit: 1,
- 'filter[stale]': 'in:true,false',
}).then((result) => {
setSubtotals(result.meta?.subtotals);
});
@@ -77,14 +76,14 @@ const SystemsStatusReport = ({ apply, queryParams }) => {
color='var(--pf-t--global--icon--color--status--success--default)'
value={subtotals?.patched}
apply={apply}
- filter={{ filter: { packages_updatable: 'eq:0', stale: false } }} // TODO: remove `stale: false` once default filter is gone
+ filter={{ filter: { packages_updatable: 'eq:0', stale: false } }}
/>
{
value: undefined,
},
label: 'Status',
- type: 'checkbox',
+ type: 'singleSelect',
},
{
filterValues: {
@@ -232,106 +232,12 @@ describe('SystemsTable', () => {
);
});
- it('should keep default systems filters visible while hiding reset at baseline', async () => {
- const filteredState = {
- ...mockState,
- SystemsStore: {
- queryParams: {
- filter: { stale: [true, false] },
- },
- },
- };
-
- await renderComponent(filteredState);
- expect(InventoryTable).toHaveBeenCalledWith(
- expect.objectContaining({
- activeFiltersConfig: {
- deleteTitle: 'Reset filters',
- filters: [
- {
- category: 'Status',
- chips: [
- {
- id: true,
- name: 'Stale',
- value: true,
- },
- {
- id: false,
- name: 'Fresh',
- value: false,
- },
- ],
- id: 'stale',
- },
- ],
- onDelete: expect.any(Function),
- showDeleteButton: false,
- },
- }),
- {},
- );
- });
-
- it('should show reset only when at least one filter differs from defaults', async () => {
- const filteredState = {
- ...mockState,
- SystemsStore: {
- queryParams: {
- filter: { packages_updatable: 'eq:0', stale: [true, false] },
- },
- },
- };
-
- await renderComponent(filteredState);
-
- expect(InventoryTable).toHaveBeenCalledWith(
- expect.objectContaining({
- activeFiltersConfig: {
- deleteTitle: 'Reset filters',
- filters: [
- {
- category: 'Patch status',
- chips: [
- {
- id: 'eq:0',
- name: 'Systems up to date',
- value: 'eq:0',
- },
- ],
- id: 'packages_updatable',
- },
- {
- category: 'Status',
- chips: [
- {
- id: true,
- name: 'Stale',
- value: true,
- },
- {
- id: false,
- name: 'Fresh',
- value: false,
- },
- ],
- id: 'stale',
- },
- ],
- onDelete: expect.any(Function),
- showDeleteButton: true,
- },
- }),
- {},
- );
- });
-
- it('should show reset when inventory-based operating system filters are active', async () => {
+ it('should show clear when inventory-based operating system filters are active', async () => {
const filteredState = {
...mockState,
SystemsStore: {
queryParams: {
- filter: { os: ['RHEL 8.8'], stale: [true, false] },
+ filter: { os: ['RHEL 8.8'] },
},
},
};
@@ -341,7 +247,7 @@ describe('SystemsTable', () => {
expect(InventoryTable).toHaveBeenCalledWith(
expect.objectContaining({
activeFiltersConfig: expect.objectContaining({
- deleteTitle: 'Reset filters',
+ deleteTitle: 'Clear filters',
showDeleteButton: true,
}),
customFilters: expect.objectContaining({
@@ -360,7 +266,7 @@ describe('SystemsTable', () => {
);
});
- it('should show reset before an inventory-backed fetch resolves', async () => {
+ it('should show clear before an inventory-backed fetch resolves', async () => {
let resolveFetch;
fetchSystems.mockImplementationOnce(
() =>
@@ -381,7 +287,7 @@ describe('SystemsTable', () => {
page: 1,
per_page: 20,
patchParams: {
- filter: { stale: [true, false] },
+ filter: {},
selectedTags: [],
systemProfile: {},
},
@@ -399,7 +305,7 @@ describe('SystemsTable', () => {
expect(InventoryTable).toHaveBeenLastCalledWith(
expect.objectContaining({
activeFiltersConfig: expect.objectContaining({
- deleteTitle: 'Reset filters',
+ deleteTitle: 'Clear filters',
showDeleteButton: true,
}),
}),
diff --git a/src/SmartComponents/Systems/SystemsTable.js b/src/SmartComponents/Systems/SystemsTable.js
index 525565e18..aa069f1bd 100644
--- a/src/SmartComponents/Systems/SystemsTable.js
+++ b/src/SmartComponents/Systems/SystemsTable.js
@@ -127,7 +127,8 @@ const SystemsTable = ({
return {
...config,
- showDeleteButton: config.showDeleteButton || hasInventoryFilterDeviation,
+ showDeleteButton:
+ config.showDeleteButton || config.filters.length > 0 || hasInventoryFilterDeviation,
};
}, [deleteFilters, filter, hasInventoryFilterDeviation]);
diff --git a/src/Utilities/constants.js b/src/Utilities/constants.js
index 5a66178d0..14b28b39e 100644
--- a/src/Utilities/constants.js
+++ b/src/Utilities/constants.js
@@ -54,7 +54,7 @@ export const packagesListDefaultFilters = {
};
export const systemsListDefaultFilters = {
- filter: { stale: [true, false] },
+ filter: {},
};
export const emptyDefaultFilters = {
diff --git a/src/store/Reducers/SystemsStore.js b/src/store/Reducers/SystemsStore.js
index 1f07aa7f3..bf0edaeb8 100644
--- a/src/store/Reducers/SystemsStore.js
+++ b/src/store/Reducers/SystemsStore.js
@@ -8,9 +8,6 @@ const initialState = {
queryParams: {
page: 1,
perPage: 20,
- filter: {
- stale: [true, false],
- },
},
};