Fix types
This commit is contained in:
parent
fbc809879f
commit
369be96850
7 changed files with 73 additions and 146 deletions
|
@ -10,7 +10,7 @@ import CompanyAddressForm, {
|
||||||
} from "./CompanyAddressForm";
|
} from "./CompanyAddressForm";
|
||||||
|
|
||||||
interface CompanyAddressInputProps extends CompanyAddressFormProps {
|
interface CompanyAddressInputProps extends CompanyAddressFormProps {
|
||||||
className: string;
|
className?: string;
|
||||||
header: string;
|
header: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import { AttributeInputTypeEnum } from "@saleor/types/globalTypes";
|
import { AttributeInputTypeEnum } from "@saleor/types/globalTypes";
|
||||||
|
import { warehouseList } from "@saleor/warehouses/fixtures";
|
||||||
import { content } from "../storybook/stories/components/RichTextEditor";
|
import { content } from "../storybook/stories/components/RichTextEditor";
|
||||||
import { ProductDetails_product } from "./types/ProductDetails";
|
import { ProductDetails_product } from "./types/ProductDetails";
|
||||||
import { ProductList_products_edges_node } from "./types/ProductList";
|
import { ProductList_products_edges_node } from "./types/ProductList";
|
||||||
|
@ -262,6 +263,20 @@ export const product: (
|
||||||
quantity: 12,
|
quantity: 12,
|
||||||
quantityAllocated: 1,
|
quantityAllocated: 1,
|
||||||
sku: "87192-94370",
|
sku: "87192-94370",
|
||||||
|
stock: [
|
||||||
|
{
|
||||||
|
__typename: "Stock",
|
||||||
|
id: "1",
|
||||||
|
quantity: 1,
|
||||||
|
warehouse: warehouseList[0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
__typename: "Stock",
|
||||||
|
id: "2",
|
||||||
|
quantity: 4,
|
||||||
|
warehouse: warehouseList[1]
|
||||||
|
}
|
||||||
|
],
|
||||||
stockQuantity: 48
|
stockQuantity: 48
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -285,6 +300,14 @@ export const product: (
|
||||||
quantity: 12,
|
quantity: 12,
|
||||||
quantityAllocated: 1,
|
quantityAllocated: 1,
|
||||||
sku: "69055-15190",
|
sku: "69055-15190",
|
||||||
|
stock: [
|
||||||
|
{
|
||||||
|
__typename: "Stock",
|
||||||
|
id: "1",
|
||||||
|
quantity: 13,
|
||||||
|
warehouse: warehouseList[0]
|
||||||
|
}
|
||||||
|
],
|
||||||
stockQuantity: 14
|
stockQuantity: 14
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1230,7 +1253,19 @@ export const variant = (placeholderImage: string): ProductVariant => ({
|
||||||
},
|
},
|
||||||
quantity: 19,
|
quantity: 19,
|
||||||
quantityAllocated: 12,
|
quantityAllocated: 12,
|
||||||
sku: "1230959124123"
|
sku: "1230959124123",
|
||||||
|
stock: [
|
||||||
|
{
|
||||||
|
__typename: "Stock",
|
||||||
|
id: "1",
|
||||||
|
quantity: 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
__typename: "Stock",
|
||||||
|
id: "2",
|
||||||
|
quantity: 4
|
||||||
|
}
|
||||||
|
]
|
||||||
});
|
});
|
||||||
export const variantImages = (placeholderImage: string) =>
|
export const variantImages = (placeholderImage: string) =>
|
||||||
variant(placeholderImage).images;
|
variant(placeholderImage).images;
|
||||||
|
|
|
@ -9,10 +9,9 @@ import { commonMessages } from "@saleor/intl";
|
||||||
import { getFormErrors } from "@saleor/utils/errors";
|
import { getFormErrors } from "@saleor/utils/errors";
|
||||||
import getShippingErrorMessage from "@saleor/utils/errors/shipping";
|
import getShippingErrorMessage from "@saleor/utils/errors/shipping";
|
||||||
import { ShippingErrorFragment } from "@saleor/shipping/types/ShippingErrorFragment";
|
import { ShippingErrorFragment } from "@saleor/shipping/types/ShippingErrorFragment";
|
||||||
import { FormData } from "../ShippingZoneDetailsPage";
|
|
||||||
|
|
||||||
export interface ShippingZoneInfoProps {
|
export interface ShippingZoneInfoProps {
|
||||||
data: FormData;
|
data: Record<"name", string>;
|
||||||
disabled: boolean;
|
disabled: boolean;
|
||||||
errors: ShippingErrorFragment[];
|
errors: ShippingErrorFragment[];
|
||||||
onChange: (event: React.ChangeEvent<any>) => void;
|
onChange: (event: React.ChangeEvent<any>) => void;
|
||||||
|
@ -42,7 +41,7 @@ const ShippingZoneInfo: React.FC<ShippingZoneInfoProps> = ({
|
||||||
label={intl.formatMessage({
|
label={intl.formatMessage({
|
||||||
defaultMessage: "Shipping Zone Name"
|
defaultMessage: "Shipping Zone Name"
|
||||||
})}
|
})}
|
||||||
name={"name" as keyof FormData}
|
name="name"
|
||||||
value={data.name}
|
value={data.name}
|
||||||
onChange={onChange}
|
onChange={onChange}
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import { warehouseList } from "@saleor/warehouses/fixtures";
|
||||||
import { ShippingMethodTypeEnum } from "../types/globalTypes";
|
import { ShippingMethodTypeEnum } from "../types/globalTypes";
|
||||||
import { ShippingZoneDetailsFragment } from "./types/ShippingZoneDetailsFragment";
|
import { ShippingZoneDetailsFragment } from "./types/ShippingZoneDetailsFragment";
|
||||||
import { ShippingZoneFragment } from "./types/ShippingZoneFragment";
|
import { ShippingZoneFragment } from "./types/ShippingZoneFragment";
|
||||||
|
@ -1644,5 +1645,6 @@ export const shippingZone: ShippingZoneDetailsFragment = {
|
||||||
},
|
},
|
||||||
type: ShippingMethodTypeEnum.PRICE
|
type: ShippingMethodTypeEnum.PRICE
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
warehouses: warehouseList
|
||||||
};
|
};
|
||||||
|
|
|
@ -5,31 +5,29 @@ import useNavigator from "@saleor/hooks/useNavigator";
|
||||||
import useNotifier from "@saleor/hooks/useNotifier";
|
import useNotifier from "@saleor/hooks/useNotifier";
|
||||||
import useShop from "@saleor/hooks/useShop";
|
import useShop from "@saleor/hooks/useShop";
|
||||||
import { commonMessages } from "@saleor/intl";
|
import { commonMessages } from "@saleor/intl";
|
||||||
import { maybe } from "../../misc";
|
|
||||||
import ShippingZoneCreatePage from "../components/ShippingZoneCreatePage";
|
import ShippingZoneCreatePage from "../components/ShippingZoneCreatePage";
|
||||||
import { TypedCreateShippingZone } from "../mutations";
|
import { useShippingZoneCreate } from "../mutations";
|
||||||
import { CreateShippingZone } from "../types/CreateShippingZone";
|
|
||||||
import { shippingZonesListUrl, shippingZoneUrl } from "../urls";
|
import { shippingZonesListUrl, shippingZoneUrl } from "../urls";
|
||||||
|
|
||||||
const ShippingZoneCreate: React.FC<{}> = () => {
|
const ShippingZoneCreate: React.FC<{}> = () => {
|
||||||
const navigate = useNavigator();
|
const navigate = useNavigator();
|
||||||
const pushMessage = useNotifier();
|
const notify = useNotifier();
|
||||||
const shop = useShop();
|
const shop = useShop();
|
||||||
const intl = useIntl();
|
const intl = useIntl();
|
||||||
|
|
||||||
const onShippingZoneCreate = (data: CreateShippingZone) => {
|
const [createShippingZone, createShippingZoneOpts] = useShippingZoneCreate({
|
||||||
|
onCompleted: data => {
|
||||||
if (data.shippingZoneCreate.errors.length === 0) {
|
if (data.shippingZoneCreate.errors.length === 0) {
|
||||||
pushMessage({
|
notify({
|
||||||
text: intl.formatMessage(commonMessages.savedChanges)
|
text: intl.formatMessage(commonMessages.savedChanges)
|
||||||
});
|
});
|
||||||
navigate(shippingZoneUrl(data.shippingZoneCreate.shippingZone.id));
|
navigate(shippingZoneUrl(data.shippingZoneCreate.shippingZone.id));
|
||||||
}
|
}
|
||||||
};
|
}
|
||||||
|
});
|
||||||
return (
|
return (
|
||||||
<TypedCreateShippingZone onCompleted={onShippingZoneCreate}>
|
|
||||||
{(createShippingZone, createShippingZoneOpts) => (
|
|
||||||
<ShippingZoneCreatePage
|
<ShippingZoneCreatePage
|
||||||
countries={maybe(() => shop.countries, [])}
|
countries={shop?.countries || []}
|
||||||
disabled={createShippingZoneOpts.loading}
|
disabled={createShippingZoneOpts.loading}
|
||||||
errors={createShippingZoneOpts.data?.shippingZoneCreate.errors || []}
|
errors={createShippingZoneOpts.data?.shippingZoneCreate.errors || []}
|
||||||
onBack={() => navigate(shippingZonesListUrl())}
|
onBack={() => navigate(shippingZonesListUrl())}
|
||||||
|
@ -42,8 +40,6 @@ const ShippingZoneCreate: React.FC<{}> = () => {
|
||||||
}
|
}
|
||||||
saveButtonBarState={createShippingZoneOpts.status}
|
saveButtonBarState={createShippingZoneOpts.status}
|
||||||
/>
|
/>
|
||||||
)}
|
|
||||||
</TypedCreateShippingZone>
|
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
export default ShippingZoneCreate;
|
export default ShippingZoneCreate;
|
||||||
|
|
|
@ -1,111 +0,0 @@
|
||||||
import React from "react";
|
|
||||||
|
|
||||||
import { getMutationProviderData } from "../../../misc";
|
|
||||||
import { PartialMutationProviderOutput } from "../../../types";
|
|
||||||
import {
|
|
||||||
TypedCreateShippingRate,
|
|
||||||
TypedDeleteShippingRate,
|
|
||||||
TypedDeleteShippingZone,
|
|
||||||
TypedUpdateShippingRate,
|
|
||||||
TypedUpdateShippingZone
|
|
||||||
} from "../../mutations";
|
|
||||||
import {
|
|
||||||
CreateShippingRate,
|
|
||||||
CreateShippingRateVariables
|
|
||||||
} from "../../types/CreateShippingRate";
|
|
||||||
import {
|
|
||||||
DeleteShippingRate,
|
|
||||||
DeleteShippingRateVariables
|
|
||||||
} from "../../types/DeleteShippingRate";
|
|
||||||
import {
|
|
||||||
DeleteShippingZone,
|
|
||||||
DeleteShippingZoneVariables
|
|
||||||
} from "../../types/DeleteShippingZone";
|
|
||||||
import {
|
|
||||||
UpdateShippingRate,
|
|
||||||
UpdateShippingRateVariables
|
|
||||||
} from "../../types/UpdateShippingRate";
|
|
||||||
import {
|
|
||||||
UpdateShippingZone,
|
|
||||||
UpdateShippingZoneVariables
|
|
||||||
} from "../../types/UpdateShippingZone";
|
|
||||||
|
|
||||||
export interface ShippingZoneOperationsOutput {
|
|
||||||
shippingRateCreate: PartialMutationProviderOutput<
|
|
||||||
CreateShippingRate,
|
|
||||||
CreateShippingRateVariables
|
|
||||||
>;
|
|
||||||
shippingRateDelete: PartialMutationProviderOutput<
|
|
||||||
DeleteShippingRate,
|
|
||||||
DeleteShippingRateVariables
|
|
||||||
>;
|
|
||||||
shippingRateUpdate: PartialMutationProviderOutput<
|
|
||||||
UpdateShippingRate,
|
|
||||||
UpdateShippingRateVariables
|
|
||||||
>;
|
|
||||||
shippingZoneDelete: PartialMutationProviderOutput<
|
|
||||||
DeleteShippingZone,
|
|
||||||
DeleteShippingZoneVariables
|
|
||||||
>;
|
|
||||||
shippingZoneUpdate: PartialMutationProviderOutput<
|
|
||||||
UpdateShippingZone,
|
|
||||||
UpdateShippingZoneVariables
|
|
||||||
>;
|
|
||||||
}
|
|
||||||
interface ShippingZoneOperationsProps {
|
|
||||||
children: (props: ShippingZoneOperationsOutput) => React.ReactNode;
|
|
||||||
onShippingRateCreate: (data: CreateShippingRate) => void;
|
|
||||||
onShippingRateDelete: (data: DeleteShippingRate) => void;
|
|
||||||
onShippingRateUpdate: (data: UpdateShippingRate) => void;
|
|
||||||
onShippingZoneDelete: (data: DeleteShippingZone) => void;
|
|
||||||
onShippingZoneUpdate: (data: UpdateShippingZone) => void;
|
|
||||||
}
|
|
||||||
|
|
||||||
const ShippingZoneOperations: React.FC<ShippingZoneOperationsProps> = ({
|
|
||||||
children,
|
|
||||||
onShippingRateCreate,
|
|
||||||
onShippingRateDelete,
|
|
||||||
onShippingRateUpdate,
|
|
||||||
onShippingZoneDelete,
|
|
||||||
onShippingZoneUpdate
|
|
||||||
}) => (
|
|
||||||
<TypedCreateShippingRate onCompleted={onShippingRateCreate}>
|
|
||||||
{(...shippingRateCreate) => (
|
|
||||||
<TypedDeleteShippingRate onCompleted={onShippingRateDelete}>
|
|
||||||
{(...shippingRateDelete) => (
|
|
||||||
<TypedUpdateShippingRate onCompleted={onShippingRateUpdate}>
|
|
||||||
{(...shippingRateUpdate) => (
|
|
||||||
<TypedDeleteShippingZone onCompleted={onShippingZoneDelete}>
|
|
||||||
{(...shippingZoneDelete) => (
|
|
||||||
<TypedUpdateShippingZone onCompleted={onShippingZoneUpdate}>
|
|
||||||
{(...shippingZoneUpdate) =>
|
|
||||||
children({
|
|
||||||
shippingRateCreate: getMutationProviderData(
|
|
||||||
...shippingRateCreate
|
|
||||||
),
|
|
||||||
shippingRateDelete: getMutationProviderData(
|
|
||||||
...shippingRateDelete
|
|
||||||
),
|
|
||||||
shippingRateUpdate: getMutationProviderData(
|
|
||||||
...shippingRateUpdate
|
|
||||||
),
|
|
||||||
shippingZoneDelete: getMutationProviderData(
|
|
||||||
...shippingZoneDelete
|
|
||||||
),
|
|
||||||
shippingZoneUpdate: getMutationProviderData(
|
|
||||||
...shippingZoneUpdate
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</TypedUpdateShippingZone>
|
|
||||||
)}
|
|
||||||
</TypedDeleteShippingZone>
|
|
||||||
)}
|
|
||||||
</TypedUpdateShippingRate>
|
|
||||||
)}
|
|
||||||
</TypedDeleteShippingRate>
|
|
||||||
)}
|
|
||||||
</TypedCreateShippingRate>
|
|
||||||
);
|
|
||||||
ShippingZoneOperations.displayName = "ShippingZoneOperations";
|
|
||||||
export default ShippingZoneOperations;
|
|
|
@ -2,6 +2,8 @@ import { storiesOf } from "@storybook/react";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
import { ShippingErrorCode } from "@saleor/types/globalTypes";
|
import { ShippingErrorCode } from "@saleor/types/globalTypes";
|
||||||
|
import { warehouseList } from "@saleor/warehouses/fixtures";
|
||||||
|
import { fetchMoreProps, searchPageProps } from "@saleor/fixtures";
|
||||||
import ShippingZoneDetailsPage, {
|
import ShippingZoneDetailsPage, {
|
||||||
ShippingZoneDetailsPageProps
|
ShippingZoneDetailsPageProps
|
||||||
} from "../../../shipping/components/ShippingZoneDetailsPage";
|
} from "../../../shipping/components/ShippingZoneDetailsPage";
|
||||||
|
@ -9,6 +11,8 @@ import { shippingZone } from "../../../shipping/fixtures";
|
||||||
import Decorator from "../../Decorator";
|
import Decorator from "../../Decorator";
|
||||||
|
|
||||||
const props: ShippingZoneDetailsPageProps = {
|
const props: ShippingZoneDetailsPageProps = {
|
||||||
|
...fetchMoreProps,
|
||||||
|
...searchPageProps,
|
||||||
disabled: false,
|
disabled: false,
|
||||||
errors: [],
|
errors: [],
|
||||||
onBack: () => undefined,
|
onBack: () => undefined,
|
||||||
|
@ -19,10 +23,12 @@ const props: ShippingZoneDetailsPageProps = {
|
||||||
onPriceRateEdit: () => undefined,
|
onPriceRateEdit: () => undefined,
|
||||||
onRateRemove: () => undefined,
|
onRateRemove: () => undefined,
|
||||||
onSubmit: () => undefined,
|
onSubmit: () => undefined,
|
||||||
|
onWarehouseAdd: () => undefined,
|
||||||
onWeightRateAdd: () => undefined,
|
onWeightRateAdd: () => undefined,
|
||||||
onWeightRateEdit: () => undefined,
|
onWeightRateEdit: () => undefined,
|
||||||
saveButtonBarState: "default",
|
saveButtonBarState: "default",
|
||||||
shippingZone
|
shippingZone,
|
||||||
|
warehouses: warehouseList
|
||||||
};
|
};
|
||||||
|
|
||||||
storiesOf("Views / Shipping / Shipping zone details", module)
|
storiesOf("Views / Shipping / Shipping zone details", module)
|
||||||
|
|
Loading…
Reference in a new issue