diff --git a/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.test.tsx b/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.test.tsx
index ef77f7615f..3ee610ddaf 100644
--- a/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.test.tsx
+++ b/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.test.tsx
@@ -210,4 +210,21 @@ describe('', () => {
lifecycles: undefined,
});
});
+ it('responds to initialFilter prop', () => {
+ const updateFilters = jest.fn();
+ render(
+
+
+ ,
+ );
+ expect(updateFilters).toHaveBeenLastCalledWith({
+ lifecycles: new EntityLifecycleFilter(['production']),
+ });
+ });
});
diff --git a/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.tsx b/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.tsx
index b941f94531..913e800ec0 100644
--- a/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.tsx
+++ b/plugins/catalog-react/src/components/EntityLifecyclePicker/EntityLifecyclePicker.tsx
@@ -47,7 +47,13 @@ const icon = ;
const checkedIcon = ;
/** @public */
-export const EntityLifecyclePicker = () => {
+export type EntityLifecyclePickerProps = {
+ initialFilter?: string[];
+};
+
+/** @public */
+export const EntityLifecyclePicker = (props: EntityLifecyclePickerProps) => {
+ const { initialFilter } = props;
const classes = useStyles();
const {
updateFilters,
@@ -64,7 +70,7 @@ export const EntityLifecyclePicker = () => {
const [selectedLifecycles, setSelectedLifecycles] = useState(
queryParamLifecycles.length
? queryParamLifecycles
- : filters.lifecycles?.values ?? [],
+ : filters.lifecycles?.values ?? (initialFilter || []),
);
// Set selected lifecycles on query parameter updates; this happens at initial page load and from