From aadbec389bb956b53c582b402802e951e6f40412 Mon Sep 17 00:00:00 2001 From: Sarah Medeiros Date: Fri, 13 Jan 2023 12:01:36 -0500 Subject: [PATCH] Add initial filter prop for lifecycle picker Signed-off-by: Sarah Medeiros --- .../EntityLifecyclePicker.test.tsx | 17 +++++++++++++++++ .../EntityLifecyclePicker.tsx | 10 ++++++++-- 2 files changed, 25 insertions(+), 2 deletions(-) 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