Merge pull request #15749 from wayfair-contribs/smedeiros_add_lifecycle_initial_filter
Add initial filter prop for lifecycle picker
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
---
|
||||
'@backstage/plugin-catalog-react': minor
|
||||
---
|
||||
|
||||
Add `initialFilter` prop to EntityLifecyclePicker. This allows you to set an initial lifecycle for the catalog.
|
||||
@@ -194,7 +194,9 @@ export class EntityLifecycleFilter implements EntityFilter {
|
||||
}
|
||||
|
||||
// @public (undocumented)
|
||||
export const EntityLifecyclePicker: () => JSX.Element | null;
|
||||
export const EntityLifecyclePicker: (props: {
|
||||
initialFilter?: string[];
|
||||
}) => JSX.Element | null;
|
||||
|
||||
// @public
|
||||
export const EntityListContext: React_2.Context<
|
||||
|
||||
+17
@@ -210,4 +210,21 @@ describe('<EntityLifecyclePicker/>', () => {
|
||||
lifecycles: undefined,
|
||||
});
|
||||
});
|
||||
it('responds to initialFilter prop', () => {
|
||||
const updateFilters = jest.fn();
|
||||
render(
|
||||
<MockEntityListContextProvider
|
||||
value={{
|
||||
entities: sampleEntities,
|
||||
backendEntities: sampleEntities,
|
||||
updateFilters,
|
||||
}}
|
||||
>
|
||||
<EntityLifecyclePicker initialFilter={['production']} />
|
||||
</MockEntityListContextProvider>,
|
||||
);
|
||||
expect(updateFilters).toHaveBeenLastCalledWith({
|
||||
lifecycles: new EntityLifecycleFilter(['production']),
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
+3
-2
@@ -47,7 +47,8 @@ const icon = <CheckBoxOutlineBlankIcon fontSize="small" />;
|
||||
const checkedIcon = <CheckBoxIcon fontSize="small" />;
|
||||
|
||||
/** @public */
|
||||
export const EntityLifecyclePicker = () => {
|
||||
export const EntityLifecyclePicker = (props: { initialFilter?: string[] }) => {
|
||||
const { initialFilter = [] } = props;
|
||||
const classes = useStyles();
|
||||
const {
|
||||
updateFilters,
|
||||
@@ -64,7 +65,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
|
||||
|
||||
Reference in New Issue
Block a user