Fix webhooks evetns checkbox
This commit is contained in:
parent
844931cd6b
commit
c276096041
3 changed files with 8 additions and 18 deletions
|
@ -8,6 +8,7 @@ import { ChangeEvent } from "@saleor/hooks/useForm";
|
||||||
import { WebhookEventTypeEnum } from "@saleor/types/globalTypes";
|
import { WebhookEventTypeEnum } from "@saleor/types/globalTypes";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import { useIntl } from "react-intl";
|
import { useIntl } from "react-intl";
|
||||||
|
import { toggle } from "@saleor/utils/lists";
|
||||||
|
|
||||||
interface WebhookEventsProps {
|
interface WebhookEventsProps {
|
||||||
data: {
|
data: {
|
||||||
|
@ -57,26 +58,13 @@ const WebhookEvents: React.StatelessComponent<WebhookEventsProps> = ({
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleAllEventsChange = (event: ChangeEvent) =>
|
const handleEventsChange = (event: ChangeEvent) =>
|
||||||
onChange(event, () =>
|
|
||||||
onChange({
|
|
||||||
target: {
|
|
||||||
name: "events",
|
|
||||||
value: event.target.value ? WebhookEventTypeEnum.ANY_EVENTS : []
|
|
||||||
}
|
|
||||||
})
|
|
||||||
);
|
|
||||||
|
|
||||||
const handleEventsChange = (event: ChangeEvent) => {
|
|
||||||
onChange({
|
onChange({
|
||||||
target: {
|
target: {
|
||||||
name: "events",
|
name: "events",
|
||||||
value: event.target.value
|
value: toggle(event.target.name, data.events, (a, b) => a === b)
|
||||||
? data.events.concat([event.target.name])
|
|
||||||
: data.events.filter(events => events !== event.target.name)
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card>
|
<Card>
|
||||||
|
@ -99,7 +87,7 @@ const WebhookEvents: React.StatelessComponent<WebhookEventsProps> = ({
|
||||||
disabled={disabled}
|
disabled={disabled}
|
||||||
label={translatedEvents.ANY_EVENTS}
|
label={translatedEvents.ANY_EVENTS}
|
||||||
name="allEvents"
|
name="allEvents"
|
||||||
onChange={handleAllEventsChange}
|
onChange={onChange}
|
||||||
/>
|
/>
|
||||||
{!data.allEvents && (
|
{!data.allEvents && (
|
||||||
<>
|
<>
|
||||||
|
|
|
@ -60,7 +60,9 @@ const WebhooksDetailsPage: React.FC<WebhooksDetailsPageProps> = ({
|
||||||
allEvents: !!maybe(() => webhook.events, []).find(
|
allEvents: !!maybe(() => webhook.events, []).find(
|
||||||
event => event.eventType === WebhookEventTypeEnum.ANY_EVENTS
|
event => event.eventType === WebhookEventTypeEnum.ANY_EVENTS
|
||||||
),
|
),
|
||||||
events: maybe(() => webhook.events, []).map(event => event.eventType),
|
events: maybe(() => webhook.events, [])
|
||||||
|
.map(event => event.eventType)
|
||||||
|
.filter(event => event !== WebhookEventTypeEnum.ANY_EVENTS),
|
||||||
id: maybe(() => webhook.id, null),
|
id: maybe(() => webhook.id, null),
|
||||||
isActive: maybe(() => webhook.isActive, false),
|
isActive: maybe(() => webhook.isActive, false),
|
||||||
name: maybe(() => webhook.name, ""),
|
name: maybe(() => webhook.name, ""),
|
||||||
|
|
|
@ -129,7 +129,7 @@ export const WebhooksDetails: React.FC<WebhooksDetailsProps> = ({
|
||||||
input: {
|
input: {
|
||||||
events: data.allEvents
|
events: data.allEvents
|
||||||
? [WebhookEventTypeEnum.ANY_EVENTS]
|
? [WebhookEventTypeEnum.ANY_EVENTS]
|
||||||
: data.events.slice(1),
|
: data.events,
|
||||||
isActive: data.isActive,
|
isActive: data.isActive,
|
||||||
name: data.name,
|
name: data.name,
|
||||||
secretKey: data.secretKey,
|
secretKey: data.secretKey,
|
||||||
|
|
Loading…
Reference in a new issue