Fix error when clicked on filter if list is loading (#1661)

* Fix error when clicked on filter if list is loading

* CR Fixes

* Update tests
This commit is contained in:
Wojciech Mista 2021-12-15 11:50:35 +01:00 committed by GitHub
parent 3fd50ee3a7
commit ee9e55db0f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 14 additions and 11 deletions

View file

@ -220,12 +220,14 @@ const FilterContent: React.FC<FilterContentProps> = ({
classes={summaryClasses} classes={summaryClasses}
onClick={() => handleFilterOpen(filter)} onClick={() => handleFilterOpen(filter)}
> >
<FilterContentBodyNameField {currentFilter && (
filter={currentFilter} <FilterContentBodyNameField
onFilterPropertyChange={action => filter={currentFilter}
handleFilterPropertyGroupChange(action, filter) onFilterPropertyChange={action =>
} handleFilterPropertyGroupChange(action, filter)
/> }
/>
)}
</AccordionSummary> </AccordionSummary>
{currentFilter?.active && ( {currentFilter?.active && (
<FilterErrorsList <FilterErrorsList
@ -245,7 +247,7 @@ const FilterContent: React.FC<FilterContentProps> = ({
} }
filter={{ filter={{
...getFilterFromCurrentData(filterField), ...getFilterFromCurrentData(filterField),
active: currentFilter.active active: currentFilter?.active
}} }}
> >
<Typography>{filterField.label}</Typography> <Typography>{filterField.label}</Typography>

View file

@ -5,6 +5,7 @@ import { FilterNumericField } from "@saleor/components/Filter/FilterContent/Filt
import { FilterSingleSelectField } from "@saleor/components/Filter/FilterContent/FilterSingleSelectField"; import { FilterSingleSelectField } from "@saleor/components/Filter/FilterContent/FilterSingleSelectField";
import { useCommonStyles } from "@saleor/components/Filter/FilterContent/utils"; import { useCommonStyles } from "@saleor/components/Filter/FilterContent/utils";
import { MultiAutocompleteChoiceType } from "@saleor/components/MultiAutocompleteSelectField"; import { MultiAutocompleteChoiceType } from "@saleor/components/MultiAutocompleteSelectField";
import Skeleton from "@saleor/components/Skeleton";
import { makeStyles } from "@saleor/macaw-ui"; import { makeStyles } from "@saleor/macaw-ui";
import classNames from "classnames"; import classNames from "classnames";
import React from "react"; import React from "react";
@ -60,6 +61,10 @@ const FilterContentBody: React.FC<FilterContentBodyProps> = ({
const classes = useStyles({}); const classes = useStyles({});
const commonClasses = useCommonStyles({}); const commonClasses = useCommonStyles({});
if (!filter) {
return <Skeleton />;
}
const isDateField = [FieldType.date, FieldType.dateTime].includes( const isDateField = [FieldType.date, FieldType.dateTime].includes(
filter.type filter.type
); );

View file

@ -28,10 +28,6 @@ const FilterContentBodyNameField: React.FC<FilterContentBodyNameFieldProps> = ({
}) => { }) => {
const classes = useStyles({}); const classes = useStyles({});
if (!filter) {
return null;
}
return ( return (
<div className={classes.container}> <div className={classes.container}>
<FormControlLabel <FormControlLabel