Fix allow click on webhook checkbox (#3327)

This commit is contained in:
Krzysztof Żuraw 2023-03-13 11:55:03 +01:00 committed by GitHub
parent 831b5748e2
commit 93c2459013
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 47 additions and 20 deletions

View file

@ -46,7 +46,7 @@ const DryRun: React.FC<DryRunProps> = ({
syncEvents,
}: DryRunProps) => {
const intl = useIntl();
const classes = useStyles();
const classes = useStyles({});
const [objectId, setObjectId] = useState<string | null>(null);
const [triggerWebhookDryRun] = useTriggerWebhookDryRunMutation();
const availableObjects = Object.keys(DocumentMap).map(object =>

View file

@ -31,7 +31,7 @@ const DryRunItemsList: React.FC<DryRunItemsListProps> = ({
setObjectId,
}: DryRunItemsListProps) => {
const intl = useIntl();
const classes = useStyles();
const classes = useStyles({});
const { checkbox } = useListWidths();
const objectDocument = DocumentMap[object];
const objectCollection =

View file

@ -44,8 +44,8 @@ const WebhookEvents: React.FC<WebhookEventsProps> = ({
onAsyncEventChange,
}) => {
const intl = useIntl();
const classes = useStyles();
const { checkbox } = useListWidths();
const classes = useStyles({ checkbox });
const [tab, setTab] = useState("async");
const [object, setObject] = useState<string | null>(null);
@ -158,13 +158,17 @@ const WebhookEvents: React.FC<WebhookEventsProps> = ({
{object &&
EventTypes[tab][object] &&
EventTypes[tab][object].map((event, idx) => (
<ListItem className={classes.listItem} key={idx}>
<ListItemCell className={classes.listItemCell}>
<ListItem className={classes.eventListItem} key={idx}>
<ListItemCell className={classes.eventListItemCell}>
<label
htmlFor={`event-checkbox-${idx}`}
className={classes.eventListLabel}
>
<strong>
{capitalize(event.toLowerCase().replaceAll("_", " "))}
{capitalize(
event.toLowerCase().replaceAll("_", " "),
)}
</strong>
</ListItemCell>
<ListItemCell>
<Checkbox
name={`${tab}Events`}
checked={data[`${tab}Events`].includes(
@ -173,7 +177,9 @@ const WebhookEvents: React.FC<WebhookEventsProps> = ({
value={getEventName(object, event)}
onChange={handleEventChange}
className={classes.checkbox}
id={`event-checkbox-${idx}`}
/>
</label>
</ListItemCell>
</ListItem>
))}

View file

@ -1,7 +1,7 @@
import { makeStyles } from "@saleor/macaw-ui";
import { vars } from "@saleor/macaw-ui/next";
export const useStyles = makeStyles(
export const useStyles = makeStyles<{ checkbox?: string }>(
theme => ({
eventsWrapper: {
padding: theme.spacing(4),
@ -33,6 +33,10 @@ export const useStyles = makeStyles(
},
checkbox: {
padding: 0,
// disables shadow blinking next to the checkbox
"& span::before": {
display: "none",
},
},
card: {
paddingLeft: 0,
@ -40,6 +44,23 @@ export const useStyles = makeStyles(
cardHeader: {
padding: "2.4rem 3.2rem",
},
eventListItem: {
padding: 0,
gridTemplateColumns: "unset",
minHeight: 0,
gap: 0,
cursor: "pointer",
},
eventListItemCell: {
padding: "0 !important",
wordBreak: "break-all",
},
eventListLabel: props => ({
padding: "1.8rem 0.8rem",
display: "grid",
cursor: "pointer",
gridTemplateColumns: `1fr ${props.checkbox}`,
}),
}),
{ name: "WebhookEvents" },
);