saleor-dashboard/src/orders/components/OrderDetailsPage/OrderDetailsPage.stories.tsx

162 lines
3.7 KiB
TypeScript
Raw Normal View History

import placeholderImage from "@assets/images/placeholder60x60.png";
Use graphql-codegen (#1874) * Use generated hooks in apps * Remove unused files * Use proper types in apps * Use generated hooks in attributes * Use generated hooks in auth module * Use generated hooks in categories * Use generated hooks in channels * Use generated types in collections * Remove legacy types from background tasks * Use generated hooks in customers * Use generated hooks in discounts * Use generated hook in file upload * Use generated types in gift cards * Use generated types in home * Use generated hooks in navigation * Use generated hooks in orders * Use generated hooks in pages * Use generated hooks in page types * Use generated hooks in permission groups * Use generated hooks in plugins * Use generated hooks in products * Use fragment to mark product variants * Improve code a bit * Use generated hooks in page types * Use generated types in searches * Use generated hooks in shipping * Use generated hooks in site settings * Use generated hooks in staff members * Use generated hooks in taxes * Place all gql generated files in one directory * Use generated hooks in translations * Use global types from new generated module * Use generated hooks in warehouses * Use generated hooks in webhooks * Use generated fragment types * Unclutter types * Remove hoc components * Split hooks and types * Fetch introspection file * Delete obsolete schema file * Fix rebase artifacts * Fix autoreplace * Fix auth provider tests * Fix urls * Remove leftover types * Fix rebase artifacts
2022-03-09 08:56:55 +00:00
import {
FulfillmentStatus,
OrderStatus,
PaymentChargeStatusEnum,
Use graphql-codegen (#1874) * Use generated hooks in apps * Remove unused files * Use proper types in apps * Use generated hooks in attributes * Use generated hooks in auth module * Use generated hooks in categories * Use generated hooks in channels * Use generated types in collections * Remove legacy types from background tasks * Use generated hooks in customers * Use generated hooks in discounts * Use generated hook in file upload * Use generated types in gift cards * Use generated types in home * Use generated hooks in navigation * Use generated hooks in orders * Use generated hooks in pages * Use generated hooks in page types * Use generated hooks in permission groups * Use generated hooks in plugins * Use generated hooks in products * Use fragment to mark product variants * Improve code a bit * Use generated hooks in page types * Use generated types in searches * Use generated hooks in shipping * Use generated hooks in site settings * Use generated hooks in staff members * Use generated hooks in taxes * Place all gql generated files in one directory * Use generated hooks in translations * Use global types from new generated module * Use generated hooks in warehouses * Use generated hooks in webhooks * Use generated fragment types * Unclutter types * Remove hoc components * Split hooks and types * Fetch introspection file * Delete obsolete schema file * Fix rebase artifacts * Fix autoreplace * Fix auth provider tests * Fix urls * Remove leftover types * Fix rebase artifacts
2022-03-09 08:56:55 +00:00
} from "@saleor/graphql";
Introduce fulfillment creation API (#1241) * Display warehouse name for each fulfillment (#1259) * Hide no-stocks columns in fulfillment view (#1260) * Hide no-stocks columns in fulfillment view * Update tests * Refactor * Update tests * Add fulfillment settings card (#1242) * Add fulfillment setting card * Make fulfillment approvement naming consistent * Fix mutation bug * Update types * Trigger CI * Handle fulfillment acceptance on order details page (#1255) * Handle fulfillment acceptance on order details page * Make fulfillment approvement naming consistent * Update fulfillment schema and its usage * Render history events regarding waiting fulfillments (#1265) * Add awaiting for approval fulfillment order event * Fix warehouse name * Change fulfillment quantity calculation (#1267) * Change fulfillment quantity calculation * Fix warehouse name * Update messages * Trigger CI * Refactor * Fix refactor * Fix fulfillment for no variant * Allow creating fulfillments waiting for acceptance (#1248) * Fix fulfillment page style and typescript classname types perfomance issue * Allow creating fulfillments waiting for acceptance * Make fulfillment approvement naming consistent * Update schema * Add tooltip to fulfillment savebar * Update unpaid fulfillment creation restriction * Update fulfillment cration restriction * Update test snapshots * Add possibility to cancel "waiting" fulfillments (#1288) * Allow to cancel waiting fulfillments * Add delete button to fulfillment card * Update test snapshots * Handle waiting fulfillments on refund page (#1290) * Handle waiting fulfillments on refund page * Trigger CI * Trigger CI * Calculate quantity to refund on quantityToFulfill * Update changelog * Update snapshots Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2021-08-20 14:36:05 +00:00
import {
order as orderFixture,
shop as shopFixture,
2023-01-05 12:34:34 +00:00
} from "@saleor/orders/fixtures";
import Decorator from "@saleor/storybook/Decorator";
import { storiesOf } from "@storybook/react";
import React from "react";
import OrderDetailsPage, { OrderDetailsPageProps } from "./OrderDetailsPage";
2019-06-19 14:40:52 +00:00
const order = orderFixture(placeholderImage);
const props: Omit<OrderDetailsPageProps, "classes"> = {
2020-09-03 11:56:31 +00:00
disabled: false,
2019-06-19 14:40:52 +00:00
onBillingAddressEdit: undefined,
Introduce fulfillment creation API (#1241) * Display warehouse name for each fulfillment (#1259) * Hide no-stocks columns in fulfillment view (#1260) * Hide no-stocks columns in fulfillment view * Update tests * Refactor * Update tests * Add fulfillment settings card (#1242) * Add fulfillment setting card * Make fulfillment approvement naming consistent * Fix mutation bug * Update types * Trigger CI * Handle fulfillment acceptance on order details page (#1255) * Handle fulfillment acceptance on order details page * Make fulfillment approvement naming consistent * Update fulfillment schema and its usage * Render history events regarding waiting fulfillments (#1265) * Add awaiting for approval fulfillment order event * Fix warehouse name * Change fulfillment quantity calculation (#1267) * Change fulfillment quantity calculation * Fix warehouse name * Update messages * Trigger CI * Refactor * Fix refactor * Fix fulfillment for no variant * Allow creating fulfillments waiting for acceptance (#1248) * Fix fulfillment page style and typescript classname types perfomance issue * Allow creating fulfillments waiting for acceptance * Make fulfillment approvement naming consistent * Update schema * Add tooltip to fulfillment savebar * Update unpaid fulfillment creation restriction * Update fulfillment cration restriction * Update test snapshots * Add possibility to cancel "waiting" fulfillments (#1288) * Allow to cancel waiting fulfillments * Add delete button to fulfillment card * Update test snapshots * Handle waiting fulfillments on refund page (#1290) * Handle waiting fulfillments on refund page * Trigger CI * Trigger CI * Calculate quantity to refund on quantityToFulfill * Update changelog * Update snapshots Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2021-08-20 14:36:05 +00:00
onFulfillmentApprove: () => undefined,
2019-06-19 14:40:52 +00:00
onFulfillmentCancel: () => undefined,
onFulfillmentTrackingNumberUpdate: () => undefined,
2020-06-30 12:38:04 +00:00
onInvoiceClick: () => undefined,
2020-06-23 13:52:43 +00:00
onInvoiceGenerate: () => undefined,
onInvoiceSend: () => undefined,
2019-06-19 14:40:52 +00:00
onNoteAdd: undefined,
onOrderCancel: undefined,
onOrderFulfill: undefined,
Feature/order reissue (#910) * wip * wip * wip * wip * wip * wip * wip * wip * wip * wip * Add change to changelog * Remove console.log * Update tests * Extract messages * Add utils functions for selecting only ulfulfilled order lines * Add optional value selection for line item * Update tests * Add optional rendering of unfulfilled items card and refactor a bit * Update displaying of items card title when refunded card * UUpdate utils, form data etc. not to include refunded items when calculating replaced items amount * Uppdate return items card not to display replace buttons for refunded items * Refactor and small fixes after review * Update extracted messages * Fix card title when no fullfilemtn id * wip * Initially stitch returns page. Update types, add mutation * remove unnecessary component display names * Add loading status from form submission & refactor * Add errors from response * Add errors from response and refactor * Remove comments * Add optional error adding when no data from return create request * Update messages * wip * Update snapshots * Remove unnecessary console.log * Add better typing for getParsedLineData function * Update & refactor card title to match cards both in return and order details * Add handling of new statuses to order details cards. Also refactor, and devide order fulfillment card into couple of smaller components * Update messages * Update schema to match api * Update types * Update status label component to match colors with new designs and order details cards * RUpdate and refactor order fulfillment card components to be reusable. Also add replaced status handling * Updayte card title component to handle all cases and statuses * Update oorder unfulfilled items card and order details page, reduce some of the boilerplate * Fix card title types and adjust returns card to match * Update messages * Update snapshots * RUpdate order fulfillment card with subtitles and buttons for returned status * Add onRefund to order fulfillment card * Fix typo and wrong message in card title * Add missing condition in return form submission utils to decice if to refund products * Update fulfillment subtitles row and tests * Update messages * Change naming and locations of OrderFulfillment and items card components * Update messages * U[pdate names of components again to even better ones * Update messages * changelog * Update schema and types so that order history event also includes user first and last name * Add extended timeline event and event header components. Move some of the logic to utils and add way to display links in the event header. * FFix types * Update messages * Change naming of isOfType -> isTimelineEventOfType and refactor extended timeline event messages selection to be less complicated * Add ids and update messages * Add ids and update messages some more * Update storybook decorator to work with react router context in components and tests * Refactor after review * Update messages * Add rredirecting to draft order * Add handling draft creation from replacement * Add related order to order event fragment and update lots and lots of types * Update extended timeline event to match related order type on order history event * Update fixtures * Refactor ExtendedTimelineEvent Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com> * Fix typing * Update messages * Fix missing history event for replacement draft created for replaced products * Update messages * Handle new statuses for returned and partially returned orders * Update messages * update snapshots * BBump empty line to rebuild ci * Change status to proper color * Change replaceable items in return for replace to be auto off instead of on * Add utils functions and make order details menu not show option to return items when there are returnable items in the order * Fix replace checkbox showing when previously hidden and clicked set maximal quantities * Fix return form invalid money values * Add default values to avoid returning of NaN in utils for return amount and refactor * Add ggeneral error alerts * Add eproduct error box component and style. style a lot. * Fixes * Fix lint * Add cannot refund error title + description * Extract messages * Refactor after review * Add better, nicer and fancier imports to product error cell * Use error color from palette in product error cell * Fix max refund when 0 for return * Add ddisable ability to refund products button so it's disabled when 0 products selected * Add class for order return form data parsing and add condition to not do refund when total captured on order is 0 * Update snapshots * Add condition for order lines quantity in order products table row * Fix return amount submit button * Add change to changelog Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2021-01-20 16:16:43 +00:00
onOrderReturn: () => undefined,
2019-06-19 14:40:52 +00:00
onPaymentCapture: undefined,
onPaymentPaid: undefined,
onPaymentRefund: undefined,
onPaymentVoid: undefined,
onProductClick: undefined,
onProfileView: () => undefined,
onShippingAddressEdit: undefined,
2020-09-03 11:56:31 +00:00
onSubmit: () => undefined,
2019-10-25 13:31:27 +00:00
order,
errors: [],
Introduce fulfillment creation API (#1241) * Display warehouse name for each fulfillment (#1259) * Hide no-stocks columns in fulfillment view (#1260) * Hide no-stocks columns in fulfillment view * Update tests * Refactor * Update tests * Add fulfillment settings card (#1242) * Add fulfillment setting card * Make fulfillment approvement naming consistent * Fix mutation bug * Update types * Trigger CI * Handle fulfillment acceptance on order details page (#1255) * Handle fulfillment acceptance on order details page * Make fulfillment approvement naming consistent * Update fulfillment schema and its usage * Render history events regarding waiting fulfillments (#1265) * Add awaiting for approval fulfillment order event * Fix warehouse name * Change fulfillment quantity calculation (#1267) * Change fulfillment quantity calculation * Fix warehouse name * Update messages * Trigger CI * Refactor * Fix refactor * Fix fulfillment for no variant * Allow creating fulfillments waiting for acceptance (#1248) * Fix fulfillment page style and typescript classname types perfomance issue * Allow creating fulfillments waiting for acceptance * Make fulfillment approvement naming consistent * Update schema * Add tooltip to fulfillment savebar * Update unpaid fulfillment creation restriction * Update fulfillment cration restriction * Update test snapshots * Add possibility to cancel "waiting" fulfillments (#1288) * Allow to cancel waiting fulfillments * Add delete button to fulfillment card * Update test snapshots * Handle waiting fulfillments on refund page (#1290) * Handle waiting fulfillments on refund page * Trigger CI * Trigger CI * Calculate quantity to refund on quantityToFulfill * Update changelog * Update snapshots Co-authored-by: Jakub Majorek <majorek.jakub@gmail.com>
2021-08-20 14:36:05 +00:00
shop: shopFixture,
saveButtonBarState: "default",
2019-06-19 14:40:52 +00:00
};
2023-01-05 12:34:34 +00:00
storiesOf("Orders / Order details", module)
2019-06-19 14:40:52 +00:00
.addDecorator(Decorator)
.add("default", () => <OrderDetailsPage {...props} />)
.add("loading", () => <OrderDetailsPage {...props} order={undefined} />)
.add("pending payment", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: PaymentChargeStatusEnum.NOT_CHARGED,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("payment error", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: PaymentChargeStatusEnum.NOT_CHARGED,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("payment confirmed", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: PaymentChargeStatusEnum.FULLY_CHARGED,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("no payment", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: null,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("refunded payment", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: PaymentChargeStatusEnum.FULLY_REFUNDED,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("rejected payment", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
paymentStatus: PaymentChargeStatusEnum.NOT_CHARGED,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("cancelled", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
2020-07-01 14:58:29 +00:00
fulfillments: props.order.fulfillments.map(fulfillment => ({
2019-06-19 14:40:52 +00:00
...fulfillment,
status: FulfillmentStatus.CANCELED,
2019-06-19 14:40:52 +00:00
})),
status: OrderStatus.CANCELED,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("fulfilled", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
status: OrderStatus.FULFILLED,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("partially fulfilled", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
status: OrderStatus.PARTIALLY_FULFILLED,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("unfulfilled", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
status: OrderStatus.UNFULFILLED,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("no shipping address", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
shippingAddress: null,
2019-06-19 14:40:52 +00:00
}}
/>
))
.add("no customer note", () => (
<OrderDetailsPage
{...props}
order={{
...props.order,
customerNote: "",
2019-06-19 14:40:52 +00:00
}}
/>
));