Update dashboard to work without SKU (#1440)

* Update dashboard to work without SKU

* Allow variant ID export in products export

* Update messages

* Update test snapshots

* Update schema

* Update order line detials without SKU

* Update test ssnapshots

* Make SKU optional for prodduct without variants
This commit is contained in:
Dawid Tarasiuk 2021-09-30 15:08:22 +02:00 committed by GitHub
parent d8f3d0145f
commit d21e688f7d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
54 changed files with 152 additions and 240 deletions

View file

@ -418,6 +418,10 @@
"context": "product field",
"string": "Type"
},
"productExportFieldVariantId": {
"context": "product field",
"string": "Export Variant ID"
},
"productExportFieldVariantImages": {
"context": "product field",
"string": "Variant Images"

View file

@ -4356,7 +4356,8 @@ type OrderLine implements Node {
id: ID!
productName: String!
variantName: String!
productSku: String!
productSku: String
productVariantId: String
isShippingRequired: Boolean!
quantity: Int!
quantityFulfilled: Int!
@ -5320,6 +5321,7 @@ enum ProductFieldEnum {
COLLECTIONS
CHARGE_TAXES
PRODUCT_MEDIA
VARIANT_ID
VARIANT_SKU
VARIANT_WEIGHT
VARIANT_MEDIA
@ -5607,7 +5609,7 @@ type ProductUpdate {
type ProductVariant implements Node & ObjectWithMetadata {
id: ID!
name: String!
sku: String!
sku: String
product: Product!
trackInventory: Boolean!
weight: Weight
@ -5637,7 +5639,7 @@ type ProductVariantBulkCreate {
input ProductVariantBulkCreateInput {
attributes: [BulkAttributeValueInput!]!
sku: String!
sku: String
trackInventory: Boolean
weight: WeightScalar
stocks: [StockInput!]

View file

@ -69,7 +69,7 @@ export interface FulfillmentFragment_lines_orderLine {
isShippingRequired: boolean;
variant: FulfillmentFragment_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -266,7 +266,7 @@ export interface OrderDetailsFragment_fulfillments_lines_orderLine {
isShippingRequired: boolean;
variant: OrderDetailsFragment_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -362,7 +362,7 @@ export interface OrderDetailsFragment_lines {
isShippingRequired: boolean;
variant: OrderDetailsFragment_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -69,7 +69,7 @@ export interface OrderLineFragment {
isShippingRequired: boolean;
variant: OrderLineFragment_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -289,7 +289,7 @@ export interface Product_variants_channelListings {
export interface Product_variants {
__typename: "ProductVariant";
id: string;
sku: string;
sku: string | null;
name: string;
margin: number | null;
media: Product_variants_media[] | null;

View file

@ -265,7 +265,7 @@ export interface ProductVariant_product_variants {
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: ProductVariant_product_variants_media[] | null;
}
@ -337,7 +337,7 @@ export interface ProductVariant {
name: string;
product: ProductVariant_product;
channelListings: ProductVariant_channelListings[] | null;
sku: string;
sku: string | null;
stocks: (ProductVariant_stocks | null)[] | null;
trackInventory: boolean;
weight: ProductVariant_weight | null;

View file

@ -352,6 +352,7 @@ const OrderProductAddDialog: React.FC<OrderProductAddDialogProps> = props => {
</TableCell>
<TableCell className={classes.colName}>
<div>{variant.name}</div>
{variant.sku && (
<div className={classes.grayText}>
<FormattedMessage
defaultMessage="SKU {sku}"
@ -361,6 +362,7 @@ const OrderProductAddDialog: React.FC<OrderProductAddDialogProps> = props => {
}}
/>
</div>
)}
</TableCell>
<TableCell className={classes.textRight}>
{variant?.channelListings[0]?.price && (

View file

@ -96,7 +96,7 @@ const TableLine: React.FC<TableLineProps> = ({
{maybe(() => line.orderLine.productName) || <Skeleton />}
</TableCellAvatar>
<TableCell className={classes.colSku}>
{line?.orderLine.productSku || <Skeleton />}
{line?.orderLine ? line.orderLine.productSku : <Skeleton />}
</TableCell>
<TableCell className={classes.colQuantity}>
{quantityToDisplay || <Skeleton />}

View file

@ -275,7 +275,7 @@ export interface FulfillOrder_orderFulfill_order_fulfillments_lines_orderLine {
isShippingRequired: boolean;
variant: FulfillOrder_orderFulfill_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -371,7 +371,7 @@ export interface FulfillOrder_orderFulfill_order_lines {
isShippingRequired: boolean;
variant: FulfillOrder_orderFulfill_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderCancel_orderCancel_order_fulfillments_lines_orderLine {
isShippingRequired: boolean;
variant: OrderCancel_orderCancel_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderCancel_orderCancel_order_lines {
isShippingRequired: boolean;
variant: OrderCancel_orderCancel_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderCapture_orderCapture_order_fulfillments_lines_orderLine {
isShippingRequired: boolean;
variant: OrderCapture_orderCapture_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderCapture_orderCapture_order_lines {
isShippingRequired: boolean;
variant: OrderCapture_orderCapture_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderConfirm_orderConfirm_order_fulfillments_lines_orderLine {
isShippingRequired: boolean;
variant: OrderConfirm_orderConfirm_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderConfirm_orderConfirm_order_lines {
isShippingRequired: boolean;
variant: OrderConfirm_orderConfirm_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -266,7 +266,7 @@ export interface OrderDetails_order_fulfillments_lines_orderLine {
isShippingRequired: boolean;
variant: OrderDetails_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -362,7 +362,7 @@ export interface OrderDetails_order_lines {
isShippingRequired: boolean;
variant: OrderDetails_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderDiscountAdd_orderDiscountAdd_order_fulfillments_lines_orde
isShippingRequired: boolean;
variant: OrderDiscountAdd_orderDiscountAdd_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderDiscountAdd_orderDiscountAdd_order_lines {
isShippingRequired: boolean;
variant: OrderDiscountAdd_orderDiscountAdd_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderDiscountDelete_orderDiscountDelete_order_fulfillments_line
isShippingRequired: boolean;
variant: OrderDiscountDelete_orderDiscountDelete_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderDiscountDelete_orderDiscountDelete_order_lines {
isShippingRequired: boolean;
variant: OrderDiscountDelete_orderDiscountDelete_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderDiscountUpdate_orderDiscountUpdate_order_fulfillments_line
isShippingRequired: boolean;
variant: OrderDiscountUpdate_orderDiscountUpdate_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderDiscountUpdate_orderDiscountUpdate_order_lines {
isShippingRequired: boolean;
variant: OrderDiscountUpdate_orderDiscountUpdate_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderDraftCancel_draftOrderDelete_order_fulfillments_lines_orde
isShippingRequired: boolean;
variant: OrderDraftCancel_draftOrderDelete_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderDraftCancel_draftOrderDelete_order_lines {
isShippingRequired: boolean;
variant: OrderDraftCancel_draftOrderDelete_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderDraftFinalize_draftOrderComplete_order_fulfillments_lines_
isShippingRequired: boolean;
variant: OrderDraftFinalize_draftOrderComplete_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderDraftFinalize_draftOrderComplete_order_lines {
isShippingRequired: boolean;
variant: OrderDraftFinalize_draftOrderComplete_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderDraftUpdate_draftOrderUpdate_order_fulfillments_lines_orde
isShippingRequired: boolean;
variant: OrderDraftUpdate_draftOrderUpdate_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderDraftUpdate_draftOrderUpdate_order_lines {
isShippingRequired: boolean;
variant: OrderDraftUpdate_draftOrderUpdate_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -62,7 +62,7 @@ export interface OrderFulfillData_order_lines_variant {
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
attributes: OrderFulfillData_order_lines_variant_attributes[];
stocks: (OrderFulfillData_order_lines_variant_stocks | null)[] | null;
trackInventory: boolean;

View file

@ -273,7 +273,7 @@ export interface OrderFulfillmentApprove_orderFulfillmentApprove_order_fulfillme
isShippingRequired: boolean;
variant: OrderFulfillmentApprove_orderFulfillmentApprove_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderFulfillmentApprove_orderFulfillmentApprove_order_lines {
isShippingRequired: boolean;
variant: OrderFulfillmentApprove_orderFulfillmentApprove_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_fulfillment
isShippingRequired: boolean;
variant: OrderFulfillmentCancel_orderFulfillmentCancel_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderFulfillmentCancel_orderFulfillmentCancel_order_lines {
isShippingRequired: boolean;
variant: OrderFulfillmentCancel_orderFulfillmentCancel_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -76,7 +76,7 @@ export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_f
isShippingRequired: boolean;
variant: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_fulfillment_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_o
isShippingRequired: boolean;
variant: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -465,7 +465,7 @@ export interface OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_o
isShippingRequired: boolean;
variant: OrderFulfillmentRefundProducts_orderFulfillmentRefundProducts_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_o
isShippingRequired: boolean;
variant: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_o
isShippingRequired: boolean;
variant: OrderFulfillmentUpdateTracking_orderFulfillmentUpdateTracking_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderLineDelete_orderLineDelete_order_fulfillments_lines_orderL
isShippingRequired: boolean;
variant: OrderLineDelete_orderLineDelete_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderLineDelete_orderLineDelete_order_lines {
isShippingRequired: boolean;
variant: OrderLineDelete_orderLineDelete_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderLineDiscountRemove_orderLineDiscountRemove_order_fulfillme
isShippingRequired: boolean;
variant: OrderLineDiscountRemove_orderLineDiscountRemove_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderLineDiscountRemove_orderLineDiscountRemove_order_lines {
isShippingRequired: boolean;
variant: OrderLineDiscountRemove_orderLineDiscountRemove_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderLineDiscountUpdate_orderLineDiscountUpdate_order_fulfillme
isShippingRequired: boolean;
variant: OrderLineDiscountUpdate_orderLineDiscountUpdate_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderLineDiscountUpdate_orderLineDiscountUpdate_order_lines {
isShippingRequired: boolean;
variant: OrderLineDiscountUpdate_orderLineDiscountUpdate_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderLineUpdate_orderLineUpdate_order_fulfillments_lines_orderL
isShippingRequired: boolean;
variant: OrderLineUpdate_orderLineUpdate_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderLineUpdate_orderLineUpdate_order_lines {
isShippingRequired: boolean;
variant: OrderLineUpdate_orderLineUpdate_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderLinesAdd_orderLinesCreate_order_fulfillments_lines_orderLi
isShippingRequired: boolean;
variant: OrderLinesAdd_orderLinesCreate_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderLinesAdd_orderLinesCreate_order_lines {
isShippingRequired: boolean;
variant: OrderLinesAdd_orderLinesCreate_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderMarkAsPaid_orderMarkAsPaid_order_fulfillments_lines_orderL
isShippingRequired: boolean;
variant: OrderMarkAsPaid_orderMarkAsPaid_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderMarkAsPaid_orderMarkAsPaid_order_lines {
isShippingRequired: boolean;
variant: OrderMarkAsPaid_orderMarkAsPaid_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderRefund_orderRefund_order_fulfillments_lines_orderLine {
isShippingRequired: boolean;
variant: OrderRefund_orderRefund_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderRefund_orderRefund_order_lines {
isShippingRequired: boolean;
variant: OrderRefund_orderRefund_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -335,7 +335,7 @@ export interface OrderShippingMethodUpdate_orderUpdateShipping_order_fulfillment
isShippingRequired: boolean;
variant: OrderShippingMethodUpdate_orderUpdateShipping_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -431,7 +431,7 @@ export interface OrderShippingMethodUpdate_orderUpdateShipping_order_lines {
isShippingRequired: boolean;
variant: OrderShippingMethodUpdate_orderUpdateShipping_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderUpdate_orderUpdate_order_fulfillments_lines_orderLine {
isShippingRequired: boolean;
variant: OrderUpdate_orderUpdate_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderUpdate_orderUpdate_order_lines {
isShippingRequired: boolean;
variant: OrderUpdate_orderUpdate_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -273,7 +273,7 @@ export interface OrderVoid_orderVoid_order_fulfillments_lines_orderLine {
isShippingRequired: boolean;
variant: OrderVoid_orderVoid_order_fulfillments_lines_orderLine_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;
@ -369,7 +369,7 @@ export interface OrderVoid_orderVoid_order_lines {
isShippingRequired: boolean;
variant: OrderVoid_orderVoid_order_lines_variant | null;
productName: string;
productSku: string;
productSku: string | null;
quantity: number;
quantityFulfilled: number;
quantityToFulfill: number;

View file

@ -36,7 +36,7 @@ export interface SearchOrderVariant_search_edges_node_variants {
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
channelListings: SearchOrderVariant_search_edges_node_variants_channelListings[] | null;
}

View file

@ -307,8 +307,7 @@ function useProductCreateForm(
const disabled =
!opts.selectedProductType?.hasVariants &&
(!data.sku ||
data.channelListings.some(
(data.channelListings.some(
channel =>
validatePrice(channel.price) || validateCostPrice(channel.costPrice)
) ||

View file

@ -36,6 +36,7 @@ const maxChips = 4;
const inventoryFields = [
ProductFieldEnum.PRODUCT_WEIGHT,
ProductFieldEnum.VARIANT_ID,
ProductFieldEnum.VARIANT_SKU,
ProductFieldEnum.VARIANT_WEIGHT
];

View file

@ -50,6 +50,11 @@ function useProductExportFieldMessages() {
description: "product field",
id: "productExportFieldVariantImages"
}),
[ProductFieldEnum.VARIANT_ID]: intl.formatMessage({
defaultMessage: "Export Variant ID",
description: "product field",
id: "productExportFieldVariantId"
}),
[ProductFieldEnum.VARIANT_SKU]: intl.formatMessage({
defaultMessage: "Export Variant SKU",
description: "product field",

View file

@ -158,7 +158,6 @@ const ProductStocks: React.FC<ProductStocksProps> = ({
defaultMessage: "SKU (Stock Keeping Unit)"
})}
name="sku"
required
onChange={onFormDataChange}
value={data.sku}
/>

View file

@ -353,11 +353,10 @@ function useProductUpdateForm(
const disabled =
!opts.hasVariants &&
(!data.sku ||
data.channelListings.some(
channel =>
validatePrice(channel.price) || validateCostPrice(channel.costPrice)
));
);
return {
change: handleChange,

View file

@ -82,9 +82,7 @@ function canHitNext(
return true;
case ProductVariantCreatorStep.summary:
return !data.variants.some(
variant =>
variant.sku === "" ||
return !data.variants.some(variant =>
variant.channelListings.some(channel => validatePrice(channel.price))
);

View file

@ -289,7 +289,7 @@ export interface ProductDetails_product_variants_channelListings {
export interface ProductDetails_product_variants {
__typename: "ProductVariant";
id: string;
sku: string;
sku: string | null;
name: string;
margin: number | null;
media: ProductDetails_product_variants_media[] | null;

View file

@ -296,7 +296,7 @@ export interface ProductUpdate_productUpdate_product_variants_channelListings {
export interface ProductUpdate_productUpdate_product_variants {
__typename: "ProductVariant";
id: string;
sku: string;
sku: string | null;
name: string;
margin: number | null;
media: ProductUpdate_productUpdate_product_variants_media[] | null;

View file

@ -155,7 +155,7 @@ export interface ProductVariantCreateData_product_variants {
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: ProductVariantCreateData_product_variants_media[] | null;
}

View file

@ -265,7 +265,7 @@ export interface ProductVariantDetails_productVariant_product_variants {
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: ProductVariantDetails_productVariant_product_variants_media[] | null;
}
@ -337,7 +337,7 @@ export interface ProductVariantDetails_productVariant {
name: string;
product: ProductVariantDetails_productVariant_product;
channelListings: ProductVariantDetails_productVariant_channelListings[] | null;
sku: string;
sku: string | null;
stocks: (ProductVariantDetails_productVariant_stocks | null)[] | null;
trackInventory: boolean;
weight: ProductVariantDetails_productVariant_weight | null;

View file

@ -296,7 +296,7 @@ export interface SimpleProductUpdate_productUpdate_product_variants_channelListi
export interface SimpleProductUpdate_productUpdate_product_variants {
__typename: "ProductVariant";
id: string;
sku: string;
sku: string | null;
name: string;
margin: number | null;
media: SimpleProductUpdate_productUpdate_product_variants_media[] | null;
@ -611,7 +611,7 @@ export interface SimpleProductUpdate_productVariantUpdate_productVariant_product
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: SimpleProductUpdate_productVariantUpdate_productVariant_product_variants_media[] | null;
}
@ -683,7 +683,7 @@ export interface SimpleProductUpdate_productVariantUpdate_productVariant {
name: string;
product: SimpleProductUpdate_productVariantUpdate_productVariant_product;
channelListings: SimpleProductUpdate_productVariantUpdate_productVariant_channelListings[] | null;
sku: string;
sku: string | null;
stocks: (SimpleProductUpdate_productVariantUpdate_productVariant_stocks | null)[] | null;
trackInventory: boolean;
weight: SimpleProductUpdate_productVariantUpdate_productVariant_weight | null;
@ -958,7 +958,7 @@ export interface SimpleProductUpdate_productVariantStocksCreate_productVariant_p
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: SimpleProductUpdate_productVariantStocksCreate_productVariant_product_variants_media[] | null;
}
@ -1030,7 +1030,7 @@ export interface SimpleProductUpdate_productVariantStocksCreate_productVariant {
name: string;
product: SimpleProductUpdate_productVariantStocksCreate_productVariant_product;
channelListings: SimpleProductUpdate_productVariantStocksCreate_productVariant_channelListings[] | null;
sku: string;
sku: string | null;
stocks: (SimpleProductUpdate_productVariantStocksCreate_productVariant_stocks | null)[] | null;
trackInventory: boolean;
weight: SimpleProductUpdate_productVariantStocksCreate_productVariant_weight | null;
@ -1304,7 +1304,7 @@ export interface SimpleProductUpdate_productVariantStocksDelete_productVariant_p
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: SimpleProductUpdate_productVariantStocksDelete_productVariant_product_variants_media[] | null;
}
@ -1376,7 +1376,7 @@ export interface SimpleProductUpdate_productVariantStocksDelete_productVariant {
name: string;
product: SimpleProductUpdate_productVariantStocksDelete_productVariant_product;
channelListings: SimpleProductUpdate_productVariantStocksDelete_productVariant_channelListings[] | null;
sku: string;
sku: string | null;
stocks: (SimpleProductUpdate_productVariantStocksDelete_productVariant_stocks | null)[] | null;
trackInventory: boolean;
weight: SimpleProductUpdate_productVariantStocksDelete_productVariant_weight | null;
@ -1651,7 +1651,7 @@ export interface SimpleProductUpdate_productVariantStocksUpdate_productVariant_p
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: SimpleProductUpdate_productVariantStocksUpdate_productVariant_product_variants_media[] | null;
}
@ -1723,7 +1723,7 @@ export interface SimpleProductUpdate_productVariantStocksUpdate_productVariant {
name: string;
product: SimpleProductUpdate_productVariantStocksUpdate_productVariant_product;
channelListings: SimpleProductUpdate_productVariantStocksUpdate_productVariant_channelListings[] | null;
sku: string;
sku: string | null;
stocks: (SimpleProductUpdate_productVariantStocksUpdate_productVariant_stocks | null)[] | null;
trackInventory: boolean;
weight: SimpleProductUpdate_productVariantStocksUpdate_productVariant_weight | null;

View file

@ -272,7 +272,7 @@ export interface VariantCreate_productVariantCreate_productVariant_product_varia
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: VariantCreate_productVariantCreate_productVariant_product_variants_media[] | null;
}
@ -344,7 +344,7 @@ export interface VariantCreate_productVariantCreate_productVariant {
name: string;
product: VariantCreate_productVariantCreate_productVariant_product;
channelListings: VariantCreate_productVariantCreate_productVariant_channelListings[] | null;
sku: string;
sku: string | null;
stocks: (VariantCreate_productVariantCreate_productVariant_stocks | null)[] | null;
trackInventory: boolean;
weight: VariantCreate_productVariantCreate_productVariant_weight | null;

View file

@ -49,7 +49,7 @@ export interface VariantMediaAssign_variantMediaAssign_productVariant_product_va
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: VariantMediaAssign_variantMediaAssign_productVariant_product_variants_media[] | null;
}

View file

@ -49,7 +49,7 @@ export interface VariantMediaUnassign_variantMediaUnassign_productVariant_produc
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: VariantMediaUnassign_variantMediaUnassign_productVariant_product_variants_media[] | null;
}

View file

@ -272,7 +272,7 @@ export interface VariantUpdate_productVariantUpdate_productVariant_product_varia
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: VariantUpdate_productVariantUpdate_productVariant_product_variants_media[] | null;
}
@ -344,7 +344,7 @@ export interface VariantUpdate_productVariantUpdate_productVariant {
name: string;
product: VariantUpdate_productVariantUpdate_productVariant_product;
channelListings: VariantUpdate_productVariantUpdate_productVariant_channelListings[] | null;
sku: string;
sku: string | null;
stocks: (VariantUpdate_productVariantUpdate_productVariant_stocks | null)[] | null;
trackInventory: boolean;
weight: VariantUpdate_productVariantUpdate_productVariant_weight | null;
@ -619,7 +619,7 @@ export interface VariantUpdate_productVariantStocksUpdate_productVariant_product
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
media: VariantUpdate_productVariantStocksUpdate_productVariant_product_variants_media[] | null;
}
@ -691,7 +691,7 @@ export interface VariantUpdate_productVariantStocksUpdate_productVariant {
name: string;
product: VariantUpdate_productVariantStocksUpdate_productVariant_product;
channelListings: VariantUpdate_productVariantStocksUpdate_productVariant_channelListings[] | null;
sku: string;
sku: string | null;
stocks: (VariantUpdate_productVariantStocksUpdate_productVariant_stocks | null)[] | null;
trackInventory: boolean;
weight: VariantUpdate_productVariantStocksUpdate_productVariant_weight | null;

View file

@ -194042,16 +194042,10 @@ exports[`Storyshots Views / Products / Create product variant add first variant
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id"
data-shrink="false"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -194060,7 +194054,6 @@ exports[`Storyshots Views / Products / Create product variant add first variant
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value=""
/>
@ -194072,7 +194065,7 @@ exports[`Storyshots Views / Products / Create product variant add first variant
class="PrivateNotchedOutline-legendLabelled-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -194999,16 +194992,10 @@ exports[`Storyshots Views / Products / Create product variant default 1`] = `
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id"
data-shrink="false"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -195017,7 +195004,6 @@ exports[`Storyshots Views / Products / Create product variant default 1`] = `
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value=""
/>
@ -195029,7 +195015,7 @@ exports[`Storyshots Views / Products / Create product variant default 1`] = `
class="PrivateNotchedOutline-legendLabelled-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -195956,16 +195942,10 @@ exports[`Storyshots Views / Products / Create product variant no warehouses 1`]
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id"
data-shrink="false"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -195974,7 +195954,6 @@ exports[`Storyshots Views / Products / Create product variant no warehouses 1`]
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value=""
/>
@ -195986,7 +195965,7 @@ exports[`Storyshots Views / Products / Create product variant no warehouses 1`]
class="PrivateNotchedOutline-legendLabelled-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -196654,16 +196633,10 @@ exports[`Storyshots Views / Products / Create product variant when loading data
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id"
data-shrink="false"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -196673,7 +196646,6 @@ exports[`Storyshots Views / Products / Create product variant when loading data
class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id"
disabled=""
name="sku"
required=""
type="text"
value=""
/>
@ -196685,7 +196657,7 @@ exports[`Storyshots Views / Products / Create product variant when loading data
class="PrivateNotchedOutline-legendLabelled-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -197619,16 +197591,10 @@ exports[`Storyshots Views / Products / Create product variant with errors 1`] =
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-error-id MuiInputLabel-error-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-error-id MuiInputLabel-error-id"
data-shrink="false"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id MuiFormLabel-error-id MuiInputLabel-error-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-error-id MuiOutlinedInput-error-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -197637,7 +197603,6 @@ exports[`Storyshots Views / Products / Create product variant with errors 1`] =
aria-invalid="true"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value=""
/>
@ -197649,13 +197614,13 @@ exports[`Storyshots Views / Products / Create product variant with errors 1`] =
class="PrivateNotchedOutline-legendLabelled-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
</div>
<p
class="MuiFormHelperText-root-id MuiFormHelperText-contained-id MuiFormHelperText-error-id MuiFormHelperText-required-id"
class="MuiFormHelperText-root-id MuiFormHelperText-contained-id MuiFormHelperText-error-id"
>
A product with this SKU already exists
</p>
@ -205240,16 +205205,10 @@ exports[`Storyshots Views / Products / Product edit no stock and no variants 1`]
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
data-shrink="true"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -205258,7 +205217,6 @@ exports[`Storyshots Views / Products / Product edit no stock and no variants 1`]
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value="87192-94370"
/>
@ -205270,7 +205228,7 @@ exports[`Storyshots Views / Products / Product edit no stock and no variants 1`]
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -206858,16 +206816,10 @@ exports[`Storyshots Views / Products / Product edit no stock, no variants and no
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
data-shrink="true"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -206876,7 +206828,6 @@ exports[`Storyshots Views / Products / Product edit no stock, no variants and no
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value="87192-94370"
/>
@ -206888,7 +206839,7 @@ exports[`Storyshots Views / Products / Product edit no stock, no variants and no
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -208396,16 +208347,10 @@ exports[`Storyshots Views / Products / Product edit no variants 1`] = `
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
data-shrink="true"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -208414,7 +208359,6 @@ exports[`Storyshots Views / Products / Product edit no variants 1`] = `
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value="87192-94370"
/>
@ -208426,7 +208370,7 @@ exports[`Storyshots Views / Products / Product edit no variants 1`] = `
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -211528,16 +211472,10 @@ exports[`Storyshots Views / Products / Product edit when loading data 1`] = `
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id"
data-shrink="false"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -211547,7 +211485,6 @@ exports[`Storyshots Views / Products / Product edit when loading data 1`] = `
class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id"
disabled=""
name="sku"
required=""
type="text"
value=""
/>
@ -211559,7 +211496,7 @@ exports[`Storyshots Views / Products / Product edit when loading data 1`] = `
class="PrivateNotchedOutline-legendLabelled-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -214505,16 +214442,10 @@ exports[`Storyshots Views / Products / Product edit when product has no variants
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
data-shrink="true"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -214523,7 +214454,6 @@ exports[`Storyshots Views / Products / Product edit when product has no variants
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value="87192-94370"
/>
@ -214535,7 +214465,7 @@ exports[`Storyshots Views / Products / Product edit when product has no variants
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -232284,16 +232214,10 @@ exports[`Storyshots Views / Products / Product variant details attribute errors
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-error-id MuiInputLabel-error-id MuiFormLabel-filled-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-error-id MuiInputLabel-error-id MuiFormLabel-filled-id"
data-shrink="true"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id MuiFormLabel-error-id MuiInputLabel-error-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-error-id MuiOutlinedInput-error-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -232302,7 +232226,6 @@ exports[`Storyshots Views / Products / Product variant details attribute errors
aria-invalid="true"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value="1230959124123"
/>
@ -232314,13 +232237,13 @@ exports[`Storyshots Views / Products / Product variant details attribute errors
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
</div>
<p
class="MuiFormHelperText-root-id MuiFormHelperText-contained-id MuiFormHelperText-error-id MuiFormHelperText-filled-id MuiFormHelperText-required-id"
class="MuiFormHelperText-root-id MuiFormHelperText-contained-id MuiFormHelperText-error-id MuiFormHelperText-filled-id"
>
A product with this SKU already exists
</p>
@ -234193,16 +234116,10 @@ exports[`Storyshots Views / Products / Product variant details no warehouses 1`]
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
data-shrink="true"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -234211,7 +234128,6 @@ exports[`Storyshots Views / Products / Product variant details no warehouses 1`]
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value="1230959124123"
/>
@ -234223,7 +234139,7 @@ exports[`Storyshots Views / Products / Product variant details no warehouses 1`]
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -235875,16 +235791,10 @@ exports[`Storyshots Views / Products / Product variant details when loaded data
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-shrink-id MuiInputLabel-outlined-id MuiFormLabel-filled-id"
data-shrink="true"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -235893,7 +235803,6 @@ exports[`Storyshots Views / Products / Product variant details when loaded data
aria-invalid="false"
class="MuiInputBase-input-id MuiOutlinedInput-input-id"
name="sku"
required=""
type="text"
value="1230959124123"
/>
@ -235905,7 +235814,7 @@ exports[`Storyshots Views / Products / Product variant details when loaded data
class="PrivateNotchedOutline-legendLabelled-id PrivateNotchedOutline-legendNotched-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>
@ -237013,16 +236922,10 @@ exports[`Storyshots Views / Products / Product variant details when loading data
class="MuiFormControl-root-id MuiTextField-root-id MuiFormControl-fullWidth-id"
>
<label
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id MuiFormLabel-required-id MuiInputLabel-required-id"
class="MuiFormLabel-root-id MuiInputLabel-root-id MuiInputLabel-formControl-id MuiInputLabel-animated-id MuiInputLabel-outlined-id MuiFormLabel-disabled-id MuiInputLabel-disabled-id"
data-shrink="false"
>
SKU (Stock Keeping Unit)
<span
aria-hidden="true"
class="MuiFormLabel-asterisk-id MuiInputLabel-asterisk-id"
>
*
</span>
</label>
<div
class="MuiInputBase-root-id MuiOutlinedInput-root-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id MuiInputBase-fullWidth-id MuiInputBase-formControl-id"
@ -237032,7 +236935,6 @@ exports[`Storyshots Views / Products / Product variant details when loading data
class="MuiInputBase-input-id MuiOutlinedInput-input-id MuiInputBase-disabled-id MuiOutlinedInput-disabled-id"
disabled=""
name="sku"
required=""
type="text"
value=""
/>
@ -237044,7 +236946,7 @@ exports[`Storyshots Views / Products / Product variant details when loading data
class="PrivateNotchedOutline-legendLabelled-id"
>
<span>
SKU (Stock Keeping Unit) *
SKU (Stock Keeping Unit)
</span>
</legend>
</fieldset>

View file

@ -11,7 +11,7 @@ export interface ProductVariantList_product_variants {
__typename: "ProductVariant";
id: string;
name: string;
sku: string;
sku: string | null;
}
export interface ProductVariantList_product {

View file

@ -1645,6 +1645,7 @@ export enum ProductFieldEnum {
PRODUCT_MEDIA = "PRODUCT_MEDIA",
PRODUCT_TYPE = "PRODUCT_TYPE",
PRODUCT_WEIGHT = "PRODUCT_WEIGHT",
VARIANT_ID = "VARIANT_ID",
VARIANT_MEDIA = "VARIANT_MEDIA",
VARIANT_SKU = "VARIANT_SKU",
VARIANT_WEIGHT = "VARIANT_WEIGHT",
@ -2615,7 +2616,7 @@ export interface ProductTypeSortingInput {
export interface ProductVariantBulkCreateInput {
attributes: BulkAttributeValueInput[];
sku: string;
sku?: string | null;
trackInventory?: boolean | null;
weight?: any | null;
stocks?: StockInput[] | null;