2023-05-12 11:06:27 +00:00
|
|
|
import {
|
|
|
|
GiftCardEventsEnum,
|
|
|
|
OrderDetailsFragment,
|
|
|
|
PaymentChargeStatusEnum,
|
|
|
|
} from "@dashboard/graphql";
|
|
|
|
import {
|
|
|
|
grantedRefunds,
|
|
|
|
order,
|
|
|
|
ORDER_AMOUNT,
|
|
|
|
prepareMoney,
|
|
|
|
shop,
|
|
|
|
transactions,
|
|
|
|
} from "@dashboard/orders/fixtures";
|
|
|
|
import React from "react";
|
|
|
|
|
|
|
|
import OrderDetailsPage, { OrderDetailsPageProps } from "./OrderDetailsPage";
|
|
|
|
|
|
|
|
const props: Omit<OrderDetailsPageProps, "classes"> = {
|
Order details datagrid (#3325)
* Show available channels
* Add price and updatedAt columns
* Fix sorting, only sort on selected columns
* Sort by channel
* Allow delete name and product type
* Fix show not product found
* Extract mssages
* Product datagrid custom column picker
* Column picker in data grid in dirty hack for bug
* fix storybook props
* Restore Datagrid defalt column picker with custom render
* Add sort by attributes
* Use datagrid loading cells
* Fix product searching
* Show attributes before last updated
* Readonly all fields in datagrid
* Fix creating new datagrid row
* Remove add new procut button from datagrid
* Show only active sorted column
* Temp fix for column filter
* Fix column mismatch
* Add comments and spred props to ColumnPicker
* Cleanup
* Update avatar size and styles
* On row click with hover on row styles
* Use new theme
* Change placeholder image
* Draw rounded image with border
* Readonly product datagrid
* Use new theme colors in datagrid
* Add vertical borders control to datagrid
* Add empty column to add padding
* Add coursor to datagrid
* Restore vertical borders, fix cursor pointer
* Add custom freezed column
* Initial tooltip for column
* Move tooltip to datagrid
* Adjust datagrid colors style, add possibility to select column
* Change datagrid selected cells colors
* Fix typo and extract messages
* Base order datagrid
* Cleanup Datagrid component
* Cleanup and code refactor
* Remove cursor pointer props from readonlyCell
* Use money cell for total column
* Add custom cell renderers and fix types
* Simple tags implemenrtion for status and payment col
* Add colors from theme
* Make tagCell more dynamic
* Refactor Datagrid file structure
* Add loading indicators
* Selecting column without cells in readonly
* Add sort icons to orders list
* Refactor after CR. fix typos
* Change color of selected colum cell on hover
* Improve selected header text contrast
* Move useColumnPickerColumns to hooks dir with tests
* Add less padding to column picker button
* Remove double border top
* Fix cursor pointer for tagCell and moneyCell
* useGetCellContent hook
* On loading show only one row
* Add missing darkmod color for warning tag
* Refactor columns in datagrid
* Add new macaw theme provider to storybook
* Fix passing props in datagrid
* Trigger deployment
* Fix column picker in products
* useDatagridColumns
* Fix one more time
* Add column picker with default columns
* Change color for selected header change to textBrandDefault
* Remove unused code, move attributes colums as last
* Cleanup useDatagridColumns
* Improve DatagridProps
* Static datagrid for products (#3144)
* Migrate top nav of product list page to new MacawUI (#3290)
* feat: migrate top nav of product page
* feat: add proper deprecation links
---------
Co-authored-by: Michał Droń <dron.official@yahoo.com>
* Datagrin on order details intial
* Adjust ExtraInfoLines
* Remove padding on datagrid card content
* Remove datagrid card paddding (#3310)
* Disable column icon when no rows in orders
* Datagrid row hover show only when readonly and row clickable
* Implement card view for product list (#3292)
* Add temporary view switcher
* Add basic product tile view
* Bump macaw-ui
* Add ellipsis
* Bump macaw-ui
* Add status dot & fix non-rectangular thumbnails
* Bump macaw-ui
* Add variable size placeholder icon
* Improve loader
* Fix top nav menu key error
* Add pagination
* Add unit tests
* Extract messages
* Extract status color to function
* CR Refactor
* Hold product view state in local storage (#3315)
* Remember view state for product list
* Use util status function for status dots
* Datagrin in orderDraftDetails
* Remove not used components
* Fix for empty column and hover in datagrid for product (#3324)
* Remove datagrid card paddding (#3310)
* Fix for empty column and hover in datagrid for product (#3324)
* Use themeValues from macaw (#3326)
* Upgrade macaw
* Use themeValues
* Use themeValues from macaw (#3326)
* Upgrade macaw
* Use themeValues
* Add empty column from datagrid, improve theme types
* Use theme type from typeof
* Use empty column and themeValues
* Filter empty column from default
* New product header (#3346)
* Extraxt messages
* Remve title left padding
* Fix switching view
* Add margin right to nav button
* Improve view switch
* Update switch view icons
* Add spacing to switch
* Add more space
* Add new filterbar to order list
* Code refactor and tests
* Refactor OrderDraftDetailsDatagrid
* Extract messages
* Refactor OrderDraftDetailsDatagrid
* Update alert messages
* Extract messages
* Write unit tests
* Improve switch component
* Overwrite Pill styles
* Common method to get status color for pills
* Local Pill component POC
* Add ThemeProvider to test wrapper
* Extract messages
* Refactor Pill
* Fix Pill path
* Fix tests mocks
* Remove scrollbar and border bottom
* Add custom border to to datagrid
* Fix borders
* Fix border bottom
* Refactor and cleanup
* Remove not needed selectionActions code
* Move logic code t misc
* Fix scrollbar and zindex datagrid borders
* Fix product tiles condition
* Use utils functions, remove not used code
* Refactor to hooks
* Loading prps instead of disabled
* use getStatusColor
* Move getMenuItems to separate function
* Fix loading props
* Use empty colum hook in OrderDetailsDatagrid
* Fix empty column when save column change
* Fix bottom line in layout overlap
* Show moneCell with discounted price
* Make quantity ediable in order draft datagrid
* Readonly datagrid cells
* Update onyl when column is quantity
* Fix message
* Keep first column in datagrid not removable
* Fix for not existing column
* Add loader over datagrid, fix problem with border top when empty text in variants
* Fix error color and change color in datagrid
* Use formatMoneyAmount
* Fix remove order draft product with discount
* Extract messages
* Add product sku to order draft details datagrid
* Fix loading state and change cell color
* Add MoneyDiscuntedCell
* Use MoneyDiscuntedCell in order draft details datagrid
* Add trash bin icon
* Restor discount modal for order draft summary
* Fix problem with deleting quantity
* Improve await for promises and handler zero quantity error
* Fix column order issue
* Add discount modal box shadow
* Allow decimal as percentage value for discount
* Fix max fixed value
* Remove double border
* Fix z-index issue on discount modal
* Remove padding on order details datagrid
* Add proper error message to common discount modal
* Fix is submit disabled
* Move status as last column in datagrid
* Add padding to money discount cell editor
* Make quantity column smaller
* Fix recalculating disount value
* Fix calculate change discount type
* Store calculated value without triming decimal, trim decimal in input
* Refactor money cells
* markCellsDirty rename to areCellsDirty
* Remove discount from MoneyCell
* Use const to store row height in discount editor
* Fix copy in discount modal
* Remove past on money discount cell
* Remove locale in product varaints
* Fix nullable sku
* Extract messages
* Fix keeping always first column
* Remove padding on tracking info
* Fix story
* Fix render 0 money amount
* Fix displaying not empty string money
* adding new tests: add new product, change quantity, add inline discount, delete product for grid - on orders details view (#3652)
* adding new e2e for grid on orders details view
* merging conflicts fix - and adding new TC numbers to new tests
* trigger tests
* failing tests fixes
---------
Co-authored-by: Michał Droń <dron.official@yahoo.com>
Co-authored-by: Krzysztof Żuraw <9116238+krzysztofzuraw@users.noreply.github.com>
Co-authored-by: Michał Droń <droniu@droniu.dev>
Co-authored-by: wojteknowacki <124166231+wojteknowacki@users.noreply.github.com>
Co-authored-by: wojteknowacki <wojciech.nowacki@saleor.io>
2023-05-18 07:52:13 +00:00
|
|
|
loading: false,
|
2023-05-12 11:06:27 +00:00
|
|
|
onBillingAddressEdit: undefined,
|
|
|
|
onTransactionAction: () => undefined,
|
|
|
|
onFulfillmentApprove: () => undefined,
|
|
|
|
onFulfillmentCancel: () => undefined,
|
|
|
|
onFulfillmentTrackingNumberUpdate: () => undefined,
|
|
|
|
onInvoiceClick: () => undefined,
|
|
|
|
onInvoiceGenerate: () => undefined,
|
|
|
|
onInvoiceSend: () => undefined,
|
|
|
|
onNoteAdd: undefined,
|
|
|
|
onOrderCancel: undefined,
|
|
|
|
onOrderFulfill: undefined,
|
|
|
|
onOrderReturn: () => undefined,
|
|
|
|
onPaymentCapture: undefined,
|
|
|
|
onMarkAsPaid: undefined,
|
|
|
|
onPaymentVoid: undefined,
|
|
|
|
onPaymentRefund: undefined,
|
|
|
|
onProductClick: undefined,
|
|
|
|
onProfileView: () => undefined,
|
|
|
|
onShippingAddressEdit: undefined,
|
|
|
|
onSubmit: () => undefined,
|
|
|
|
onAddManualTransaction: () => undefined,
|
|
|
|
order: order(null),
|
|
|
|
errors: [],
|
|
|
|
shop,
|
|
|
|
saveButtonBarState: "default",
|
|
|
|
};
|
|
|
|
|
|
|
|
export default {
|
|
|
|
title: "Orders / Order details / transactions",
|
|
|
|
};
|
|
|
|
|
|
|
|
export const Preauthorized = () => (
|
|
|
|
<OrderDetailsPage
|
|
|
|
{...props}
|
|
|
|
order={{
|
|
|
|
...props.order,
|
|
|
|
isPaid: false,
|
|
|
|
totalAuthorized: prepareMoney(),
|
|
|
|
totalCharged: prepareMoney(0),
|
|
|
|
paymentStatus: PaymentChargeStatusEnum.NOT_CHARGED,
|
|
|
|
transactions: transactions.preauthorized,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
|
|
|
|
export const Pending = () => (
|
|
|
|
<OrderDetailsPage
|
|
|
|
{...props}
|
|
|
|
order={{
|
|
|
|
...props.order,
|
|
|
|
isPaid: false,
|
|
|
|
paymentStatus: PaymentChargeStatusEnum.PENDING,
|
|
|
|
transactions: transactions.pendingCharge,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
|
|
|
|
export const Success = () => (
|
|
|
|
<OrderDetailsPage
|
|
|
|
{...props}
|
|
|
|
order={{
|
|
|
|
...props.order,
|
|
|
|
isPaid: true,
|
|
|
|
totalAuthorized: prepareMoney(0),
|
|
|
|
totalCharged: prepareMoney(),
|
|
|
|
paymentStatus: PaymentChargeStatusEnum.FULLY_CHARGED,
|
|
|
|
transactions: transactions.chargeSuccess,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
|
|
|
|
export const PartialCapture = () => (
|
|
|
|
<OrderDetailsPage
|
|
|
|
{...props}
|
|
|
|
order={{
|
|
|
|
...props.order,
|
|
|
|
isPaid: true,
|
|
|
|
totalAuthorized: prepareMoney(ORDER_AMOUNT - 10),
|
|
|
|
totalCharged: prepareMoney(10),
|
|
|
|
paymentStatus: PaymentChargeStatusEnum.PARTIALLY_CHARGED,
|
|
|
|
transactions: transactions.chargePartial,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
|
|
|
|
export const Failed = () => (
|
|
|
|
<OrderDetailsPage
|
|
|
|
{...props}
|
|
|
|
order={{
|
|
|
|
...props.order,
|
|
|
|
isPaid: false,
|
|
|
|
paymentStatus: PaymentChargeStatusEnum.REFUSED,
|
|
|
|
transactions: transactions.chargeFail,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
|
|
|
|
export const RefundRequested = () => (
|
|
|
|
<OrderDetailsPage
|
|
|
|
{...props}
|
|
|
|
order={{
|
|
|
|
...props.order,
|
|
|
|
isPaid: true,
|
|
|
|
totalAuthorized: prepareMoney(0),
|
|
|
|
totalCharged: prepareMoney(),
|
|
|
|
paymentStatus: PaymentChargeStatusEnum.FULLY_CHARGED,
|
|
|
|
transactions: transactions.refundRequested,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
|
|
|
|
export const RefundGranted = () => (
|
|
|
|
<OrderDetailsPage
|
|
|
|
{...props}
|
|
|
|
order={{
|
|
|
|
...props.order,
|
|
|
|
isPaid: true,
|
|
|
|
grantedRefunds,
|
|
|
|
totalGrantedRefund: prepareMoney(),
|
|
|
|
totalAuthorized: prepareMoney(0),
|
|
|
|
totalCharged: prepareMoney(),
|
|
|
|
paymentStatus: PaymentChargeStatusEnum.FULLY_CHARGED,
|
|
|
|
transactions: transactions.chargeSuccess,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
|
|
|
|
export const RefundCompleted = () => (
|
|
|
|
<OrderDetailsPage
|
|
|
|
{...props}
|
|
|
|
order={{
|
|
|
|
...props.order,
|
|
|
|
isPaid: true,
|
|
|
|
grantedRefunds,
|
|
|
|
totalRefunded: prepareMoney(),
|
|
|
|
totalAuthorized: prepareMoney(0),
|
|
|
|
totalCharged: prepareMoney(0),
|
|
|
|
paymentStatus: PaymentChargeStatusEnum.FULLY_REFUNDED,
|
|
|
|
transactions: transactions.refundCompleted,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
|
|
|
|
export const PartialRefundCompleted = () => (
|
|
|
|
<OrderDetailsPage
|
|
|
|
{...props}
|
|
|
|
order={{
|
|
|
|
...props.order,
|
|
|
|
isPaid: true,
|
|
|
|
grantedRefunds,
|
|
|
|
totalRefunded: prepareMoney(10),
|
|
|
|
totalAuthorized: prepareMoney(0),
|
|
|
|
totalCharged: prepareMoney(ORDER_AMOUNT - 10),
|
|
|
|
paymentStatus: PaymentChargeStatusEnum.PARTIALLY_REFUNDED,
|
|
|
|
transactions: transactions.refundPartial,
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
);
|
|
|
|
|
|
|
|
export const PaidWithGiftcard = () => (
|
|
|
|
<OrderDetailsPage
|
|
|
|
{...props}
|
|
|
|
order={
|
|
|
|
{
|
|
|
|
...props.order,
|
|
|
|
isPaid: true,
|
|
|
|
transactions: [],
|
|
|
|
paymentStatus: PaymentChargeStatusEnum.FULLY_CHARGED,
|
|
|
|
// gift cards are treated as dicounts
|
|
|
|
total: {
|
|
|
|
net: prepareMoney(0),
|
|
|
|
gross: prepareMoney(0),
|
|
|
|
tax: prepareMoney(0),
|
|
|
|
__typename: "TaxedMoney",
|
|
|
|
},
|
|
|
|
giftCards: [
|
|
|
|
{
|
|
|
|
__typename: "GiftCard",
|
|
|
|
id: "R2lmdENhcmQ6Ng==",
|
|
|
|
last4CodeChars: "43FA",
|
|
|
|
events: [
|
|
|
|
{
|
|
|
|
__typename: "GiftCardEvent",
|
|
|
|
id: "R2lmdENhcmRFdmVudDo1",
|
|
|
|
type: GiftCardEventsEnum.ISSUED,
|
|
|
|
orderId: null,
|
|
|
|
date: "2022-09-20T13:00:42.676174+00:00",
|
|
|
|
balance: {
|
|
|
|
__typename: "GiftCardEventBalance",
|
|
|
|
initialBalance: prepareMoney(),
|
|
|
|
currentBalance: prepareMoney(),
|
|
|
|
oldInitialBalance: null,
|
|
|
|
oldCurrentBalance: null,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
__typename: "GiftCardEvent",
|
|
|
|
id: "R2lmdENhcmRFdmVudDo2",
|
|
|
|
type: GiftCardEventsEnum.USED_IN_ORDER,
|
|
|
|
orderId: props.order.id,
|
|
|
|
date: "2022-09-20T13:04:20.017419+00:00",
|
|
|
|
balance: {
|
|
|
|
__typename: "GiftCardEventBalance",
|
|
|
|
initialBalance: null,
|
|
|
|
currentBalance: prepareMoney(0),
|
|
|
|
oldInitialBalance: null,
|
|
|
|
oldCurrentBalance: prepareMoney(),
|
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
],
|
|
|
|
} as OrderDetailsFragment
|
|
|
|
}
|
|
|
|
/>
|
|
|
|
);
|