From 55df3df28d347876d482ebb5e982cfab3489a8fe Mon Sep 17 00:00:00 2001 From: Magdalena Markusik Date: Mon, 10 May 2021 11:43:14 +0200 Subject: [PATCH] Fix types --- .../ShippingZonesCard/ShippingZoneItem.tsx | 4 ++-- .../ShippingZonesCard.stories.tsx | 6 ++--- .../ShippingZonesCardListFooter.tsx | 6 ++--- .../ShippingZonesListHeader.tsx | 4 ++-- .../components/ShippingZonesCard/types.ts | 4 ++-- src/channels/fixtures.ts | 8 ------- .../ChannelDetailsPage.stories.tsx | 12 ++++++++++ .../ChannelDetailsPage/ChannelDetailsPage.tsx | 6 ++--- .../pages/ChannelDetailsPage/types.ts | 6 +++-- .../views/ChannelDetails/ChannelDetails.tsx | 4 +++- src/shipping/queries.ts | 22 ++++++++++++++++++ src/shipping/types/ShippingZoneChannels.ts | 23 ++++++++----------- 12 files changed, 64 insertions(+), 41 deletions(-) diff --git a/src/channels/components/ShippingZonesCard/ShippingZoneItem.tsx b/src/channels/components/ShippingZonesCard/ShippingZoneItem.tsx index 3a850a420..895c4dc0f 100644 --- a/src/channels/components/ShippingZonesCard/ShippingZoneItem.tsx +++ b/src/channels/components/ShippingZonesCard/ShippingZoneItem.tsx @@ -1,6 +1,6 @@ import { Divider, Typography } from "@material-ui/core"; import { makeStyles } from "@material-ui/core/styles"; -import { Channel_channel_shippingZones } from "@saleor/channels/types/Channel"; +import { ChannelShippingZone } from "@saleor/channels/pages/ChannelDetailsPage/types"; import DeletableItem from "@saleor/components/DeletableItem"; import React from "react"; @@ -18,7 +18,7 @@ const useStyles = makeStyles( ); interface ShippingZoneItemProps { - zone: Channel_channel_shippingZones; + zone: ChannelShippingZone; onDelete: (id: string) => void; } diff --git a/src/channels/components/ShippingZonesCard/ShippingZonesCard.stories.tsx b/src/channels/components/ShippingZonesCard/ShippingZonesCard.stories.tsx index a5da41cbd..b4c3f488e 100644 --- a/src/channels/components/ShippingZonesCard/ShippingZonesCard.stories.tsx +++ b/src/channels/components/ShippingZonesCard/ShippingZonesCard.stories.tsx @@ -1,4 +1,4 @@ -import { Channel_channel_shippingZones } from "@saleor/channels/types/Channel"; +import { ChannelShippingZones } from "@saleor/channels/pages/ChannelDetailsPage/types"; import CommonDecorator from "@saleor/storybook/Decorator"; import { storiesOf } from "@storybook/react"; import React from "react"; @@ -28,7 +28,7 @@ const baseProps = { onFetchMore: () => undefined }, shippingZones: [], - shippingZonesChoices: shippingZones as Channel_channel_shippingZones[] + shippingZonesChoices: shippingZones as ChannelShippingZones }; storiesOf("Shipping zones card", module) @@ -37,6 +37,6 @@ storiesOf("Shipping zones card", module) .add("with options selected", () => ( )); diff --git a/src/channels/components/ShippingZonesCard/ShippingZonesCardListFooter.tsx b/src/channels/components/ShippingZonesCard/ShippingZonesCardListFooter.tsx index ab56a0139..90ca63ace 100644 --- a/src/channels/components/ShippingZonesCard/ShippingZonesCardListFooter.tsx +++ b/src/channels/components/ShippingZonesCard/ShippingZonesCardListFooter.tsx @@ -1,5 +1,5 @@ import { ClickAwayListener } from "@material-ui/core"; -import { Channel_channel_shippingZones } from "@saleor/channels/types/Channel"; +import { ChannelShippingZones } from "@saleor/channels/pages/ChannelDetailsPage/types"; import SingleAutocompleteSelectField from "@saleor/components/SingleAutocompleteSelectField"; import CardAddItemsFooter from "@saleor/products/components/ProductStocks/CardAddItemsFooter"; import { mapNodeToChoice } from "@saleor/utils/maps"; @@ -25,9 +25,7 @@ const ShippingZonesCardListFooter: React.FC = shippingZones }) => { const [isChoicesSelectShown, setIsChoicesSelectShown] = useState(false); - const shippingZonesRef = useRef( - shippingZones - ); + const shippingZonesRef = useRef(shippingZones); // select holds value and displays it so it needs remounting // to display empty input after adding new zone diff --git a/src/channels/components/ShippingZonesCard/ShippingZonesListHeader.tsx b/src/channels/components/ShippingZonesCard/ShippingZonesListHeader.tsx index 1e254700e..2de342674 100644 --- a/src/channels/components/ShippingZonesCard/ShippingZonesListHeader.tsx +++ b/src/channels/components/ShippingZonesCard/ShippingZonesListHeader.tsx @@ -1,7 +1,7 @@ import { ExpansionPanelSummary, Typography } from "@material-ui/core"; import { makeStyles } from "@material-ui/core/styles"; import HorizontalSpacer from "@saleor/apps/components/HorizontalSpacer"; -import { Channel_channel_shippingZones } from "@saleor/channels/types/Channel"; +import { ChannelShippingZones } from "@saleor/channels/pages/ChannelDetailsPage/types"; import IconChevronDown from "@saleor/icons/ChevronDown"; import React from "react"; import { defineMessages, useIntl } from "react-intl"; @@ -47,7 +47,7 @@ const messages = defineMessages({ }); interface ShippingZonesListHeaderProps { - shippingZones: Channel_channel_shippingZones[]; + shippingZones: ChannelShippingZones; } const ShippingZonesListHeader: React.FC = ({ diff --git a/src/channels/components/ShippingZonesCard/types.ts b/src/channels/components/ShippingZonesCard/types.ts index a6dcb4172..347141fbb 100644 --- a/src/channels/components/ShippingZonesCard/types.ts +++ b/src/channels/components/ShippingZonesCard/types.ts @@ -1,4 +1,4 @@ -import { Channel_channel_shippingZones } from "@saleor/channels/types/Channel"; +import { ChannelShippingZones } from "@saleor/channels/pages/ChannelDetailsPage/types"; import { SearchShippingZones_search_edges_node } from "@saleor/searches/types/SearchShippingZones"; import { FetchMoreProps } from "@saleor/types"; @@ -7,6 +7,6 @@ export interface ShippingZonesProps { removeShippingZone: (id: string) => void; searchShippingZones: (searchPhrase: string) => void; fetchMoreShippingZones: FetchMoreProps; - shippingZones: Channel_channel_shippingZones[]; + shippingZones: ChannelShippingZones; shippingZonesChoices: SearchShippingZones_search_edges_node[]; } diff --git a/src/channels/fixtures.ts b/src/channels/fixtures.ts index d211e93cb..2a4617f63 100644 --- a/src/channels/fixtures.ts +++ b/src/channels/fixtures.ts @@ -18,7 +18,6 @@ export const channelsList: Channels_channels[] = [ { __typename: "Channel", currencyCode: "euro", - shippingZones: [], hasOrders: false, id: "Q2hhbm5lcDoy", isActive: true, @@ -28,7 +27,6 @@ export const channelsList: Channels_channels[] = [ { __typename: "Channel", currencyCode: "euro", - shippingZones: [], hasOrders: false, id: "Q2hhbm7lbDoy213", isActive: true, @@ -39,7 +37,6 @@ export const channelsList: Channels_channels[] = [ __typename: "Channel", currencyCode: "euro", hasOrders: false, - shippingZones: [], id: "Q2hhbn5lbDoytr", isActive: true, name: "Channel test", @@ -48,7 +45,6 @@ export const channelsList: Channels_channels[] = [ { __typename: "Channel", currencyCode: "euro", - shippingZones: [], hasOrders: false, id: "Q2hhbm5lbDo5bot", isActive: true, @@ -58,7 +54,6 @@ export const channelsList: Channels_channels[] = [ { __typename: "Channel", currencyCode: "euro", - shippingZones: [], hasOrders: false, id: "Q2hhbm7lbDoyr0tr", isActive: true, @@ -68,7 +63,6 @@ export const channelsList: Channels_channels[] = [ { __typename: "Channel", currencyCode: "euro", - shippingZones: [], hasOrders: false, id: "Q2hhbn5lbDoyya", isActive: true, @@ -78,7 +72,6 @@ export const channelsList: Channels_channels[] = [ { __typename: "Channel", currencyCode: "euro", - shippingZones: [], hasOrders: false, id: "Q2hhbm5lbDo5w0z", isActive: true, @@ -90,7 +83,6 @@ export const channelsList: Channels_channels[] = [ export const channel: Channel_channel = { __typename: "Channel", currencyCode: "zl", - shippingZones: [], hasOrders: false, id: "Q2hhbm5lbDov78", isActive: true, diff --git a/src/channels/pages/ChannelDetailsPage/ChannelDetailsPage.stories.tsx b/src/channels/pages/ChannelDetailsPage/ChannelDetailsPage.stories.tsx index 1b4cdb21c..1386a2d34 100644 --- a/src/channels/pages/ChannelDetailsPage/ChannelDetailsPage.stories.tsx +++ b/src/channels/pages/ChannelDetailsPage/ChannelDetailsPage.stories.tsx @@ -21,6 +21,18 @@ const props: ChannelDetailsPageProps = { updateChannelStatus: () => undefined, searchShippingZones: () => undefined, searchShippingZonesData: undefined, + channelShippingZones: [ + { + __typename: "ShippingZone", + id: "zone-1", + name: "Europe" + }, + { + __typename: "ShippingZone", + id: "zone-2", + name: "USA" + } + ], fetchMoreShippingZones: { loading: false, hasMore: false, diff --git a/src/channels/pages/ChannelDetailsPage/ChannelDetailsPage.tsx b/src/channels/pages/ChannelDetailsPage/ChannelDetailsPage.tsx index e1957891f..05e9b55ac 100644 --- a/src/channels/pages/ChannelDetailsPage/ChannelDetailsPage.tsx +++ b/src/channels/pages/ChannelDetailsPage/ChannelDetailsPage.tsx @@ -38,7 +38,7 @@ export interface ChannelDetailsPageProps { searchShippingZones: (query: string) => void; searchShippingZonesData?: SearchData; fetchMoreShippingZones: FetchMoreProps; - channelShippingZones: ChannelShippingZones; + channelShippingZones?: ChannelShippingZones; } export const ChannelDetailsPage: React.FC = ({ @@ -55,13 +55,13 @@ export const ChannelDetailsPage: React.FC = ({ searchShippingZones, searchShippingZonesData, fetchMoreShippingZones, - channelShippingZones + channelShippingZones = [] }) => { const [selectedCurrencyCode, setSelectedCurrencyCode] = useState(""); const [shippingZonesToDisplay, setShippingZonesToDisplay] = useStateFromProps< ChannelShippingZones - >(channelShippingZones || []); + >(channelShippingZones); const initialData: FormData = { currencyCode: "", diff --git a/src/channels/pages/ChannelDetailsPage/types.ts b/src/channels/pages/ChannelDetailsPage/types.ts index 857d4d74a..f4f49c316 100644 --- a/src/channels/pages/ChannelDetailsPage/types.ts +++ b/src/channels/pages/ChannelDetailsPage/types.ts @@ -1,3 +1,5 @@ -import { ShippingZoneChannels_shippingZones_edges_node } from "@saleor/shipping/types/ShippingZoneChannels"; +import { ChannelShippingZones_shippingZones_edges_node } from "@saleor/shipping/types/ChannelShippingZones"; -export type ChannelShippingZones = ShippingZoneChannels_shippingZones_edges_node[]; +export type ChannelShippingZone = ChannelShippingZones_shippingZones_edges_node; + +export type ChannelShippingZones = ChannelShippingZone[]; diff --git a/src/channels/views/ChannelDetails/ChannelDetails.tsx b/src/channels/views/ChannelDetails/ChannelDetails.tsx index d0bb80cae..fab7ac106 100644 --- a/src/channels/views/ChannelDetails/ChannelDetails.tsx +++ b/src/channels/views/ChannelDetails/ChannelDetails.tsx @@ -185,7 +185,9 @@ export const ChannelDetails: React.FC = ({ node + )} searchShippingZones={searchShippingZones} searchShippingZonesData={searchShippingZonesResult.data} fetchMoreShippingZones={getSearchFetchMoreProps( diff --git a/src/shipping/queries.ts b/src/shipping/queries.ts index 402d00106..e689301c2 100644 --- a/src/shipping/queries.ts +++ b/src/shipping/queries.ts @@ -11,6 +11,10 @@ import { ChannelShippingZonesVariables } from "./types/ChannelShippingZones"; import { ShippingZone, ShippingZoneVariables } from "./types/ShippingZone"; +import { + ShippingZoneChannels, + ShippingZoneChannelsVariables +} from "./types/ShippingZoneChannels"; import { ShippingZones, ShippingZonesVariables } from "./types/ShippingZones"; const shippingZones = gql` @@ -71,6 +75,24 @@ export const useShippingZone = makeQuery( shippingZone ); +const shippingZoneChannels = gql` + query ShippingZoneChannels($id: ID!) { + shippingZone(id: $id) { + id + channels { + id + name + currencyCode + } + } + } +`; + +export const useShippingZoneChannels = makeQuery< + ShippingZoneChannels, + ShippingZoneChannelsVariables +>(shippingZoneChannels); + const channelShippingZones = gql` query ChannelShippingZones($filter: ShippingZoneFilterInput) { shippingZones(filter: $filter) { diff --git a/src/shipping/types/ShippingZoneChannels.ts b/src/shipping/types/ShippingZoneChannels.ts index 1840bedb1..5a5dbed33 100644 --- a/src/shipping/types/ShippingZoneChannels.ts +++ b/src/shipping/types/ShippingZoneChannels.ts @@ -3,32 +3,27 @@ // @generated // This file was automatically generated and should not be edited. -import { ShippingZoneFilterInput } from "./../../types/globalTypes"; - // ==================================================== // GraphQL query operation: ShippingZoneChannels // ==================================================== -export interface ShippingZoneChannels_shippingZones_edges_node { - __typename: "ShippingZone"; +export interface ShippingZoneChannels_shippingZone_channels { + __typename: "Channel"; id: string; name: string; + currencyCode: string; } -export interface ShippingZoneChannels_shippingZones_edges { - __typename: "ShippingZoneCountableEdge"; - node: ShippingZoneChannels_shippingZones_edges_node; -} - -export interface ShippingZoneChannels_shippingZones { - __typename: "ShippingZoneCountableConnection"; - edges: ShippingZoneChannels_shippingZones_edges[]; +export interface ShippingZoneChannels_shippingZone { + __typename: "ShippingZone"; + id: string; + channels: ShippingZoneChannels_shippingZone_channels[]; } export interface ShippingZoneChannels { - shippingZones: ShippingZoneChannels_shippingZones | null; + shippingZone: ShippingZoneChannels_shippingZone | null; } export interface ShippingZoneChannelsVariables { - filter?: ShippingZoneFilterInput | null; + id: string; }