Fix all events checkbox

This commit is contained in:
Krzysztof Bialoglowicz 2019-10-10 16:19:06 +02:00
parent c3e8936871
commit 83cd51e001
4 changed files with 13 additions and 10 deletions

View file

@ -30,7 +30,7 @@ const WebhookEvents: React.StatelessComponent<WebhookEventsProps> = ({
onChange({ onChange({
target: { target: {
name: "events", name: "events",
value: event.target.value ? eventsEnum.map(event => event) : [] value: WebhookEventTypeEnum.ALL_EVENTS
} }
} as any) } as any)
); );

View file

@ -56,12 +56,8 @@ const WebhooksDetailsPage: React.StatelessComponent<
const initialForm: FormData = { const initialForm: FormData = {
allEvents: maybe( allEvents: maybe(
() => () =>
Object.values(WebhookEventTypeEnum).filter( maybe(() => webhook.events, [])[0].eventType ===
perm => WebhookEventTypeEnum.ALL_EVENTS,
maybe(() => webhook.events, []).filter(
event => event.eventType === perm
).length === 0
).length === 0,
false false
), ),
events: maybe(() => webhook.events, []).map(event => event.eventType), events: maybe(() => webhook.events, []).map(event => event.eventType),

View file

@ -2,6 +2,7 @@ import { WindowTitle } from "@saleor/components/WindowTitle";
import useNavigator from "@saleor/hooks/useNavigator"; import useNavigator from "@saleor/hooks/useNavigator";
import useNotifier from "@saleor/hooks/useNotifier"; import useNotifier from "@saleor/hooks/useNotifier";
import { commonMessages } from "@saleor/intl"; import { commonMessages } from "@saleor/intl";
import { WebhookEventTypeEnum } from "@saleor/types/globalTypes";
import { WebhookCreate as WebhookCreateData } from "@saleor/webhooks/types/WebhookCreate"; import { WebhookCreate as WebhookCreateData } from "@saleor/webhooks/types/WebhookCreate";
import React from "react"; import React from "react";
import { useIntl } from "react-intl"; import { useIntl } from "react-intl";
@ -42,11 +43,13 @@ export const WebhooksCreate: React.StatelessComponent<
return ( return (
<TypedWebhookCreate onCompleted={onSubmit}> <TypedWebhookCreate onCompleted={onSubmit}>
{(WebhookCreate, webhookCreateOpts) => { {(WebhookCreate, webhookCreateOpts) => {
const handleSubmit = (data: FormData) => const handleSubmit = (data: FormData) => {
WebhookCreate({ WebhookCreate({
variables: { variables: {
input: { input: {
events: data.events, events: data.allEvents
? [WebhookEventTypeEnum.ALL_EVENTS]
: data.events,
isActive: data.isActive, isActive: data.isActive,
name: data.name, name: data.name,
secretKey: data.secretKey, secretKey: data.secretKey,
@ -55,6 +58,7 @@ export const WebhooksCreate: React.StatelessComponent<
} }
} }
}); });
};
const formTransitionState = getMutationState( const formTransitionState = getMutationState(
webhookCreateOpts.called, webhookCreateOpts.called,

View file

@ -2,6 +2,7 @@ import { WindowTitle } from "@saleor/components/WindowTitle";
import useNavigator from "@saleor/hooks/useNavigator"; import useNavigator from "@saleor/hooks/useNavigator";
import useNotifier from "@saleor/hooks/useNotifier"; import useNotifier from "@saleor/hooks/useNotifier";
import { commonMessages } from "@saleor/intl"; import { commonMessages } from "@saleor/intl";
import { WebhookEventTypeEnum } from "@saleor/types/globalTypes";
import WebhookDeleteDialog from "@saleor/webhooks/components/WebhookDeleteDialog"; import WebhookDeleteDialog from "@saleor/webhooks/components/WebhookDeleteDialog";
import { WebhookDelete } from "@saleor/webhooks/types/WebhookDelete"; import { WebhookDelete } from "@saleor/webhooks/types/WebhookDelete";
import React from "react"; import React from "react";
@ -111,7 +112,9 @@ export const WebhooksDetails: React.StatelessComponent<
variables: { variables: {
id, id,
input: { input: {
events: data.events, events: data.allEvents
? [WebhookEventTypeEnum.ALL_EVENTS]
: data.events,
isActive: data.isActive, isActive: data.isActive,
name: data.name, name: data.name,
secretKey: data.secretKey, secretKey: data.secretKey,