2021-12-13 14:43:30 +00:00
|
|
|
import {
|
2021-12-23 12:42:10 +00:00
|
|
|
WebhookEventTypeAsyncEnum,
|
2022-06-21 09:36:55 +00:00
|
|
|
WebhookEventTypeSyncEnum,
|
2022-03-09 08:56:55 +00:00
|
|
|
} from "@saleor/graphql";
|
|
|
|
import { ChangeEvent } from "@saleor/hooks/useForm";
|
2021-12-13 14:43:30 +00:00
|
|
|
import { toggle } from "@saleor/utils/lists";
|
|
|
|
|
|
|
|
import { filterSelectedAsyncEvents } from "./utils";
|
|
|
|
|
|
|
|
export const createSyncEventsSelectHandler = (
|
|
|
|
change: (event: ChangeEvent, cb?: () => void) => void,
|
2022-06-21 09:36:55 +00:00
|
|
|
syncEvents: WebhookEventTypeSyncEnum[],
|
2021-12-13 14:43:30 +00:00
|
|
|
) => (event: ChangeEvent) => {
|
|
|
|
const events = toggle(event.target.value, syncEvents, (a, b) => a === b);
|
|
|
|
|
|
|
|
change({
|
|
|
|
target: {
|
|
|
|
name: "syncEvents",
|
2022-06-21 09:36:55 +00:00
|
|
|
value: events,
|
|
|
|
},
|
2021-12-13 14:43:30 +00:00
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
export const createAsyncEventsSelectHandler = (
|
|
|
|
change: (event: ChangeEvent, cb?: () => void) => void,
|
2022-06-21 09:36:55 +00:00
|
|
|
asyncEvents: WebhookEventTypeAsyncEnum[],
|
2021-12-13 14:43:30 +00:00
|
|
|
) => (event: ChangeEvent) => {
|
|
|
|
const events = toggle(event.target.value, asyncEvents, (a, b) => a === b);
|
|
|
|
const filteredEvents = filterSelectedAsyncEvents(events);
|
|
|
|
|
|
|
|
change({
|
|
|
|
target: {
|
|
|
|
name: "asyncEvents",
|
2022-06-21 09:36:55 +00:00
|
|
|
value: filteredEvents,
|
|
|
|
},
|
2021-12-13 14:43:30 +00:00
|
|
|
});
|
|
|
|
};
|